培训第一阶段录屏-相关ch2java语言基础_第1页
培训第一阶段录屏-相关ch2java语言基础_第2页
培训第一阶段录屏-相关ch2java语言基础_第3页
培训第一阶段录屏-相关ch2java语言基础_第4页
培训第一阶段录屏-相关ch2java语言基础_第5页
已阅读5页,还剩85页未读 继续免费阅读

下载本文档

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

文档简介

第二讲Java语言基础

任何程序设计语言,都是由语言规范和一系列开发库组成的。如标准C,除了语言规范外,还有很多函数库;MSVisualC++更是提供了庞大的APIs和MFC。

Java语言也不例外,也是由Java语言规范和Java开发包组成的。学习任何程序设计语言,都是要从这两方面着手,尤其是要能够熟练地使用后者。1、Java语言基本元素2、Java数据类型3、Java语言结构4、Java控制语句5、Java类定义规范6、Java数组7、Java开发类库组成主要内容语言规范开发类包标识符(Identifier)保留字(ReservedWord

)1、Java语言基本元素java代码的位置

java是严格区分大小写的

java是一种自由格式的语言代码分为结构定义语句和功能执行语句功能执行语句的最后必须用分号结束

java程序有三种注释方式Java的基本语法(1)程序员对程序中的各个元素加以命名时使用的命名记号称为标识符(identifier)包括:类名、变量名、常量名、方法名、…

Java语言中,标识符是以字母,下划线(_),美元符($)开始的一个字符序列,后面可以跟字母,下划线,美元符,数字。合法的标识符

identifieruserNameUser_Name_sys_value$change非法的标识符

2mail room# class1、Java语言基本元素

——标识符具有专门的意义和用途,不能当作一般的标识符使用,这些标识符称为保留字(reservedword)。

abstractbreakbytebooleancatchcaseclasscharcontinuedefaultdoubledoelseextendsfalsefinalfloatforfinally ifimportimplementsintinterfaceinstanceoflonglengthnativenewnullpackageprivateprotectedpublicfinalreturnswitchsynchronizedshortstaticsupertrytruethisthrowthrowsthreadsafetransientvoidwhile1、Java语言基本元素

——保留字数据和返回值类型:int,void,return……包/类/成员/接口:package,class,interface访问控制:public,private,protected循环及循环控制:if,switch,break例外处理:throw,try,finally保留词(无含义但不能使用):goto,const1、Java语言基本元素

——保留字:基本分类在Java中,true、false和null都是小写的。区别于C++中大写的TRUE、FALSE和NULL。所有的数据类型所占用的字节数都是固定的,并且和实现无关的,因此在Java中没有sizeof操作符。不必死记这些关键词,当理解每个关键词的含义后,自然就记住了所有的关键词。1、Java语言基本元素

——保留字:注意事项2、Java数据类型

常量(Constant)变量(Variable)数据类型(DataType)基本数据类型(PrimaryDataTypes)复合数据类型(CompositeDataTypes)Java中的常量值是用文字串表示的,它区分为不同的类型,如整型常量123,实型常量1.23,字符常量‘a’,布尔常量true、false以及字符串常量"Thisisaconstantstring."。与C、C++不同,Java中不能通过#define命令把一个标识符定义为常量,而是用关键字

final来定义,其定义格式为:finalTypevarName=value[,varName[=value]…];finalintglobalAccount=100,nationalAccount=50;finaldoublePI=3.141592、Java数据类型

——常量程序中的基本存储单元,其定义包括变量名、变量类型和作用域几个部分,定义格式为:TypevarName[=value][{,varName[=value]}];intn=3,n1=4;Java中变量的缺省初值都是确定的:布尔变量的初值为:false整数变量的初值为:0浮点数变量的初值为:0.0引用(复合)变量的初值为:null在方法实现中定义的变量必须显式的初始化。(一个例子TestVar.java)变量的作用域

指可访问变量的一段代码,在程序中不同的地方声明的变量具有不同的作用域:局部变量、类变量、方法参数、例外处理参数。在一定的作用域内,变量名必须唯一。2、Java数据类型

——变量变量就是系统为程序分配的一块内存单元,用来存储各种类型的数据。根据所存储的数据类型的不同,有各种不同类型的变量。变量名代表这块内存中的数据。intx=0,y;y=x+3; 执行这两条语句的过程中,内存分配及变化情况。X在被取值前必须被初始化。变量的概念与作用java的变量类型

数据类型基本数据类型引用数据类型数值型字符型(char)布尔型(boolean)整数类型(byte,short,int,long)浮点类型(float,double)类(class)接口(interface)数组Javatypesystemprimitivereferencenullcharnumericbooleanclassinterfacearrayintegralfloating-pointbyteshortintlongfloatdouble2、Java数据类型

——数据类型基本数据类型复合数据类型

所有基本类型所占的位数都是确定的,并不因操作系统的不同而不同。所有基本类型的关键词都是小写的。数据类型

所占位数

数的范围

char 16 0~65535byte

8

-27~27-1short 16 -215~215-1 int 32 -231~231-1 long 64 -263~263-1 float 32 3.4e-038

~3.4e+038double 64 1.7e-308

~1.7e+3082、Java数据类型

——基本数据类型布尔型数据只有两个值true和false,且它们不对应于任何整数值

布尔型变量的定义如:

booleanb=true; 布尔型数据只能参与逻辑关系运算:&&||==!=!示例:booleanb1;booleanb2=true;b=!b2;booleanb=(b1&&b2)!=false;2、Java数据类型

——基本数据类型:布尔类型(boolean)字符型数据代表16位的Unicode字符字符常量是用单引号括起来的一个字符‘a’‘B’‘\n’‘\u0030’字符型数据的取值范围为0~65535或者说\u0000~\uFFFF\u0000为缺省值示例charc1; \\缺省值为0charc2=‘0’; \\赋初值为字符‘0’charc3=32; \\用整数赋初值为空格2、Java数据类型

——基本数据类型:字符类型(char)特殊字符的常量表示法:反斜线(Backslash) ‘\\’退格(Backspace) ‘\b’回车(Carriagereturn) ‘\r’进纸符(Formfeed) ‘\f’制表符(Formfeed) ‘\t’换行(Newline) ‘\n’单引号(Singlequote) ‘\’’八进制数(‘\0’~‘\377’) ‘\DDD’Unicode字符 ‘\uHHHH’2、Java数据类型

——基本数据类型:字符类型(char)

我们可以不可以直接将一个数字赋给字符变量?讨论:字符的本来面目?整型常量1.十进制整数 如123,-456,02.八进制整数 以0开头,如0123表示十进制数83,-011表示十进制数-9。3.十六进制整数 以0x或0X开头,如0x123表示十进制数291,-0X12表示十进制数-18。整型变量类型为byte、short、int或long,byte在机器中占8位,short占16位,int占32位,long占64位。整型变量的定义如:

intx=123; //指定变量x为int型,且赋初值为123byteb=8;shorts=10;longy=123L;longz=123l;2、Java数据类型

——基本数据类型:整数类型(byte,short,int,long)整型常量1.十进制整数 如123,-456,02.八进制整数 以0开头,如0123表示十进制数83,-011表示十进制数-9。3.十六进制整数 以0x或0X开头,如0x123表示十进制数291,-0X12表示十进制数-18。整型变量类型为byte、short、int或long,byte在机器中占8位,short占16位,int占32位,long占64位。整型变量的定义如:

intx=123; //指定变量x为int型,且赋初值为123byteb=8;shorts=10;longy=123L;longz=123l;2、Java数据类型

——基本数据类型:整数类型(byte,short,int,long)类型转化自动类型转换(也叫隐式类型转换)强制类型转换(也叫显式类型转换)类型转换的原理及什么时候要用强制类型转换表达式的数据类型自动提升所有的byte型、short型和char的值将被提升到int型。如果一个操作数是long型,计算结果就是long型;如果一个操作数是float型,计算结果就是float型;如果一个操作数是double型,计算结果就是double型。分析System.out.println(‘a’+1)与 System.out.println(“”+’a’+1)的区别。示例byteb1; \\缺省值为0byteb2=127; \\赋初值为127shorts1=(short)(b1+b2);\\强制类型转换shorts2=(short)(b1+123)\\强制类型转换intn=b1+b2; \\不需要强制类型转换longl1=2343; \\不需要强制类型转换longl2=L; \\必须用L或l结尾longl3=65536*63356; \\乘法运算越界,l3为0longl4=65536L*63356; \\l4为L2、Java数据类型

——基本数据类型:整数类型(byte,short,int,long)实型常量1.十进制数形式 由数字和小数点组成,且必须有小数点,如0.123,.123,123.,123.02.科学计数法形式 如:123e3或123E3,其中e或E之前必须有数字,且e或E后面的指数必须为整数。32位浮点数形式:0.23f,1.23E-4f,

.18F2、Java数据类型

——基本数据类型:浮点数类型,实型(float,double)实型变量类型为float或double,float在机器中占32位,double占64位。实型变量的定义如:doubled1=127.0; \\赋初值为127doubled2=127; \\赋初值为127floatf1=127.0f; \\必须在数字后加f或Ffloatf2=4.0e38f; \\错误!32位浮点数不能超过 \\3.4028234663852886e38floatf3=(float)d1; \\必须强制类型转换2、Java数据类型

——基本数据类型:浮点数类型,实型(float,double)

publicclassAssign{publicstaticvoidmain(Stringargs[]){intx,y;byteb=6;floatz=1.234f;doublew=1.234;booleanflag=true;charc;c=‘A‘;x=12;y=300;......}}2、Java数据类型

——基本数据类型:使用举例自动类型转换整型、实型、字符型数据可以混合运算。运算中,不同类型的数据先转化为同一类型,然后进行运算,转换从低级到高级:低----------------------------------------------------->高byte,short,char—>int—>long—>float—>double操作数1类型

操作数2类型

转换后的类型byte、short、char int int byte、short、char、int long long byte、short、char、int、long float float byte、short、char、int、long、float double double2、Java数据类型

——基本数据类型:数据类型转换

数据类型转换必须满足如下规则:不能对boolean类型进行类型转换。不能把对象类型转换成不相关类的对象。在把容量大的类型转换为容量小的类型时必须使用强制类型转换。转换过程中可能导致溢出或损失精度

inti=8;byteb=(byte)i;(byte)255==-1 (byte)0x5634==0x34

浮点数到整数的转换是通过舍弃小数得到,而不是四舍五入

(int)23.7==23 (int)-45.89f==-452、Java数据类型

——基本数据类型:数据类型转换在Java中,引用(reference)指向一个对象在内存中的位置,本质上它是一种带有很强的完整性和安全性限制的指针。当你声明某个类、接口或数组类型的变量时,那个变量的值总是某个对象的引用或者是null。指针就是简单的地址而已,引用除了表示地址而外,还象被引用的数据对象的缩影,还提供其他信息。指针可以有++、--运算,引用不可以运算。引用型变量只支持有限的逻辑判断:相等判断(是否同一个对象的引用):==!=theObject==null otherObject!=theObject类型判断(是否是每个类的实例):instanceoftheObjectinstanceofObject“”instanceofString2、Java数据类型

——复合(引用)数据类型变量的生命周期与作用域变量要先定义,后使用,但也不是在变量定义后的语句一直都能用前面定义的变量。我们可以用大括号将多个语句包起来形成一个复合语句,变量只能在定义它的复合语句中使用。publicclassTestScope{publicstaticvoidmain(String[]args){ intx=12;{intq=96;//x和q都可用

intx=3;//错误的定义,Java中不允许有这种嵌套定义

System.out.println("xis"+x);System.out.println("qis"+q);}q=x;/*错误的行,只有x可用,q超出了作用域范围*/System.out.println("xis"+x);}}运算符(Operator)和表达式(Expression)注释(Comment)语句(Statement)代码段(CodeBlock)作用域(Scope)3、Java语言的结构(1)运算符算术运算符:+,―,*,/,%,++,――关系运算符:>,<,>=,<=,==,!=布尔逻辑运算符:!,&&,||位运算符:>>,<<,>>>,&,|,^,~赋值运算符:=,及其扩展赋值运算符如+=,―=,*=,/=等。条件运算符:?:3、Java语言的结构

——运算符和表达式

其它分量运算符

·,下标运算符

[],实例运算符instanceof,内存分配运算符new,强制类型转换运算符(类型),方法调用运算符

()…由于数据类型的长度是确定的,所以没有长度运算符sizeof。3、Java语言的结构

——运算符和表达式算术运算符算术运算符的注意问题“+”除字符串相加功能外,还能把非字符串转换成字符串,如:“x”+123;的结果是“x123”

。如果对负数取模,可以把模数负号忽略不记,如:5%-2=1。但被模数是负数就另当别论了。对于除号“/”,它的整数除和小数除是有区别的:整数之间做除法时,只保留整数部分而舍弃小数部分。intx=3510;x=x/1000*1000;实际运行结果是3000,想想为什么?算术运算符的应用技巧思考题1:某个培训中心要为新到的学员安排房间,假设共有x个学员,每个房间可以住6人,让你用一个公式来计算他们要住的房间数? 答案:(x+5)/6。这种算法还可用在查看留言板的分页显示上:其中x是总共的留言数,6是每页显示的留言数,结果就是总共有多少页。思考题2:假设你要让x的值在0至9之间循环变化,请写出相应的程序代码。答案:intx=0;while(true){x=(x+1)%10;}赋值运算符注1:在JAVA里可以把赋值语句连在一起,如:

x=y=z=5;

在这个语句中,所有三个变量都得到同样的值5。注2:x+=3等效于x=x+3,等于*=,-=,/=依此类推。比较运算符注1:比较运算符的结果都是boolean型,也就是要么是true,要么是false。注2:比较运算符“==”不能误写成“=”

,切记!切记!逻辑运算符注1:逻辑运算符用于对boolean型结果的表达式进行运算,运算的结果都是boolean型。注2:“&”和“&&”的区别在于,如果使用前者连接,那么无论任何情况,“&”两边的表达式都会参与计算。如果使用后者连接,当“&&”的左边为false,则将不会计算其右边的表达式。“|”和“||”的区别与“&”和“&&”的区别一样。“&”和“&&”的区别分析PublicclassTestAnd{publicstaticvoidmain(String[]args){intx=0;inty=3;if(x!=0&&y==y/x) System.out.println("y="+y);}}位运算符任何信息在计算机中都是以二进制的形式保存的,&,|,^除了可以作为逻辑运算符,也可以做为位算符,它们对两个操作数中的每一个二进制位都进行运算。只有参加运算的两位都为1,&运算的结果才为1,否则就为0。只有参加运算的两位都为0,|运算的结果才为0,否则就为1。只有参加运算的两位不同,^运算的结果才为1,否则就为0。我们可以对数据按二进制位进行移位操作,java的移位运算符有三种:<<左移>>右移>>>无符号右移“>>”和“>>>”

区别的实例分析publicclassShiftTest{publicstaticvoidmain(String[]args){ intx=0x80000000; inty=0x80000000;x=x>>1;y=y>>>1;System.out.println(“0x80000000>>1=”+Integer.toHexString(x));System.out.println(“0x80000000>>>1=”+Integer.toHexString(y));}}运行结果如下:0x80000000>>1=c00000000x80000000>>>1=40000000十六进制与二进的对比 0x=1000,0000,0000,0000,0000,0000,0000,00002 0xc000000016=1100,0000,0000,0000,0000,0000,0000,00002 0x=0100,0000,0000,0000,0000,0000,0000,00002移位运算的注意事项及小技巧移位运算符适用类型有byte、short、char、int、long对低于int型的操作数将先自动转换为int型再移位。 对于int型整数移位a>>b,系统先将b对32取模,得到的结果才是真正移位的位数。例如:a>>33和a>>1结果是一样的,a>>32的结果还是a原来的数字。对于long型整数移位时a>>b,则是先将移位位数b对64取模。移位不会改变变量本身的值。如a>>1;在一行语句中单独存在,毫无意义。x>>1的结果和x/2的结果是一样的,x<<2和x*4的结果也是一样的。总之,一个数左移n位,就是等于这个数乘以2的n次方,一个数右移n位,就是等于这个数除以2的n次方。请思考:如何用程序实现求2的x次方。答案:y=1<<x;运算符的优先级我们可以使用括号改变运算赋的优先级,分析inta=2;intb=a+3*a;语句的执行过程与inta=2;intb=(a+3)*a;语句的执行过程的区别。如何避免多个运算符带来的问题对于inta=2;intb=a+3*a++;这样的语句,b最终等于多少呢?作者试验得到的结果是8。对于inta=2;intb=(a++)+3*a;这样的语句,b最终等于多少呢?作者试验得到的结果是11。如何避免多个运算符带来的问题与其去思考其中的原因,我们还不如将上面的第二句改为几条语句来实现我们想要的结果。不要在一行中编写太复杂的表达式,也就是不要在一行中进行太多的运算在一行中进行太多的运算并不能为你带来什么好处,相反只能带来坏处,它并不比改成几条语句的运行速度快,它除可读行差外,还极容易出错。对于优先级顺序,读者不用刻意去记,有个印象就行如果你实在弄不清这些运算先后关系的话,就用括号或是分成多条语句来完成你想要的功能,因为括号的优先级是最高的,这也是软件编码规范的一个要求。(2)表达式表达式是由操作数和运算符按一定的语法形式组成的符号序列。一个常量或一个变量名字是最简单的表达式,其值即该常量或变量的值;表达式的值还可以用作其他运算的操作数,形成更复杂的表达式。例:

x num1+num2 a*(b+c)+d 3.14 x<=(y+z) x&&y||z3、Java语言的结构

——运算符和表达式(3)运算符的优先次序1) .,

[],() 9) &2) ++,--,!,~,instanceof 10) ^3) new(type) 11) |4) *,/,% 12) &&5) +,- 13) ||6) >>,>>>,<< 14) ?:7) >,<,>=,<= 15) =,+=,-=,*=,/=,%=,^=8) ==,!= 16) &=,|=,<<=,>>=,>>>=3、Java语言的结构

——运算符和表达式举例://单行注释,简单的解释语句含义./*多行注释,用来说明更多的内容,包括算法等.……*//**Java文档注释,可以通过javadoc生*成类和接口的HTML格式的帮助文档.*这种注释有其特殊的格式(参见相关文档)*/3、Java语言的结构

——注释一个由分号(;)结尾的单一命令是一条语句(Statement),一条语句一般是一行代码,但也可以占多行代码。inta=1;//变量定义及初始化语句用大括号({……})围起来的多条语句构成一个代码段(Codeblock);同时代码段也大括号前的一些修饰性描述:classAclass{ for(inti=0;i<=1;i++){…… …… } }3、Java语言的结构

——语句和代码段作用域(Scope)决定了变量可使用的范围全局变量(Globalvariables):变量可以在整个类中被访问;局部变量(Localvariables):变量只能在定义其的代码段中被访问。作用域规则:在一个代码段中定义的变量只能在该代码段或者该代码段的子代码段中可见。使用局部变量比使用全局变量更安全。3、Java语言的结构

——作用域classScoping{intx=0;voidmethod1(){inty;y=x;//OK.method1可以访问y.}voidmethod2(){intz=1;z=y;//Error.y在method2的作用域之外定义

}}3、Java语言的结构

——作用域爱情与技术有的人就像UNIX她条件很好,然而不是谁都能玩的起。有的人就像C#长的很漂亮,但是连家务活都不行。有的人就像C++,她会默默的为你做很多的事情。有的人就像JAVA,只需一点付出她就会为你到处服务。有的人就像JAVAscript,虽然对她处处小心但最终还是没有结果。有的人就像汇编虽然很麻烦,但是有的时候还得求它。有的人就像SQL,她会为你的发展带来莫大的帮助。爱情就是死循环,一旦执行就陷进去了。爱上一个人,就是内存泄露,你永远释放不了。真正爱上一个人的时候,那就是常量限定,永远不会改变。女朋友就是私有变量,只有我这个类才能调用。情人就是指针用的时候一定要注意,要不然就带来巨大的灾难4、Java控制语句

分支语句:if-else,switch

循环语句:while,do-while,for

与程序转移有关的其它语句:

break,continue,return

例外处理语句:try-catch-finally,throw if(boolean-expression1){ statements1;} elseif(boolean-expression2){statements2;}…else{statementsN;}4、Java控制语句

——条件语句if-else

布尔表达式boolean-expression是任意一个返回布尔数据类型的表达式,而且必须是(比C或C++要严格)。与C或C++一样,每个单一语句后面都要有分号。为了增强程序的可读性,应将if或else后的语句用{}括起来。

else子句是任选的,不能单独作为语句使用,它必须和if语句配对使用,并且总是与离它最近的if配对。inti1=123;inti2=456;if(i1>i2){System.out.println(“Thebiggeroneis:”+i1);}else{System.out.println(“Thebiggeroneis:”+i2);}4、Java控制语句

——条件语句if-else switch(expression)

{ casevalue1:

{statements1; break;

}

…… casevalueN:

{ statementsN; break;

}

[default: { defaultStatements; }] }4、Java控制语句

——多分支语句switch

表达式expression的返回值类型必须是这几种类型之一:int、byte、char、short。

case子句中的值valueI必须是常量,而且所有case子句中的值应是不同的。

default子句是任选的。

break语句用来在执行完一个case分支后,使程序跳出switch语句,即终止switch语句的执行。(如果某个case分支后没有break语句,程序将不再做比较而执行下一个分支。)

switch语句的功能可以用if-else语句来实现,但某些情况下,使用switch语句更简炼。4、Java控制语句

——多分支语句switchinta=100;intb=20;intc;charoper=‘+’;switch(oper){case‘+’:{c=a+b;break;}case‘-’:{c=a-b;break;}default:{c=a*b;break;}}4、Java控制语句

——多分支语句switch

循环语句while(当型循环)

[initialization]//初始化条件

while(termination){//循环条件

body;//循环体

[iteration;]//迭代,变更循环条件

}当表达式termination为true时,执行{}中的语句,否则终止循环。tbfalsetrue4、Java控制语句

——循环语句while(当型循环)

循环语句do-while(直到型循环)

[initialization]//初始化条件

do{ body;//循环体

[iteration;]//迭代,变更循环条件

}while(termination);//循环条件首先执行一遍{}中的语句,当表达式termination为true时,继续执行{}中的语句,否则终止循环。(一个例子TestDo.java)tbfalsetrue4、Java控制语句

——循环语句do-while(直到型循环)

循环语句for(另一种当型循环)for(initialization;termination;iteration){ body;//循环体}initialization//初始化条件

termination//循环条件

iteration//迭代,变更循环条件tbodyfalsetrueiterainit4、Java控制语句

——循环语句for(另一种当型循环)练习请打印出1到100以内所有的奇数?(PrintOddNum.java)for语句执行时,首先执行初始化操作,然后判断终止条件是否满足,如果满足,则执行循环体中的语句,最后执行迭代部分。完成一次循环后,重新判断终止条件。初始化、终止以及迭代部分都可以为空语句(但分号不能省),三者均为空的时候,相当于一个无限循环。在初始化部分和迭代部分可以使用逗号语句,来进行多个操作。逗号语句是用逗号分隔的语句序列。

for(inti=0,intj=10;i<j;i++,j--) { …… }4、Java控制语句

——循环语句for(另一种当型循环)intn=1,sum=0;while(n<=10){sum=sum+n;n++;}intn=10,sum=0;do{sum+=n;n--;}while(n>0);intsum=0;for(inti=1;i<=10;i++){sum+=i;}while循环do-while循环for循环4、Java控制语句

——循环语句练习编写一个打印三个矩形的程序(Func1.java)*************************************************************************在switch语中,break语句用来终止switch语句的执行,使程序从整个switch语句后的第一条语句开始执行。在循环语句中,break用于终止并跳出循环,从紧跟着循环体代码段后的语句执行。在Java中,可以为每个代码块加一个标号,一个代码块通常是用大括号{}括起来的一段代码。加标号的格式为:BlockLabel:{codeBlock;}break语句的第二种使用情况就是跳出它所指定的块,并从紧跟该块后的第一条语句处执行。

BlockLabel:{codeBlock;

breakBlockLabel;

codeBlock;}4、Java控制语句

——程序转移相关语句breaka:{//标记代码块a…… b:{ //标记代码块b……c:{//标记代码块c…… breakb; ……//这段语句将不执行

}//代码块c结束

…… //这段语句也不执行

}//代码块b结束

…… //从这段语句开始执行}//代码块a结束4、Java控制语句

——程序转移相关语句breakcontinue语句用来结束本次循环,跳过循环体中下面尚未执行的语句,接着进行终止条件的判断,以决定是否继续循环。对于for语句,在进行终止条件的判断前,还要先执行迭代语句。它的格式为:continue;也可以用continue跳转到括号指明的外层循环中,这时的格式为continueouterLable;4、Java控制语句

——程序转移相关语句continueouter:for(inti=0;i<10;i++)//外层循环{inner:for(intj=0;j<10;j++)//内层循环

{

if(i<j){ ……

continueouter; } ……}//内层循环结束

……}//外层循环结束for(inti=0;i<10;i++){if(i==5){continue;}

……}4、Java控制语句

——程序转移相关语句continuereturn语句从当前方法中退出,返回到调用该方法的语句处,并从紧跟该语句的下一条语句继续程序的执行。返回语句有两种格式:

returnexpression;//当方法需要返回某种类型数据时

return;//当方法的返回类型为void时单独一条return语句放在方法中间时,会产生编译错误,因为其后的语句将不会执行到。若真需要退出方法,可以通过将return语句嵌入某些语句(如if-else)来使程序在未执行完方法中所有语句时退出。4、Java控制语句

——程序转移相关语句return函数(准确得说,在java里叫方法)返回值类型函数名(参数类型形式参数1,参数类型形式参数2,….){程序代码

return返回值;}其中:形式参数:在方法被调用时用于接收外部传入的数据的变量。参数类型:就是该形式参数的数据类型。返回值:方法在执行完毕后返还给调用它的程序的数据。返回值类型:函数要返回的结果的数据类型。实参:调用函数时实际传给函数形式参数的数据。如何理解函数返回值类型为void的情况练习用函数再编写一个打印三个矩形的程序

(Func2.java)函数的调用函数调用的格式(Func3.java)在函数中使用return提前返回(Func4.java)函数调用的过程分析函数的重载函数的重载就是在同一个类中允许同时存在一个以上的同名函数,只要它们的参数个数或类型不同即可。如:

publicclassTest

{ publicstaticvoidmain(String[]args) { intisum; doublefsum; isum=add(3,5); isum=add(3,5,6); fsum=add(3.2,6.5); } publicstaticintadd(intx,inty) { reutrnx+y; } publicstaticintadd(intx,inty,intz) { returnx+y+z; } publicstaticdoubleadd(doublex,doubley) { returnx+y; } }

在进行程序设计时,错误的产生是不可避免得。如何处理错误?把错误交给谁去处理?程序又该如何从错误中恢复?这是任何程序设计语言都必须面对和解决的问题。Java语言中是通过例外(Exception)来处理错误的。我们将在第六讲中详细介绍例外及其处理。4、Java控制语句

——例外处理语句try-catch-finally,throw5、Java类定义规范

Java是一种面向对象的程序设计语言,具备面向对象技术的基本属性。类是Java中体现面相对象特征的主要内容,它是Java中的一种重要数据类型,是组成Java程序的基本要素。我们将在下一节课中详细介绍类的定义以及与之相关的对象、包、接口等概念。6、Java数组

在Java语言中,数组是一种最简单的复合数据类型(引用数据类型)。数组是有序数据的集合,数组中的每个元素具有相同的数据类型,可以用一个统一的数组名和下标来唯一地确定数组中的元素。数组有一维数组和多维数组。我们将在后面的课程中介绍。多数编程语言都有预选编译好的类库以支持各种特定的功能在Java中,类库以包(package)的形式提供不同版本的Java提供不同的包,以面向特定的应用Java2平台包括标准版(J2SE)、企业版(J2EE)和微缩版(J2ME)三个版本7、Java开发类库组成StandardEdition J2SE 包含那些构成Java语言核心(标准版) 的类。数据库连接、接口定义、输入/输出、网络编程EnterpriseEditionJ2EE 包含J2SE中的类,并且还包(企业版) 含用于开发企业级应用的类。EJB、servlet、JSP、XML、事务控制MicroEdition J2ME 包含J2SE中一部分类,用于(微缩版) 消费类电子产品的软件开发。呼机、智能卡、手机、PDA、机顶盒7、Java开发类库组成

——Java2的三个版本Java提供了丰富的标准类来帮助程序设计者更方便快捷地编写程序,这些标准类组成了类包,主要有:java.langjava.awtjava.appletjava.awt.imagejava.awt.peerjava.iojava.util……除了java.lang之外,其余类包都不是java语言所必须的。7、Java开发类库组成

——J2SE的类包Language java.lang 构成Java语言核心的类Object,Math,String,Number,Exception,System,Runtime……Utilities java.util 提供实用的数据结构Vector,Stack,Hashtable……/Colloection,List,Set,Map……I/O java.io 提供多种类型的输出/输出I

温馨提示

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

评论

0/150

提交评论