Objective-C基本数据类型、表达式和语句
一。基本数据类型
1.一般的计算机语言在定义变量的时候,需要提供给两个内容:类型和名字。
比如:int myClassID;
2.在Xcode中,无论你使用的是GCC编译器还是LLVM编译器,如果我们没有为整型变量的值进行初始化,在编译的过程中,编译器都会自动为其附上值0.
3.整数类型:三种。int、short、long。
浮点数类型:两种:float、double。
字符类型:一种:char。
指针类型:*。所谓的指针变量即明确地指向一个内容地址。
结构体:struct。
二。命名规则
1.计算机的世界中不存在无名氏,即使那些由于开发者疏忽造成的“孤魂野鬼”编译器在编译的时候也一定会为他们附上特殊的名字。
2.命名错误
3.命名规范:
a。在C语言中,“匈牙利命名法”广受开发者的喜爱。规则:变量名=变量特性+变量类型+描述。
b。OC的属性存取特性:类成员变量一般会命名成:_+描述。
c。变量名的“描述”部分,我们一般采用驼峰式命名法,即每个单词的首字母大写,但是OC中变量名的第一位一般需要小写。
比如:NSString *strUnitTestResult;
NSString *unitTestResult;
而用下划线区别单词的驼峰命名法在OC中使用得相对较少。如:NSString *unit_Test_Result;
4.命名空间
b。在C++语言中,为了区分相同的命名而采用namespace机制。这样,我们就可以将本地的工程命名为一个组,将其他团队的库命名为一个组,将第三方库命名为一个组,当调用某个元素的时候,我们不仅需要提供元素的名字,还要带上元素所在的组。
c。对于C和OC,不采用namespace的机制,但是我们可以在元素命名时为名字加上不同的前缀,一样可以达到namespace的作用。
如:当在定义定义一些全局可见的变量时,往往也会以“前缀”的方式来表明唯一性。
像:
enum{
kTestDomainErrParam,
kTestDomainErrPipe,
kTestDomainErrFile,
};
枚举器中的变量定义了kTestDomain为它的前缀。
三。表达式
1.算术运算符
2.比较运算符
3.逻辑运算符
4.位运算符
四。语句
Objective-C基本数据类型、表达式和语句的更多相关文章
- Java代码三级跳——表达式、语句和代码块
Java代码三级跳—表达式.语句和代码块 表达式(expression):Java中最基本的一个运算.比如一个加法运算表达式.1+2是一个表达式,a+b也是. 语句(statement):类似于平时说 ...
- 【.net 深呼吸】细说CodeDom(2):表达式、语句
在上一篇文章中,老周厚着脸皮给大伙介绍了代码文档的基本结构,以及一些代码对象与CodeDom类型的对应关系. 在评论中老周看到有朋友提到了 Emit,那老周就顺便提一下.严格上说,Emit并不是针对代 ...
- C Primer Plus_第5章_运算符、表达式和语句_编程练习
Practice 1. 输入分钟输出对应的小时和分钟. #include #define MIN_PER_H 60 int main(void) { int mins, hours, minutes; ...
- JavaScript学习笔记-表达式和语句
表达式和语句 eval( ) 只有一个参数 参数非字符串时,直接返回这个参数: 参数为字符串时,它把字符串当成JavaScript代码进行编译,编译失败则抛出语法错误,编译成功则执行代码,并返回最后一 ...
- 小猪猪C++笔记基础篇(五)表达式、语句
小猪猪C++笔记基础篇(五) 关键词:表达式.语句 本章的内容比较简单,基本上没有什么理解上的困难,都是知识上的问题.先开始想要不要写呢,本来是不准备写的,但是既然读了书就要做笔记,还是写一写,毕竟还 ...
- C--运算符,表达式和语句实例
//第五章 运算符,表达式和语句 #include<stdio.h> //引入头文件 #include<math.h> #define ADJUST 7.64 //定义常量 # ...
- C#表达式和语句
表达式由操作数 (operand) 和运算符 (operator) 构成.表达式的运算符指示对操作数适用什么样的运算.运算符的示例包括+.-.*./ 和 new.操作数的示例包括文本.字段.局部变量和 ...
- C# - 表达式与语句
表达式与语句(Expression&Statement) 操作数(Operands) 1.数字.2.字符.3.变量.4.类型.5.对象.6.方法 操作符(Operator) 参考:C# - 操 ...
- C语言之运算符、表达式和语句
#include<stdio.h> #define ADJUST 7.31 int main(void) { const double SCALE = 0.333; double shoe ...
- js 表达式与语句
引子:表达式和语句很基础,但是有时会犯错,比如: function(){}//报错 (function(){})//不报错 function f(x){ return x + 1 }()//报错 fu ...
随机推荐
- struts2标签获取parameter,request,session,application中的值
http://localhost:8080/demo/index.jsp?flag=kkkk <s:property value="#parameters.flag" /&g ...
- [经验总结]利用xlstproc处理XSLT的makefile
转自:http://blog.csdn.net/thinkhy/article/details/5343739 # For XSLT PARSE = xsltproc SRC = main.xml S ...
- NodeJS常用工具
一.NodeJS版本管理器n或者nvm npm install -g n npm install n -g --registry=https://registry.npm.taobao.org --v ...
- 将access数据库导入mysql
一般地,直接在mysql端,导入时选择access文件就行:但是若access数据库版本太老,导入mysql时会出错: 这时,就需要借助access 2003,对原始数据进行转换为2003版本数据,即 ...
- [Flex] PopUpButton系列 —— 设置弹出菜单与主按钮之间的间隔
<?xml version="1.0" encoding="utf-8"?><!--设置弹出菜单与主按钮之间的间隔 PopUpButtonPo ...
- [Flex] ButtonBar系列——flex3 ButtonBar属性labelPlacement标签相对于指定图标的方向
<?xml version="1.0" encoding="utf-8"?> <mx:Application xmlns:mx="h ...
- [转] iOS开发之使用lipo命令制作模拟器与真机通用静态库
转自 http://blog.csdn.net/jinglijun/article/details/8276089 通常在项目中使用静态库的时候都会有两个版本,一个用于模拟器,一个用于真机,因为Mac ...
- C++调用WebService服务问题总结
近期接手一部分C++研发工作,同时与.NET开发小组进行软件功能协作,于是需要调用.NET WebService服务,已完成数据的网络通讯业务功能:结束之余,将手头碰到的问题总结罗列如下: C++如何 ...
- 如何绕过CDN找源站ip?
这是一个总结帖,查了一下关于这个问题的国内外大大小小的网站,对其中说的一些方法总结归纳形成,里面具体发现ip的方法不是原创,所有参考的原贴都也贴在了后面,大家可以自行看看原贴. 首先,先要明确一个概念 ...
- MVC+EF更新数据库
要使用代码先行提供的迁移功能来保证模型和数据库自动匹配,在库程序包管理器里依次执行以下命令:1.启用迁移功能:Enable-Migrations -ContextTypeName MvcMovie.M ...