OC基础语法1省名师优质课赛课获奖课件市赛课百校联赛优质课一等奖课件_第1页
OC基础语法1省名师优质课赛课获奖课件市赛课百校联赛优质课一等奖课件_第2页
OC基础语法1省名师优质课赛课获奖课件市赛课百校联赛优质课一等奖课件_第3页
OC基础语法1省名师优质课赛课获奖课件市赛课百校联赛优质课一等奖课件_第4页
OC基础语法1省名师优质课赛课获奖课件市赛课百校联赛优质课一等奖课件_第5页
已阅读5页,还剩29页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

Objective-C基础语法1/34关键内容标识符关键字OC基本数据类型运算符表示式和语句分支和循环变量作用域2/34标识符正当标识符非法标识符ZhangSanifDogGirl*#_998^sad90$as_34d34_sdfOC语言中,对各种变量、方法和类等要素命名时使用字符序列称为标志符。标识符由字母、下划线“_”、美元符“$”和数字组成标识符必须以字母、下划线、美元符号开头标识符大小写敏感,长度无限制oc标识符有以下命名规则:约定俗成:oc标识符选取要“见名之意”,而且不能与oc中保留字重名。3/34关键字intenumfloatgotodoubleregistershortsizeofstructtypedefunsignedvolatilebreakcharcontinuedolongexternforwhileautoreturnsignedstaticswitchunionvoidifcaseconstdefaultelseOC中一些含有特定含义,系统专门使用字符串称为“保留字”,或者叫“关键字”(keyword)。OC中关键字全部都是小写。4/34OC常量如整型常量:3456实型常量:3.1415926字符常量:‘a’逻辑常量:true、false字符串常量:“helloiphone”OC中常量值用字符串表示,区分不一样数据类型区分字符常量和字符串常量注意:5/34OC变量OC变量是程序中最基本存放单元,其要素包含变量名,变量类型和作用域。OC程序中每一个变量都属于特定数据类型,在使用前必须对其申明,申明格式为:typevarName[=value];比如: inti=580; floatf=12.12f; doubled=0.798; NSString*s=@"helloiphone";从本质上讲,变量其实是内存中一小块区域,使用变量名来访问这块区域,所以,每一个变量使用前必须要先申请(申明),然后必须进行复制(填充内容),才能使用。6/34程序执行过程硬盘程序1.Load代码到内存区代码操作系统代码alloc出来局部变量静态变量和字符串变量存放代码内存2.从main函数开始执行堆栈数据区代码区2.执行过程中内存管理7/34OC变量分类局部变量:方法或语句块内部定义变量实例变量:方法外部、类内部定义变量按被申明位置划分:基本数据类型变量指针数据类型变量按所属数据类型划分:8/34OC局部变量与组员变量方法体内部申明变量(包含形参)称为局部变量:方法体内部是指与方法对应大括号内部在方法体外,类体内申明变量称为“实例变量”或者“组员变量”-(void)getName{ inta; intb=a+5;//编译警告,变量a还未被初始化 floatc=2.8;}9/34OC数据类型数据类型基本数据类型指针数据类型数值型字符型(char)布尔型空类型(void)类(class)id整数类型int浮点型float,double10/34C和OC基本数据类型int:申明整形变量double:申明双精度变量float:申明浮点型变量char:申明字符型变量id:通用指针类型enum:申明枚举类型long:申明长整形变量或函数short:申明短整型变量或函数signed:申明有符号类型变量union:申明共用体(联合)数据类型unsigned:申明无符号类型变量void:申明函数无返回值或无参数11/34数据类型格式化说明符数据类型OC关键字格式说明引导符整型int%d、%i短整型shortint%hd、%hi长整形longint%ld、%li无符号短整型unsignedint%u无短整型unsignedshort%hu无符号长整形unsignedlong%lu类型名OC关键字格式引导说明符浮点型float%f双精度型double%f长双精度longdouble%lf字符型char%c12/34整数类型OC中整数类型用int来表示,格式化符号用%i或d%来表示比如:inta=100;OC语言整型常量默认为int型,申明long型常量能够后加‘l’或‘L’,如:intb=600;//正确longc=888888888888L;13/34浮点类型类型占用存放空间至于范围float4字节-3.403E38double8字节-1.798E3.8--1.798E浮点类型变量能够存放包含小数值OC中浮点型常量默认为double型,假如要申明一个常量为float,在数字后面加f或F。doublem=3.14159;//正确floatf=3.14f;下面列出OC各种浮点类型float 有效数字为6~7位,格式化说明符号用%f表示double 有效数字为15~16位格式化说明符号用%f,%e或%g表示OC中有两种浮点类型14/34字符charChar型数据用来表示通常意义上“字符”,格式化说明符用%c表示字符常量为用单引号括起来单个字符,比如:charachar=‘a’;charb='0';charcChar='苹';值域范围:-128~127"\n",OC编译器把这个看成单个字符unsignedchar值域范围:0~255OC字符采取Unicode编码,每个字符占两个字节,因而可用十六进制编码形式表示,比如:charc1='\u0061';注:Unicode是全球语言统一编码15/34char類型(ASCII碼)16/34逻辑型BooleanBoolean类型指是用于存放真值和假值变量,普通用于程序流程控制。Boolean类型数据允许取值true或false,也能够是0或非0整数替换true和false,这点和java语言不通。java里面boolean是基本数据类型,Boolean是它封装类,和其它类一样,有属性有方法,能够new.实例: Booleanflag=true; if(flag) { NSLog(@"HelloiPhone"); }17/34限定词longint: 申明变量xx为long整形变量。格式化符为%li,如:longinta;longlongint: 申明变量xx为longlong整形变量,格式化符%lli,如:longlongintb;longdouble: 跟int基本相同unsignedint: 申明无符号整型变量。如:unsignedintc;signedint: 申明有符号整型变量。如:signedintd;18/34void类型告诉编译器没有任何范围类型值不能像其它数据类型一样来申明变量比如:voidi=10; //错误void通常与方法一起搭配使用,比如:-(void)test{ //code}19/34id类型id类型是oc中独有数据类型。在概念上,类似JavaObject类,能够转换为任何数据类型,能够存放任何类型对象,从某种意义上说,它就是普通对象模型。在内部处理上,这种类型被定义为指向对象指针,将number申明为id类型变量。如:idnumber;格式化说明符:%p20/34基本数据类型转换OC中能够从任意基本数据类型转型到另外基本类型转换分为默认转换和强制转换整型,字符型,浮点型数据在混合运算中相互转换,转换时需遵照以下标准:容量小类型默认转换为容量大数据类型;数据类型按容量大小排序为:Byte,short,char-->int-->long-->float-->doubleByte,short,char之间不会相互转换,他们三者在计算时首先会转换成int类型。容量大数据类型转换成容量小数据类型,要加上强制转换符,但可能造成精度降低或溢出;使用时要格外注意。实数常量(如:2.9)默认为double,整数常量(如:123)默认为int21/34运算符OC语言支持以下运算符:算数运算符:+,-,*,/,%,++,--关系运算符:>,<,>=,<=,==,!=逻辑运算符:!,&,|,^,&&,||位运算符:&,|,^,~,>>,<<,>>>赋值运算符:=扩展赋值运算符:+=,-=,*=,/=22/34自加和自减运算符-(void)getNumber{ inti1=10,i2=12; inti=i2++; NSLog(@"i=%d",i); NSLog(@"i2=%d",i2); i=++i2; NSLog(@"i=%d",i); NSLog(@"i2=%d",i2); i=--i1; NSLog(@"i=%d",i); NSLog(@"i1=%d",i1); i=i1--; NSLog(@"i=%d",i); NSLog(@"i1=%d",i1);}输出:i=12i2=13i=14i2=14i=9i1=9i=9i1=8注意:++(--)在前时先运算再取值在后时先取值再运算23/34逻辑运算符逻辑运算符:!:逻辑非&:逻辑与|:逻辑或^:逻辑异或&&:短路与||:短路或-(void)test{ Booleana,b,c; a=true;b=false; c=a&b; NSLog(@"c",c); c=a|b;NSLog(@"c",c); c=a^b;NSLog(@"c",c); c=!a;NSLog(@"c",c); c=a&&b;NSLog(@"c",c); c=a||b;NSLog(@"c",c);}-(void)test{ inti=3,j=4; Booleanflag3=(i>3)&&((i+j)>5); //第二个操作数不再计算 Booleanflag4=(i<2)||((i+j)<6) }24/34赋值运算符与扩展运算符赋值运算符(=)当“=”两侧数据类型不一致时,能够适用默认类型转换或适用强制类型转换标准进行处理 longl=100; inti=(int)l;注意:能够将整型常量直接赋值给Byte,short,char等类型变量,而不需要进行强制类型转换,只要不超出其数据范围 Byteb=11; charc=456;运算符使用方法举例等效表示式+=a+=ba=a+b-=a-=ba=a-b*=a*=bfa=a*b/=a/=ba=a/b%=a%=bfa=a%b25/34表示式表示式是符合一定语法规则运算符和操作数序列a1.0+a(a-b)*c-1i<10&&i%10!=0表示式类型和值对表示式中操作数进行运算得到结果称为表示式值。表示式值数据类型即为表示式类型。表示式运算次序应按照运算符优先级从高到底次序进行。优先级相同运算符按照事先约定结合方向进行。26/34三目运算符三目条件运算符,语法格式: x?y:z其中x为Boolean类型表示式,先计算x值,若为true,则整个三目运算结果为表示式y值,不然整个运算结果为表示式z值。比如: intscore=80;intx=-100; NSString*type=score<60?"不及格":"及格" intflag=x>0?1:(x==0?0:-1); NSLog(@"type="+type); NSLog(@"flag="+flag);27/34语句ifif...elseif...elseifif...elseif...elseif...elseswitch条件语句-依据不一样条件,执行不一样语句forwhiledo...while循环语句-重复执行一些动作28/34if语句if(表示式)//语句 比如:if(天不下雨)我就...if...else...if...elseif...if...elseif...elseif...if...elseif...elseif...else只有一句需要执行语句时,能够省略{},为了是代码可读性更加好,不过不推荐省略29/34for循环语句for语句为以下形式: for(表示式1;循环条件;表示式2){ //语句;...; }执行过程: 先求表示式1值,再求循环条件值,假如条件不满足(即表示式为false),循环马上终止。然后执行在循环之后程序语句。假如条件满足,继续执行循环条件值,假如条件满足,执行表示式2,如此重复执行,直到条件不满足,退出循环。30/34while和dowhilewhile语句为格式: while(逻辑表示式){语句:...; }执行过程 先判断逻辑表示式值。若为true,则执行其后面语句,然后再次判断条件并重复执行,直到条件不成。while语句为格式: do{语句;}while(逻辑表示式);执行过程 先执行语句,再判断逻辑表示式。31/34break和continuebreak语句用于终止某个语句块执行。用在循环语句体重,能够强行退出循环;-(void)test{ intj=3; for(inti=1;i<=10;i++) { //当i等于j时,退出循环 if(i==j) break; NSLog(@"i=%d",i); }}continue语句用在循环语句体中,用于终止某次循环过程,跳过循环体中continue语句下面未执行循环,开始下一次循环过程;比如:-(voi

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论