分享
 
 
 

Java学习笔记(四)

王朝java/jsp·作者佚名  2006-01-09
窄屏简体版  字體: |||超大  

================================

=== 第四章 Java的流控制 = d1 )

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

else

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

}

}

运行结果是:

c:\javac CompareTwo.java

C:\java CompareTwo

35.1 = 23.4

例4-2 判断某一年是不是闰年。

做过c/c++的程序已经看到过很多次了,但是现在还是要来说说。

首先,我们应该明确判断闰年的条件是什么?

①、能被4整除,但不能被100整除;

②、能被4整除,又能被100整除。

以上两个条件,任意一个符合都是闰年。

public class LeapYear

{

public static void main( String args[] )

{

int year=1989; //method 1

if( (year%4==0 && year%100!=0) || (year%400==0) )

System.out.println(year+" is a leap year.");

else

System.out.println(year+" is not a leap year.");

year=2000; //method 2

boolean leap;

if( year%4!=0 )

leap=false;

else if( year%100!=0 )

leap=true;

else if( year%400!=0 )

leap=false;

else

leap=true;

if( leap==true )

System.out.println(year+" is a leap year.");

else

System.out.println(year+" is not a leap year.");

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+" is a leap year.");

else

System.out.println(year+" is not a leap year.");

}

}

运行结果为

C:\java LeapYear

1989 is not a leap year.

2000 is a leap year.

2050 is not a leap year.

4-1-1-2 多分支语句 switch

格式是:

switch ( expression )

{

case value1 : statement1 ; break ;

case value2 : statement2 ; break ;

case value3 : statement3 ; break ;

……………………

case valueN : statementN ; break ;

[ default : defaultStatement ; ]

}

大部分说明应该都可以理解,特别要说明的是:

1、case后面的value应该(必须)是常量,并且,所有case后面的value都不应该相同。

2、break是用来中断循环的,但是,对于一些特殊情况,多个不同的case值要执行一组的相同操作数,这时,就可以不用break。

对于后面的一些一句,比较简单,就不多说了。

§4-2 Java循环语句

对于循环语句,始终要记住,一个循环体包含下面四个部分:

第一、初始化(Initialization)部分:一般用来设置一些循环的初始条件和计数器清零等等。

第二、循环体(Body)部分:这一部分是反复循环的一段代码,可以是单一的一条语句,也可以是复合语句。

第三、迭代(Iteration)部分:这一部分是在当前循环结束,下一次循环开始并执行的语句,常常用来使计数器加1或者减1。

第四、终止(Termination)部分:通常是一个布尔表达式,每一次循环要对该表达式求值,以验证是否满足循环终止条件。

和C/C++一样,Java提供的循环语句有:while,do-while,for三个语句。

4-2-1 while 语句用来实现“当型”循环,一般格式是:

[initialization]

while ( termination )

{

body ;

[interation;]

}

“当型”循环的特点是:首先判断循环终止的条件是否满足,如果满足,则执行循环体中的语句,如果不满足,就不执行循环体。

4-2-2 do-while 语句用来实现“直到型”循环,一般格式是:

[initialization]

do

{

body ;

[interation;]

}while (termination);

“直到型”循环的特点是:首先执行循环体,然后计算终止条件,如果结果为“true”,则循环执行大括号中的语句,直到布尔表达式的结果是“false”。

4-2-3 for 语句也是用来实现“当型”循环的,一般格式是:

for ( initialization ; termination ; iteration )

{

body ;

}

for语句的循环最为灵活,最为好用,在执行的时候,首先进行初始化,然后判断终止条件是否满足,如果满足,则执行循环体中的语句,最后执行迭代部分。完成一次循环之后,重新判断终止条件。

对于for语句小括号里面的三个部分,可以任意写(中间的分号“;”不能少!),也可以全部不写,但是,如果全部不写,整个for循环就相当于一个死循环。

§4-3 break语句和continue语句

下面来说说break语句和continue语句。

4-3-1 break 语句

break 语句主要用于多分支选择语句 switch 里面。它的作用是:

1、用在switch里面的时候,break语句用来在执行完一个case分支之后使程序跳出switch语句,即终止seitch语句的执行,让程序switch语句后的第一个语句开始执行。

2、在Java中,可以为每个代码块加一个括号,一个代码块通常用大括号“{”“}”括起来的一段代码。加标号的格式如下:

BlockLabel: { codeBlock }

因此,break语句的第二种使用情况就是跳出它所指定的块,并从紧跟该块的第一条语句处执行。其格式为:

break BlockLabel;

例如:

a: {…… //标记代码块a

b: {…… //标记代码块b

c: {…… //标记代码块c

break b;

…… //will not be executed

}

…… //will not be executed

}

…… //will not be executed

}

…… /execute from here

}

从这里,可以看出Java与C/C++不同,Java中没有goto语句来实现任意的跳转,因为goto语句破坏程序的可读性,而且影响编译的优化。但是从上例可以看出,Java用break来实现goto语句所特有的一些优点。如果break后所指定的标号不是一个代码块的标号,而是一个语句,则这时,break完全实现了goto的功能。不过应该避免这种方式的使用。

4-3-2 continue语句

1、continue语句使用来结束本次循环,跳过循环体中continue后面尚未执行的部分语句,接着进行终止条件的判断,以决定是否继续循环。对于for语句来说,在进行终止条件的判断之前,还要执行迭代语句。它的格式是:

continue ;

2、也可以用continue语句来跳转到括号指明的外层循环中,这时的格式为:

continue outerLable;

例 如 :

outer: for( int i=0; i<10; i++ ) ∥外层循环

{

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

{

if( j>i )

{

……

continue outer;

}

……

}

……

}

在该例中,当满足j>i的条件时,程序执行完相应的语句后跳转到外层循环,执行外层循环的迭代语句i++;然后开始下一次循环。

§4-4 return语句和注释语句

4-4-1 return 语句

return语句是从当前的方法中退出,返回到调用该方法的语句处继续执行程序。return语句主要有两种格式:

1、return expression

返回一个值给调用该方法的语句,返回值的数据类型,必须与方法声明中的返回值类型一致。也可以使用强制类型转换来使类型一致。

2、retuen

当方法说明中用void声明返回类型为空时,就应该使用这种格式,即不返回任何值。

4-4-2 注释语句

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

1、 ∥用于单行注释。注释从 ∥ 开始,终止于行尾。

2、 /* … */ 用于多行注释。注释从 /* 开始,到 */ 结束,且这种注释不能互相嵌套。

3、 /** … */ 是Java所特有的doc注释。它以/**开始,到*/结束。这种注释主要是为支持JDK工具javadoc而采用的。javadoc能识别注释中用标记@标识的一些特殊变量,并把doc注释加入它所生成的HTML文件。对javadoc的详细讲述可参见附录。

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有