收藏 分销(赏)

OC基础语法1市公开课获奖课件省名师优质课赛课一等奖课件.ppt

上传人:丰**** 文档编号:12018709 上传时间:2025-08-28 格式:PPT 页数:34 大小:749.04KB 下载积分:10 金币
下载 相关 举报
OC基础语法1市公开课获奖课件省名师优质课赛课一等奖课件.ppt_第1页
第1页 / 共34页
OC基础语法1市公开课获奖课件省名师优质课赛课一等奖课件.ppt_第2页
第2页 / 共34页


点击查看更多>>
资源描述
单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,本资料仅供参考,不能作为科学依据。谢谢。本资料仅供参考,不能作为科学依据。本资料仅供参考,不能作为科学依据。谢谢。本资料仅供参考,不能作为科学依据。,Objective-C基础语法,1/34,关键内容,标识符,关键字,OC基本数据类型,运算符,表示式和语句,分支和循环,变量作用域,2/34,标识符,正当标识符,非法标识符,ZhangSan,if,Dog,Girl*#,_998,sad90,$as_34d,34_sdf,OC语言中,对各种变量、方法和类等要素命名时使用字符序列称为标志符。,标识符由字母、下划线“_”、美元符“$”和数字组成,标识符必须以字母、下划线、美元符号开头,标识符大小写敏感,长度无限制,oc标识符有以下命名规则:,约定俗成:oc标识符选取要“见名之意”,而且不能与oc中保留字重名。,3/34,关键字,int,enum,float,goto,double,register,short,sizeof,struct,typedef,unsigned,volatile,break,char,continue,do,long,extern,for,while,auto,return,signed,static,switch,union,void,if,case,const,default,else,OC中一些含有特定含义,系统专门使用字符串称为“保留字”,或者叫“关键字”(keyword)。,OC中关键字全部都是小写。,4/34,OC常量,如整型常量:3456,实型常量:3.1415926,字符常量:a,逻辑常量:true、false,字符串常量:“hello iphone”,OC中常量值用字符串表示,区分不一样数据类型,区分字符常量和字符串常量,注意:,5/34,OC变量,OC变量是程序中最基本存放单元,其要素包含变量名,变量类型和作用域。,OC程序中每一个变量都属于特定数据类型,在使用前必须对其申明,申明格式为:type varName=value;,比如:,int i=580;,float f=12.12f;,double d=0.798;,NSString*s=hello iphone;,从本质上讲,变量其实是内存中一小块区域,使用变量名来访问这块区域,所以,每一个变量使用前必须要先申请(申明),然后必须进行复制(填充内容),才能使用。,6/34,程序执行过程,硬盘,程序,1.Load代码到内存区,代码,操作系统代码,alloc出来,局部变量,静态变量和字符串变量,存放代码,内存,2.从main函数开始执行,堆,栈,数据区,代码区,2.执行过程中内存管理,7/34,OC变量分类,局部变量:方法或语句块内部定义变量,实例变量:方法外部、类内部定义变量,按被申明位置划分:,基本数据类型变量,指针数据类型变量,按所属数据类型划分:,8/34,OC局部变量与组员变量,方法体内部申明变量(包含形参)称为局部变量:,方法体内部是指与方法对应大括号内部,在方法体外,类体内申明变量称为“实例变量”或者“组员变量”,-(void)getName,int a;,int b=a+5;/编译警告,变量a还未被初始化,float c=2.8;,9/34,OC数据类型,数据类型,基本数据类型,指针数据类型,数值型,字符型(char),布尔型,空类型(void),类(class),id,整数类型int,浮点型float,double,10/34,C和OC基本数据类型,int:申明整形变量,double:申明双精度变量,float:申明浮点型变量,char:申明字符型变量,id:通用指针类型,enum:申明枚举类型,long:申明长整形变量或函数,short:申明短整型变量或函数,signed:申明有符号类型变量,union:申明共用体(联合)数据类型,unsigned:申明无符号类型变量,void:申明函数无返回值或无参数,11/34,数据类型格式化说明符,数据类型,OC关键字,格式说明引导符,整型,int,%d、%i,短整型,short int,%hd、%hi,长整形,long int,%ld、%li,无符号短整型,unsigned int,%u,无短整型,unsigned short,%hu,无符号长整形,unsigned long,%lu,类型名,OC关键字,格式引导说明符,浮点型,float,%f,双精度型,double,%f,长双精度,long double,%lf,字符型,char,%c,12/34,整数类型,OC中整数类型用int来表示,格式化符号用%i或d%来表示,比如:int a=100;,OC语言整型常量默认为int型,申明long型常量能够后加l或L,如:int b=600;/正确 long c=888888888888L;,13/34,浮点类型,类型,占用存放空间,至于范围,float,4字节,-3.403E38,double,8字节,-1.798E3.8-1.798E,浮点类型变量能够存放包含小数值,OC中浮点型常量默认为double型,假如要申明一个常量为float,在数字后面加f或F。,double m=3.14159;/正确 float f=3.14f;,下面列出OC各种浮点类型,float有效数字为67位,格式化说明符号用%f表示,double有效数字为1516位 格式化说明符号用%f,%e或%g表示,OC中有两种浮点类型,14/34,字符char,Char型数据用来表示通常意义上“字符”,格式化说明符用%c表示,字符常量为用单引号括起来单个字符,比如:,char achar=a;char b=0;char cChar=苹;值域范围:-128127,n,OC编译器把这个看成单个字符,unsigned char 值域范围:0 255,OC字符采取Unicode编码,每个字符占两个字节,因而可用十六进制编码形式表示,比如:,char c1=u0061;,注:Unicode是全球语言统一编码,15/34,char類型(ASCII碼),16/34,逻辑型Boolean,Boolean类型指是用于存放真值和假值变量,普通用于程序流程控制。,Boolean类型数据允许取值true或false,也能够是0或非0整数替换true和false,这点和java语言不通。java里面boolean是基本数据类型,Boolean是它封装类,和其它类一样,有属性有方法,能够new.,实例:,Boolean flag=true;,if(flag),NSLog(Hello iPhone);,17/34,限定词,long int:申明变量xx为long整形变量。格式化符为%li,如:long int a;,long long int:申明变量xx为long long整形变量,格式化符%lli,如:long long int b;,long double:跟int基本相同,unsigned int:申明无符号整型变量。如:unsigned int c;,signed int:申明有符号整型变量。如:signed int d;,18/34,void类型,告诉编译器没有任何范围类型值,不能像其它数据类型一样来申明变量,比如:void i=10;/错误,void通常与方法一起搭配使用,比如:,-(void)test,/code,19/34,id类型,id类型是oc中独有数据类型。在概念上,类似JavaObject类,能够转换为任何数据类型,能够存放任何类型对象,从某种意义上说,它就是普通对象模型。在内部处理上,这种类型被定义为指向对象指针,,将number申明为id类型变量。如:id number;,格式化说明符:%p,20/34,基本数据类型转换,OC中能够从任意基本数据类型转型到另外基本类型,转换分为默认转换和强制转换,整型,字符型,浮点型数据在混合运算中相互转换,转换时需遵照以下标准:,容量小类型默认转换为容量大数据类型;数据类型按容量大小排序为:Byte,short,char-int-long-float-double,Byte,short,char之间不会相互转换,他们三者在计算时首先会转换成int类型。,容量大数据类型转换成容量小数据类型,要加上强制转换符,但可能造成精度降低或溢出;使用时要格外注意。,实数常量(如:2.9)默认为double,整数常量(如:123)默认为int,21/34,运算符,OC语言支持以下运算符:,算数运算符:+,-,*,/,%,+,-,关系运算符:,=,赋值运算符:=,扩展赋值运算符:+=,-=,*=,/=,22/34,自加和自减运算符,-(void)getNumber,int i1=10,i2=12;,int i=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=12,i2 =13,i=14,i2 =14,i=9,i1=9,i=9,i1=8,注意:,+(-),在前时先运算再取值,在后时先取值再运算,23/34,逻辑运算符,逻辑运算符:!:逻辑非&:逻辑与|:逻辑或:逻辑异或&:短路与|:短路或,-(void)test,Boolean a,b,c;,a=true;b=false;,c=a,c=a|b;NSLog(c,c);,c=ab;NSLog(c,c);,c=!a;NSLog(c,c);,c=a,c=a|b;NSLog(c,c);,-(void)test,int i=3,j=4;,Boolean flag3=(i3),/第二个操作数不再计算,Boolean flag4 =(i2)|(i+j)6),24/34,赋值运算符与扩展运算符,赋值运算符(=),当“=”两侧数据类型不一致时,能够适用默认类型转换或适用强制类型转换标准进行处理,long l=100;int i=(int)l;,注意:能够将整型常量直接赋值给Byte,short,char等类型变量,而不需要进行强制类型转换,只要不超出其数据范围,Byte b=11;char c=456;,运算符,使用方法举例,等效表示式,+=,a+=b,a=a+b,-=,a-=b,a=a-b,*=,a*=bf,a=a*b,/=,a/=b,a=a/b,%=,a%=bf,a=a%b,25/34,表示式,表示式是符合一定语法规则运算符和操作数序列,a,1.0+a,(a-b)*c-1,i10&i%10!=0,表示式类型和值,对表示式中操作数进行运算得到结果称为表示式值。,表示式值数据类型即为表示式类型。,表示式运算次序,应按照运算符优先级从高到底次序进行。,优先级相同运算符按照事先约定结合方向进行。,26/34,三目运算符,三目条件运算符,语法格式:,x?y:z,其中x为Boolean类型表示式,先计算x值,若为true,则整个三目运算结果为表示式y值,不然整个运算结果为表示式z值。,比如:,int score=80;int x=-100;,NSString*type=score 0?1:(x=0?0:-1);,NSLog(type=+type);,NSLog(flag=+flag);,27/34,语句,if,if.else,if.else if,if.else if.else if.else,switch,条件语句-依据不一样条件,执行不一样语句,for,while,do.while,循环语句-重复执行一些动作,28/34,if语句,if(表示式)/语句比如:if(天不下雨)我就.,if.else.,if.else if.,if.else if.else if.,if.else if.else if.else,只有一句需要执行语句时,能够省略,为了是代码可读性更加好,不过不推荐省略,29/34,for循环语句,for语句为以下形式:,for(表示式1;循环条件;表示式2),/语句;.;,执行过程:,先求表示式1值,再求循环条件值,假如条件不满足(即表示式为false),循环马上终止。然后执行在循环之后程序语句。假如条件满足,继续执行循环条件值,假如条件满足,执行表示式2,如此重复执行,直到条件不满足,退出循环。,30/34,while和do while,while语句为格式:,while(逻辑表示式),语句:.;,执行过程,先判断逻辑表示式值。若为true,则执行其后面语句,然后再次判断条件并重复执行,直到条件不成。,while语句为格式:,do 语句;while(逻辑表示式);,执行过程,先执行语句,再判断逻辑表示式。,31/34,break和continue,break语句用于终止某个语句块执行。用在循环语句体重,能够强行退出循环;,-(void)test,int j=3;,for(int i=1;i=10;i+),/当i等于j时,退出循环,if(i=j),break;,NSLog(i=%d,i);,continue语句用在循环语句体中,用于终止某次循环过程,跳过循环体中continue语句下面未执行循环,开始下一次循环过程;,比如:,-(void)test,int flag=3;,for(int i=1;i=5;i+),/当i等于flag时,跳过当次循环,if(i=flag)continue;,NSLog(i=%d,i);,32/34,while、break和continue实例,/输出10-100内前5个能够被4整除数,-(void)test,int num=0,i=10;,while(i=100),if(i%4=0),NSLog(%d,i);,num+;,if(num=5),break;,i+;,/输出1-100内质数,-(void)test,for(int i=1;i100;i+=2),Boolean flag=true;,for(int j=2;ji;j+),if(i%j=0),flag=false;,break;,if(!flag),continue;,NSLog(%d,i);,33/34,switch(条件语句),switch(),case xx:,.;,case xx:,.;,default:,.;,小心case穿透,推荐使用break语句与之搭配使用,多个case能够合并到一起,default能够省略,但不推荐省略,switch值必须是int类型,34/34,
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 包罗万象 > 大杂烩

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服