Object-C基础(1)—— 变量名与类型

来源:互联网 发布:程序员微电影 编辑:程序博客网 时间:2024/06/10 02:30

   

标识符

      给程序中的各种成员、角色起一个名字,方便程序员使用。

      变量名、函数名、类…都需要标识符。

      

      标识符的定义需要遵循一些规则:

     ① 大小写是区分的。

            int ab;

            int Ab;

            上面两个标识符 ab 和 Ab 代表不同的标识符。

     ②可以由字母、数字、下划线_和美元符号$组成,但是不能以数字开头。

     ③不能是Object-C里的关键字,但是可以包括关键字。

           int _int;  √

           int  int;   ×

     ④不能包括分隔符和运算符。

             int in,t; ×

变量

     语法:

            声明变量: <数据类型><变量名>[=<初始值>];   PS:<>表示必须有的,但可变的,[]表示可选的。

                     //声明变量的时候同时初始化

                    int  i1 = 10;

                     //变量必须要初始化以后才能使用

                    int  i2;

                     给变量赋值:<变量名> = <新的、相同类型的值>;

                     //第一次给变量赋予值,叫做初始化

                     i2 =100;

                     //……

                     i2 =593;

              一个示范程序

             #import<Foundation/Foundation.h>

             int main(intargc,char * argv[])

             {

                    inti1 = 100;

                   int i2;

                   NSLog(@”%d”,i1);//此处输出100是确定的

                   //为了确保变量的值是确定的,一定要给变量赋值

                   NSLog(@”%d”,i2);//此处输出什么是不确定的,取决于分配给变量的内存块存储的值是什么

             }


数据类型

        基本类型

                四个整数类型:

                        short int : 也就是short,占16位,短的整数

                         int : 占32位,整数

                         long int : 也就是long,占64位,长整数

                         long long : 占64位,长整数

                         在Object-C里面,整数大小范围是不固定的,上面的范围只是通常的范围,需要使用sizeof 函数来计算。

                          sizeof可以用来计算变量占用了多少内存,通常占用多少字节内存来计算多少位,就可以知道实际范围。

                          Object-C整数特点

                                没有硬性规定整数所占的空间

                                但通常:short最小,int必须比short大,long比int 大,long long 比long 大

                                可以用sizeof()函数看到实际占用大空间

                          unsigned : 可以在整数类型前面加上unsigned,表示该整数的最高位不是符号位,而是数值位,这样变量不能表示负数,但是正整数会大一倍。

                三种表示形式

                        八进制 : 0 开头

                        十进制 : 默认

                        十六进制 :0x开头

                 两个浮点类型

                         float: 32位

                         double : 64位,双精度浮点,表示的范围更宽。

                          实际使用的时候,更多使用double。

                 BOOL类型

                       用于逻辑判断,有两个值,YES和NO,BOOL型本质是整数,可以直接把整数赋予给BOOL型的变量。另外,BOOL只是表示真假,所以不该有其他的值,故不建                          议在实际工作中使用数字代替YES、NO。

                 char类型

                       char表示字符,使用一个字节存储。所以单个的char变量无法存储中文。本质上,char是一个无符号整数。

                 枚举型

                       定义方法:①enum<枚举名>{<N个枚举值,使用逗号隔开>};

                                           ②enum{<N个枚举值>}<变量名1>,<变量名2>, ……

数据类型转换

      自动类型转换

             把整数、字符的变量赋值给浮点,值没有变化

             把浮点变量复制整数、字符,数值的小数点会被丢弃

             当把取值范围大的变量赋值给取值范围小的变量时,可能会发生溢出。

       强制类型转换

            <原始类型> <变量1>  =<值>;

            <目标类型><变量2> = (<目标类型>) <变量1>;

       表达式类型自动提升

             表示范围比较广的变量,和范围小的变量运算时,结果的类型和范围广的类型相同

运算符

      算术运算符: + 、- 、* 、/ 、% 、++、--

      赋值运算符: =

      从右向左计算, 先把右边计算出来,再将计算出来的值“放入”左边的变量中。

      位运算符:>> :  右移N位,相当于除以2的N次方。

                          << :  左移N位,相当于乘以2的N次方。

                           &  : 与

                            | :或

                           ~ :非

                           ^ :异或

    扩展后的赋值运算符: +=、-=、*=、/=……,几乎所有的双目运算符都可以与=结合成扩展后的赋值运算符。

    比较运算符:比较两个值、变量、表达式之间大小关系的运算符。得到结果总是BOOL值(其实0或1)

    逻辑运算符:&& :与

                            || : 或

                             ! : 非

                             ^ : 异或

    逗号运算符 : ,

    三目运算符 : ? :

    不同运算符有优先级(谁先、谁后)和结合性(控制从左到右,从右向左)

     最好的方式,通过括号来保证运算符谁先、谁后。


1 0
原创粉丝点击