java常用句型.docx

上传人:b****6 文档编号:5986713 上传时间:2023-01-02 格式:DOCX 页数:12 大小:20.99KB
下载 相关 举报
java常用句型.docx_第1页
第1页 / 共12页
java常用句型.docx_第2页
第2页 / 共12页
java常用句型.docx_第3页
第3页 / 共12页
java常用句型.docx_第4页
第4页 / 共12页
java常用句型.docx_第5页
第5页 / 共12页
点击查看更多>>
下载资源
资源描述

java常用句型.docx

《java常用句型.docx》由会员分享,可在线阅读,更多相关《java常用句型.docx(12页珍藏版)》请在冰豆网上搜索。

java常用句型.docx

java常用句型

∙第四章流控制概述

∙与C、C++相同,Java程序通过流控制来执行程序流,完成一定?

个语句组成的。

语句可以是单一的一条语句(如c=a+b;),也可以复合语句。

下面我们分别来介绍Java中的流控制语句,包括

1.分支语句:

if-else,break,switch,return.

2.循环语句:

while,do-while,for,continue.

3.例外处理语句:

try-catch-finally,throw

最后我们简单介绍一下注释语句。

∙条件语句if-else

∙if-else语句根据判定条件的真假来执行两种操作中的一种,?

的格式为:

if(boolean-expression)

statement1;

[else

statement2;]

1.布尔表达式boolean-expression是任意一个返回布尔型数据的达式(这比C、C++的限制要严格)。

2.每个单一的语句后都必须有分号。

3.语句statement1,statement2可以为复合语句,这时要用大括号{}?

起。

建议对单一的语句也用大括号括起,这样程序的可读性强,而且有利于程序的扩充(可以在其中填加新的语句)。

{}外面不加分号。

4.else子句是任选的。

5.若布尔表达式的值为true,则程序执行statement1,否则执行statement2。

6.if-else语句的一种特殊形式为:

if(expression1){

statement1

}elseif(expression2){

statement2

}……

}elseif(expressionM){

statementM

}else{

statementN

}

else子句不能单独作为语句使用,它必须和if配对使用。

else总是与离它最近的if配对。

可以通过使用大括号{}来改变配对关系。

7.举例:

例4.1比较两个数的大小,并按从小到大的次序输出。

publicclassCompareTwo{

publicstaticvoidmain(Stringargs[]){

doubled1=23.4;

doubled2=35.1;

if(d2>=d1)

System.out.println(d2+">="+d1);

else

System.out.println(d1+">="+d2);

}}运行结果为:

C:

\\>javaCompareTwo

35.1>=23.4

例4.2判断某一年是否为闰年。

闰年的条件是符合下面二者之一:

①能被4整除,但不能被100整除;②能被4整除,又能被100整除。

publicclassLeapYear{

publicstaticvoidmain(Stringargs[]){

intyear=1989;//method1

if((year%4==0&&year%100!

=0)||(year%400==0))

System.out.println(year+"isaleapyear.");

else

System.out.println(year+"isnotaleapyear.");

year=2000;//method2

booleanleap;

if(year%4!

=0)

leap=false;

elseif(year%100!

=0)

leap=true;

elseif(year%400!

=0)

leap=false;

else

leap=true;

if(leap==true)

System.out.println(year+"isaleapyear.");

else

System.out.println(year+"isnotaleapyear.");

year=2050;//method3

if(year%4==0){

if(year%100==0){

if(year%400==0)

leap=true;

else

leap=false;

}else

leap=false;

}else

leap=false;

if(leap==true)

System.out.println(year+"isaleapyear.");

else

System.out.println(year+"isnotaleapyear.");

}

}

运行结果为

C:

\\>javaLeapYear

1989isnotaleapyear.

2000isaleapyear.

2050isnotaleapyear.

该例中,方法1用一个逻辑表达式包含了所有的闰年条件,方?

2使用了if-else语句的特殊形式,方法3则通过使用大括号{}对if-else进行匹配来实现闰年的?

断。

大家可以根据程序来对比这三种方法,体会其中的联系和区别,在不同的场合选用适?

的方法。

∙多分支语句switch

switch语句根据表达式的值来执行多个操作中的一个,它的般格式如下:

switch(expression){

casevalue1:

statement1;

break;

casevalue2:

statement2;

break;

…………

casevalueN:

statemendN;

break;

[default:

defaultStatement;]

}

1.表达式expression可以返回任一简单类型的值(如整型、实?

、字符型),多分支语句把表达式返回的值与每个case子句中的值相比。

如果匹配成功,则?

行该case子句后的语句序列。

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

3.default子句是任选的。

当表达式的值与任一case子句中的?

都不匹配时,程序执行default后面的语句。

如果表达式的值与任一case子句中的值都不?

配且没有default子句,则程序不作任何操作,而是直接跳出switch语句。

4.break语句用来在执行完一个case分支后,使程序跳出switch语?

即终止switch语句的执行。

因为case子句只是起到一个标号的作用,用来查找匹配的入口?

从此处开始执行,对后面的case子句不再进行匹配,而是直接执行其后的语句序列,因此该在每个case分支后,要用break来终止后面的case分支语句的执行。

在一些特殊情况下,多个不同的case值要执行一组相同的操,这时可以不用break。

5.case分支中包括多个执行语句时,可以不用大括号{}括起。

6.switch语句的功能可以用if-else来实现,但在某些情况下,使switch语句更简炼,可读性强,而且程序的执行效率提高。

7.举例:

例4.3.根据考试成绩的等级打印出百分制分数段。

publicclassGradeLevel{

publicstaticvoidmain(Stringargs[]){

System.out.println("\\n**firstsituation**");

chargrade='C';//normaluse

switch(grade){

case'A':

System.out.println(grade+"is85~100");

break;case'B':

System.out.println(grade+"is70~84");

break;case'C':

System.out.println(grade+"is60~69");

break;case'D':

System.out.println(grade+"is<60");

break;default:

System.out.println("inputerror");

}System.out.println("\\n**secondsituation**");

grade='A';∥createrrorwithoutbreakstatement

switch(grade){

case'A':

System.out.println(grade+"is85~100");

case'B':

System.out.println(grade+"is70~84");

case'C':

System.out.println(grade+"is60~69");

case'D':

System.out.println(grade+"is<60");

default:

System.out.println("inputerror");

}System.out.println("\\n**thirdsituation**");

grade='B';∥severalcasewithsameoperation

switch(grade){

case'A':

case'B':

case'C':

System.out.println(grade+"is>=60");

break;case'D':

System.out.println(grade+"is<60");

break;default:

System.out.println("inputerror");

}

}

}

运行结果为

C:

\\>javaGradeLevel

****firstsituation****

Cis60~69

****secondsituation****

Ais85~100

Ais70~84

Ais60~69

Ais<60

inputerror

****thirdsituation****

Bis>=60

从该例中我们可以看到break语句的作用。

∙break语句

∙1.在switch语中,break语句用来终止switch语句的执行。

使程序switch语句后的第一个语句开始执行。

2.在Java中,可以为每个代码块加一个括号,一个代码块通常用大括号{}括起来的一段代码。

加标号的格式如下:

BlockLabel:

{codeBlock}

break语句的第二种使用情况就是跳出它所指定的块,并从紧?

该块的第一条语句处执行。

其格式为:

breakBlockLabel;

例如:

a:

{……//标记代码块a

b:

{……//标记代码块b

c:

{……//标记代码块c

breakb;

……//willnotbeexecuted

}

……//willnotbeexecuted

}

……//willnotbeexecuted

}

……/executefromhere

}

3.与C、C++不同,Java中没有goto语句来实现任意的跳转,因为goto语句破坏程序的可读性,而且影响编译的优化。

但是从上例可以看出,Java用break来实现goto语句所特有的一些优点。

如果break后所指定的标号不是一个代码块的标号,而是一个?

句,则这时break完全实现goto的功能。

不过应该避免这种方式的使用。

∙返回语句return

∙return语句从当前方法中退出,返回到调用该方法的语句处,句继续程序的执行。

(有关方法的内容,我们将在第六章详细讲)是一个方法)。

返回语句有两种格式:

1.returnexpression

返回一个值给调用该方法的语句,返回值的数据类型必须?

方法声明中的返回值类型一致。

可以使用强制类型转换来使类型一致。

2.return

当方法说明中用void声明返回类型为空时,应使用这种格式,?

不返回任何值。

return语句通常用在一个方法体的最后,以退出该方法并返一个值。

Java中,单独的return语句用在一个方法体的中间时,会产生编译错误,因为这时?

有一些语句执行不到。

但可以通过把return语句嵌入某些语句(如if-else)来使程序在未执?

完方法中的所有语句时退出,例如:

intmethod(intnum){

∥returnnum;∥willcausecompiletimeerror

if(num>0)

returnnum;

…… ∥mayormaynotbeexecuted

∥dependingonthevalueofnum

∙概述

∙循环语句的作用是反复执行一段代码,直到满足终止循环?

条件为止,一个循环一般应包括四部分内容:

1.初始化部分(initialization):

用来设置循环的一些初始条件,计数器清零等。

2.循环体部分(body):

这是反复循环的一段代码,可以是单一一条语句,也可以是复合语

句。

3.迭代部分(iteration):

这是在当前循环结束,下一次循环开始执行的语句,常常用来使计数器加1或减1。

4.终止部分(termination):

通常是一个布尔表达式,每一次循环要对该表达式求值,以验证是否满足循环终止条件。

Java中提供的循环语句有:

while语句,do-while语句和for语句,下分别介绍。

∙while语句

∙while语句实现"当型"循环,它的一般格式为;

[initialization]

while(termination){

body;

[iteration;]

}

1.当布尔表达式(termination)的值为true时,循环执行大括号中语句。

并且初始化部分和迭代部分是任选的。

2.while语句首先计算终止条件,当条件满足时,才去执行循环中的语句。

这是"当型"循环的特点。

∙do-while语句

∙do-while语句实现"直到型"循环,它的一般格式为:

[initialization]

do{

body;

[iteration;]

}while(termination);

1.do-while语句首先执行循环体,然后计算终止条件,若结果为true,则循环执行大括号中的语句,直到布尔表达式的结果为false。

2.与while语句不同的是,do-while语句的循环体至少执行一次,?

是"直到型"循环的特点。

∙for语句

∙for语句也用来实现"当型"循环,它的一般格式为:

for(initialization;termination;iteration){

body;

}

1.for语句执行时,首先执行初始化操作,然后判断终止条件?

否满足,如果满足,则执行循环体中的语句,最后执行迭代部分。

完成一次循环后,重新判断?

止条件。

2.可以在for语句的初始化部分声明一个变量,它的作用域为?

个for语句。

3.for语句通常用来执行循环次数确定的情况(如对数组元素?

行操作),也可以根据循环结束条件执行循环次数不确定的情况。

4.在初始化部分和迭代部分可以使用逗号语句,来进行多个?

作。

逗号语句是用逗号分隔的语句序列。

例如:

for(i=0,j=10;i<j;i++,j--){

……

}

5.初始化、终止以及迭代部分都可以为空语句(但分号不能?

),三者均为空的时候,相当于一个无限循环。

∙continue语句

∙1.continue语句用来结束本次循环,跳过循环体中下面尚未执的语句,接着进行终止条件的判断,以决定是否继续循环。

对于for语句,在进行终止条件?

判断前,还要先执行迭代语句。

它的格式为:

continue;

2.也可以用continue跳转到括号指明的外层循环中,这时的格为

continueouterLable;

例如:

outer:

for(inti=0;i<10;i++){∥外层循环

for(intj=0;j<20;j++){∥内层循环

if(j>i){

……continueouter;

}

……

}

……

}

该例中,当满足j>i的条件时,程序执行完相应的语句后跳转?

外层循环,执行外层循环的迭代语句i++;然后开始下一次循环。

∙循环语句举例

∙例4.4下例分别用while、do-while和for语句实现累计求和。

publicclassSum{

publicstaticvoidmain(Stringargs[]){

System.out.println("\\n**whilestatement**");

intn=10,sum=0;∥initialization

while(n>0){∥termination

sum+=n;∥body

n--;∥iteration

}

System.out.println("sumis"+sum);

System.out.println("\\n**do_whilestatement**");

n=0;∥initialization

sum=0;

do{

sum+=n;∥body

n++;∥iteration

}while(n<=10);∥termination

System.out.println("sumis"+sum);

System.out.println("\\n**forstatement**");

sum=0;

for(inti=1;i<=10;i++){

∥initialization,termination,iteration

sum+=i;

}

System.out.println("sumis"+sum);

}

}

运行结果为:

C:

\\>javaSum

**whilestatement**

sumis55

**do_whilestatement**

sumis55

**forstatement**

sumis55

可以从中来比较这三种循环语句,从而在不同的场合选择合适的语句。

例4.5求100~200间的所有素数

publicclassPrimeNumber{

publicstaticvoidmain(Stringargs[]){

System.out.println("**primenumbersbetween100and200**");

intn=0;

outer:

for(inti=101;i<200;i+=2){∥outerloop

intk=15;∥selectforconvinencefor(intj=2;j<=k;j++){∥innerlop

if(i%j==0)

continueouter;

}

System.out.print(""+i);

n++;∥outputanewline

if(n<10)∥after10numbers

continue;

System.out.println();

n=0;

}

System.out.println();

}

}

运行结果为:

C:

\\>javaPrimeNumber

**primenumbersbetween100and200**

101103107109113127131137139149

151157163167173179181191193197

199

该例通过一个嵌套的for语句来实现。

!

U4§4.3例外处理语句

例外处理语句包括try、catch、finally以及throw语句。

与C、C++相比,例外处理语句是Java所特有的。

我们将在第八章作专门的介绍。

!

U4§4.4注释语?

Java中可以采用三种注释方式:

1∥ 用于单行注释。

注释从∥开始,终止于行尾。

2/*…*/用于多行注释。

注释从/*开始,到*/结束,且这种注释不能互相嵌套。

3/**…*/是Java所特有的doc注释。

它以/**开始,到*/结束。

这种注释主要是

为支持JDK工具javadoc而采用的。

javadoc能识别注释中用标记@标识的一些特殊变量,并把

doc注释加入它所生成的HTML文件。

对javadoc的详细讲述可参见附录。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 自然科学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1