Java学习笔记(四)

2008-02-23 09:34:26来源:互联网 阅读 ()

新老客户大回馈,云服务器低至5折

================================ ===>>> 第四章 Java的流控制 <<<=== ================================ §4-1 Java流控制的分类 1、分之语句:if-else,break,switch,return。 2、循环语句:while,di-while,for,continue。 3、例外处理语句:try-catch-finally,throw。 4、注释语句(简单介绍)。 4-1-1 分支语句: 分之语句给我们提供了一个控制机制,它的作用就是跳过某些语句不执行,转而去执行特定的语句。 4-1-1-1 条件语句 if-else 格式是: if(boolean-expression) statement1; [else statement2;] 说明:1、布尔表达式boolean-expression是任意一个返回布尔型数据的表达式。 2、每一个单一的语句后面都必须有一个分号——“;”。 3、对于“statement1”和“statement2”两个部分,可以是单一的语句,也可一时复合的语句,对于单一和复合的语句来说,都要用大括号“{”“}”括起来,这样增加了程序的阅读性,也有利于程序的扩充。但要注意:“{”“}”外面没有分号“;”。 4、else子句是可选的,并不是一定要有的。 5、如果boolean表达式的值为真,则执行statement1,否则执行statement2。 6、对于多个if-else语句的选择,格式如下(只举一例): if (exprression1) { statement1; } else if (expression2) { statement2; } ………… else if (expressionM) { statementM; } else { statementN; } 7、else不能单独作为一个语句,必须和if一起使用,并且是和离它最近的if配对。但是可以通过大括号“{”“}”来改变配对关系。 例4-1 比较两个数的大小,并按照从小到大的次序排列。 public class CompareTwo { public static void main ( String args[ ] ) { double d1 = 23.4 ; double d2 = 35.1 ; if( d2 >= 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 && year0!=0) || (year@0==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( year0!=0 ) leap=true; else if( year@0!=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( year0==0 ) { if( year@0==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的详细讲述可参见附录。

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:Thinking in Java读书笔记(第七章) :重载,继承,重写和多态的区

下一篇:java编写TCP方式的通信程序