资源描述
*,IC-MSP,*,IC-MSP,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,移动通信软件编程基础,Java,1,知识回顾,2,2,Java,语言基础,第,章,3,本章目标,掌握标识符的规则与系统定义关键字,掌握,Java,语言的简单数据类型,掌握变量与常量,运用简单数据类型中各类型数据间的优先关系和相互转换方法,掌握运算符与表达式,运用程序的控制结构,掌握数组,4,C,语言中的命名规则,C,语言中,标识符,必须满足的规则,:,所有标识符必须由一个字母,(a-z,A-Z),或下划线,(_),开头,;,标识符的其它部分可以用字母、下划线或数字,(0-9),组成,;,大小写字母表示不同意义,即代表不同的标识符,;,标识符只有前,32,个字符有效,;,标识符不能使用,Turbo C2.0,的关键字。,5,Java,标识符,变量,,,方法,,,类,和,对象,的名称都是,标识符,,程序员需要标识和使用的东西都需要标识符。,在,Java,语言里标识符,以字符或,_,、,$,开头,,后面字符可以是,字母、数字、下划线、,$,符号,。,标识符,区分,大小写,,没有,长度限制。,关键字,不能,用作标识符命名。,6,Java,关键字,Java,中一些赋以特定的含义、并用做专门用途的单词称为,关键字(,keyword,),。,所有,Java,关键字都是,小写,的,,IF,、,THIS,、,NEW,等都不是,Java,关键字;,goto,和,const,虽然从未使用,但也作被为,Java,关键字保留,;,true,,,false,,,null,虽被用做专门用途,但也是,Java,的关键字;,关键字,不能,当作标识符使用。,7,Java,关键字,8,C,语言的数据类型,9,Java,语言的数据类型,10,iSum,0,500,变量,变量,是程序运行过程中其值可以改变的量。,class Test,public static void main(String args),int,iSum=0,iNumber;,iNumber=10;,iSum=50*iNumber,;,System.out.println(iSum);,任何一个变量都有自己的一个名称,任何一个变量都有自己的一个内存单元,11,常量,常量,是程序运行过程中其值保持不变的量。,public class,A,/*,*,这是一个,main,方法。,*,/,public static void,main(,String,args),final float,MIN=10.0f;,MIN=20.0f;,声明一个常量并初始化赋值,不能改变已赋值常量的值,12,布尔类型,-boolean,布尔型数据只有两个值,true,和,false,它们不对应于任何整数值,布尔型变量的定义如:,boolean,b,=,true,;,13,字符类型,-char,字符常量是使用单引号(,)括起来的一个字符,如,a,,,A,;,字符型变量:类型为,char,,它在机器中占,16,位,其范围为,0,65535,。,字符型变量的定义如:,char,c,=,a,;,14,整型数据,-,常量,十进制整数,如,123,,,456,,,0,八进制整数:以,0,开头,如,0123,表示十进制数,83,011,表示十进制数,9,十六进制整数:以,0 x,或,0X,开头,如,0 x123,表示十进制数,291,0X12,表示十进制数,18,15,整型数据,-,变量,数据类型,所占位数,数的范围,byte,8,-2,7,2,7,-1,short,16,-2,15,2,15,-1,int,32,-2,31,2,31,-1,long,64,-2,63,2,63,-1,16,浮点型数据,-,常量,十进制数形式,:由数字和小数点组成,且必须有小数点,如,0.123,1.23,123.0,科学计数法形式,如,123e3,或,123E3,,其中,e,或,E,之前必须有数字,且,e,或,E,后面的指数必须为整数。,float,型的值,必须在数字后加,f,或,F,如,1.23f,。,17,浮点型数据,-,变量,数据类型,所占位数,数的范围,float,32,3.4e,-038,3.4e,+038,double,64,1.7e,-308,1.7e,+308,18,public class,Assign,public static void,main(,String,args),int,x,y;,float,z=1.234f;,double,w=1.234;,boolean,flag=true;,char,c;,String,str;,String,str1=Hi ;,c=,A,;,str=,bye,;,x=12;,y=300;,变量定义实例,19,在,Java,中实现数据转换,在,Java,中整型、实型、字符型被视为简单数据类型,这些类型由低级到高级分别为,byte,,,short,,,char,int,long,float,double,低,高,20,在,Java,中实现数据转换,简单数据类型之间的转换又可以分为:,低级到高级的自动类型转换,高级到低级的强制类型转换,char,c=,c,;,int,i=c,;,System,.out.println(,output:,+i);,结果:,output:99,int,i=99;,byte,b=(,byte,)i;,char,c=(,char,)i;,float,f=i;,结果:,i=99,b=99,c=c,f=99.0,21,Java,中的运算符,运算符,是一种,特殊符号,,用以表示数据的运算、赋值和比较,一般由,一至三个字符,组成,但,Java,将其视为一个符号,运算符的分类如下:,算术,运算符,赋值,运算符,比较,运算符,逻辑,运算符,移位,运算符,22,算术运算符,运算符,运算,范例,结果,+,正号,+3,3,-,负号,b=4;-b;,-4,+,加,5+5,10,-,减,6,4,2,*,乘,3*4,12,/,除,5/5,1,%,取模,5%5,0,+,自增(前),a=2;b=+a,;,a=3;b=3,+,自增(后),a=2;b=a+,;,a=3;b=2,-,自减(前),a=2;b=-a,;,a=1;b=1,-,自减(后),a=2;b=a-,;,a=1;b=2,+,字符串相加,“,He,”,+,“,llo,”,“,Hello,”,23,赋值运算符,运算符,运算,范例,结果,=,赋值,a=3;b=2;,a=3;b=2;,+=,加等于,a=3;b=2;a+=b;,a=5;b=2;,-=,减等于,a=3;b=2;a-=b;,a=1;b=2;,*=,乘等于,a=3;b=2;a*=b;,a=6;b=2;,/=,除等于,a=3;b=2;a/=b;,a=1;b=2;,%=,模等于,a=3;b=2;a%=b;,a=1;b=2;,24,比较运算符,运算符,运算,范例,结果,=,相等于,4=3,false,!=,不等于,4!=3,true,3,true,大于,4 3,false,=,小于等于,4=,大于等于,4=3,true,instanceof,检查是否是类的对象,“,Hello,”,instanceof String,true,25,public class,RunCon,public static void,main(,String,args),System,.out.println(,判断,Hello,是否是,String,类:,+,(,Hello,instanceof String,),);,判断,Hello,是否是,String,类:,比较运算符示例,true,26,逻辑运算符,运算符,运算,范例,结果,&,AND,(与),false&true,false,|,OR,(或),false|true,true,XOR,(异或),falsetrue,true,!,NOT,(非),!true,false,&,AND,(短路与),false&true,false,|,OR,(短路或),false|true,true,27,public,class,RunLog,public static void,main(,String,args),/,输出短路与的结果,System,.out.println(,false&true&true,结果是,:,+,(,false&true&true,);,/,输出短路或的结果,System,.out.println(,true|false|false,结果是,:,+,(,true|false|false,);,false&true&true,结果是,:,false,逻辑运算符示例,true&false&false,结果是,:,true,28,位运算符,运算符,运算,计算规则,&,按位与,只有参加运算的两位都为,1,,,&,运算的结果才为,1,,否则就为,0,。,|,按位或,只有参加运算的两位都为,0,,,|,运算的结果才为,0,,否则就为,1,。,按位异或,只有参加运算的两位不同,,运算的结果才为,1,,否则就为,0,。,右移位,右移高位是,0,,左边补,0,,,高位是,1,,左边补,1,=,=!=,&,|,&,|,?:,=*=/=%=+=-=&=|=,低,高,优,先,级,31,控制语句的类型,控制语句,判断语句,循环语句,跳转语句,if-else,语句,switch-case,语句,while,语句,do-while,语句,for,语句,break,语句,continue,语句,return,语句,32,判断结构,if,语句,简单,if,语句的一般形式:,if,(,表达式,),表达式,语句,真,假,33,判断结构,if-else,语句,if-else,语句的一般形式:,If,(,表达式,),else,真,假,语句,2,语句,1,表达式,34,判断结构,switch-case,语句,switch-case,语句的一般形式:,switch(expression),case value1:,statement1;,break;,case value2:,statement2;,break;,case valueN:,statemendN;,break;,default:efaultStatement;,真,假,Default,语句,语句,1,表达式,语句,2,35,判断结构,switch-case,语句,表达式,expression,的返回值类型必须是以下类型之一:,int,byte,char,short,。,case,子句,中的值,valueN,必须是常量,而且所有,case,子句中的,值,应是,不同的,。,default,子句是,可选的,。,break,语句,用来在执行完一个,case,分支后,,使程序,跳出,switch,语句,,即,终止,switch,语句,的执行。,在一些,特殊情况,下,多个不同的,case,值要执行一组相同的操作,这时,可以不用,break,。,36,float,num1,num2;,char,operator;,num1,=,12.0f;num2,=,13.0f;operator,=,/,;,switch(,operator,),case,+,:,System,.out.println,(,num1+num2=,+,(,num1,+,num2,),;,break;,case,-,:,System,.out.println,(,num1-num2=,+,(,num1,-,num2,),;,break;,case,/,:,System,.out.println,(,num1/num2=,+,(,num1,/,num2,),;,break;,case,*,:,System,.out.println,(,num1*num2=,+,(,num1,*,num2,),;,break;,default:,System,.out.print,(,运算符不正确,!,),;,请输短信费用:,判断结构示例,10_,37,循环结构,while,语句,while,语句的一般形式:,while(,表达式,),表达式,语句,真,假,38,循环结构,do-while,语句,do-while,语句的一般形式:,do,while(,表达式,),表达式,语句,真,假,;,39,循环结构,for,语句,for,语句的一般形式:,for(,初始化赋值,;,表达式,;,迭代,),语句,;,int,count,=,0,;,for,(,count,=,0,;,count,5,;,count,+,),System.,out.println,(,count,);,0,1,2,3,4,40,跳转结构,break,语句,在,switch,语句,中,,break,语句,用来终止,switch,语句,的执行。,在,Java,中,可以为每个代码块加一个括号,一个代码块通常是用大括号,括起来的一段代码。跳出它所指定的块,并从紧跟该块的第一条语句处执行,break,语句,。,41,跳转结构,break,语句,加标号的格式如下:,BlockLabel:codeBlock,代码块,代码块标记,st,:,while,(,true,),while,(,true,),break,st;,System.,out.println,(,跳到,st,块后,);,break,语句跳出他所指定的块。,跳出后,从紧跟该块的第一条语句处执行。,跳到,st,块后,42,跳转结构,continue,语句,continue,语句用来,结束本次循环,,,跳过,循环体中下面,尚未执行的语句,,接着进行,终止条件,的,判断,,以决定是否继续循环。,对于,for,语句,在进行终止条件的判断前,还要先执行迭代语句。,它的格式为,continue,;,43,跳转结构,continue,语句,也可以用,continue,跳转到括号指明的外层循环中,这时的格式为,continue,outerLable,;,/,外层循环,outer,:,for,(,int,i,=,0;i,10;i,+,),/,内层循环,inner,:,for,(,int,j,=,0;j,10;j,+,),if,(i,j),continue,outer;,44,跳转结构,return,语句,return,语句从当前方法中退出,返回到调用该方法的语句处,并从紧跟该语句的下一条语句继续程序的执行。,返回语句有两种格式:,return expression;,return;,return,语句通常用在一个方法体的最后,否则会产生编译错误,除非用在,if-else,语句中,45,Java,语言中数组的分类,Java,中的数组,一维数组,多维数组,一维数组的定义,一维数组的初始化,一维数组的引用,二维数组的定义,二维数组的初始化,二维数组的引用,46,一维数组的定义,一维数组的定义格式,type,arrayName,;,类型,(type),可以为,Java,中任意的数据类型,包括简单类型和复合类,例如:,int,intArray,;,Date,dateArray;,47,一维数组的初始化,静态初始化,动态初始,1),简单类型的数组,2),复合类型的数组,int,intArray=1,2,3,4;,String,stringArray=,abc,How,you,;,int,intArray;,intArray=,new int,5;,String,stringArray;,String,stringArray=,new String,3;,stringArray0=,new String,(,How,);,stringArray1=,new String,(,are,);,stringArray2=,new String,(,you,);,48,一维数组元素的引用,数组元素的引用方式为:,arrayNameindex,index,为数组下标,它可以为整型常数或表达式,下标从,0,开始。,每个数组都有一个属性,length,指明它的长度。,int,intArray;,intArray,=,new,int,5;,System.,out.println,(,intArray.length,);,5,49,二维数组的定义,二维数组的定义格式,type,arrayName ,;,或,type,arrayName;,类型,(type),可以为,Java,中任意的数据类型,包括简单类型和复合类,例如:,int,intArray ,;,Date ,dateArray;,50,二维数组的初始化,静态初始化,int,intArray ,=,1,2,2,3,3,4,5;,51,二维数组的初始化,动态初始,1),直接为每一维分配空间,2),从最高维开始,分别为每一维分配空间,int,a ,=,new int,23,;,int,a ,=,new,int,2;,a0,=,new,int,3;,a1,=,new int5,;,52,二维数组元素的引用,二维数组中的每个元素,引用方式为,ArrayNameindex1index2,int,a ,=,new int,23;,int,b ,=,1,5,2,8,5,9,10,-3,2,7,-5,-18;,int,c ,=,new int,24;,for,(,int,i,=,0;i,2;i,+,),for,(,int,j,=,0;j,3;j,+,),a i j,=,(i,+,1),*,(j,+,2);,5,53,总结,Java,语言基础,简单数据类型,运算符和表达式,控制语句,数组,标识符和表达式,数据类型概述,简单数据类型,数据转换及优先级,运算符,表达式,判断结构,循环结构,跳转结构,一维数组,多维数组,54,习题,55,作业,56,
展开阅读全文