注册
 找回密码
 注册
江西广告网
查看: 175|回复: 0
打印 上一主题 下一主题

JAVA程序员必读:基础篇(2.c)语言基础

[复制链接]

该用户从未签到

1
跳转到指定楼层
发表于 2008-12-27 17:42:17 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?注册

x
  语言基础   3.4 控制流程语句   程序使用控制流程语句来有条件地执行语句、循环语句或者跳转到程序中的其它部分执行语句。这节教程介绍怎样利用比如if-else和while来控制你的程序流程。   当你编写程序的时候,你在文件中键如语句。如果你没有使用控制流程语句,编译器将以从左到右、从上到下的顺序执行这些语句。你可以在你的程序中使用控制流程语句来有条件地执行语句、来重复执行语句块地代码、改变程序执行的顺序等等。比如,在下面的代码段中,if语句就有条件执行了括号中的System.out.println,这里的条件是Character.isUpperCase(aChar)的返回值:   char c;   ...   if (Character.isUpperCase(aChar)) {   System.out.println("The character " aChar " is upper case.");   }   JAVA编程语言提供了几个控制流程语句,在下表给出了:      3.4 控制流程语句   控制流程语句的基本格式为:   控制流程语句描述   {   语句(参数)   }   如果块中只有一条语句,大括号{和}并不是必要的。但是这里推荐使用{和},因为代码会更容易阅读,避免在修改代码的时候发生错误。   控制流程语句有:   while和do-while语句   for语句   if-else语句   switch语句   异常处理语句   分支语句   这里注意,虽然goto是一个保留字,它在C语言中也是一个控制流程语句,但是当前JAVA编程语言还不支持这个goto语句。   好吧,我们开始对各个控制流程语句逐个介绍。   3.4.1 while和do-while语句   你可以使用while语句当条件保持为true的时候,持续执行语句块。While语句的通常语法为:   while (expression) {   statement   }   首先,while语句执行表达式,它将返回一个boolean数(true或者false)。如果表达式返回true,while语句执行相应的语句。While语句继续测试表达式并执行块代码直到表达式返回false。   下面给出一个例程WhileDemo,它使用while语句来浏览字符串的各个字符并复制字符串直到程序找到字符g为止:   public class WhileDemo {   public static void main(String[] args) {   String copyFromMe = "Copy this string until you "   "encounter the letter 'g'.";   StringBuffer copyToMe = new StringBuffer();   int i = 0;   char c = copyFromMe.charAt(i);   while (c != 'g') {   copyToMe.append(c);   c = copyFromMe.charAt( i);   }   System.out.println(copyToMe);   }   }   最后一行打印出来的数值为:Copy this strin.   3.4.1 while和do-while语句   JAVA编程语言提供了另外一个语句,它跟while语句和相似,即do-while语句。Do-while的语法为:   do {   statement(s)   } while (expression);   不象while语句,do-while语句是先执行循环中的语句后再计算表达式的,所以do-while语句就至少执行一次语句。   下面是对上面的程序利用do-while来修改而得的:   public class DoWhileDemo {   public static void main(String[] args) {   String copyFromMe = "Copy this string until you "   "encounter the letter 'g'.";   StringBuffer copyToMe = new StringBuffer();   int i = 0;   char c = copyFromMe.charAt(i);   do {   copyToMe.append(c);   c = copyFromMe.charAt( i);   } while (c != 'g');   System.out.println(copyToMe);   }   }   最后一行打印出来的数值为:Copy this strin   3.4.2 for语句   for语句提供了一个简便的方法来进行循环。For语句的语法如下:   for (初始条件;终止条件;增量) {   语句   }   初始条件是初始化循环的表达式,它在循环开始的时候就被执行一次。而终止条件决定什么时候终止循环。这个表达式在每次循环的过程都被计算。当表达式计算结果为false的时候,这个循环结束。最后,增量是循环一次增加多少(即步长)的表达式。所有的这些都是可选的。实际上,为了实现无限制的循环,这三个表达式都可以省略。   for ( ; ; ) { // 无限制的循环   ...   }   下面是一个例程ForDemo,它使用了一个for语句来打印一个数组的所有元素:   public class ForDemo {   public static void main(String[] args) {   int[] arrayOfInts = { 32, 87, 3, 589, 12, 1076,   2000, 8, 622, 127 };   for (int i = 0; i = 90) {   grade = 'A';   } else if (testscore >= 80) {   grade = 'B';   }else if (testscore >= 70) {   grade = 'C';   } else if (testscore >= 60) {   grade = 'D';   } else {   grade = 'F';   }   System.out.println("Grade = " grade);   }   }   程序的输出为:   Grade = C   这时你可以注意到testscore的数值可以满足组合if条件76 >= 70 and 76 >= 60,但是当系统处理组合if语句的时候,一旦条件满足,适当的语句就将被执行(grade = 'C';),并且不需要计算剩余的条件控制就跳出if语句。JAVA编程语言支持运算符?:,它是一个简化的if语句。 下面再看看上面教程中的MaxVariablesDemo程序:   if (Character.isUpperCase(aChar)) {   System.out.println("The character " aChar " is upper case.");   } else {   System.out.println("The character " aChar " is lower case.");   }   下面你可以利用?:运算符来重写这段代码:   System.out.println("The character " aChar " is "   (Character.isUpperCase(aChar) ? "upper" : "lower")   "case.");   如果这个isUpperCase方法返回true,这个?:运算符返回字符串"upper" 。或则,它就返回字符串"lower"   3.4.4 switch语句   使用switch语句可以根据一个整型表达式有条件地执行语句。下面的例程SwitchDemo,声明了一个整型变量month,它的数值代表了月份。这个程序显示了月份的名字,主要是根据month的数值并且使用了switch语句。   public class SwitchDemo {   public static void main(String[] args) {   int month = 8;   switch (month) {   case 1: System.out.println("January"); break;   case 2: System.out.println("February"); break;   case 3: System.out.println("March"); break;   case 4: System.out.println("April"); break;   case 5: System.out.println("May"); break;   case 6: System.out.println("June"); break;   case 7: System.out.println("July"); break;   case 8: System.out.println("August"); break;   case 9: System.out.println("September"); break;   case 10: System.out.println("October"); break;   case 11: System.out.println("November"); break;   case 12: System.out.println("December"); break;   }   }   这个switch语句计算它的表达式,在这个例子中是计算month的数值,然后计算适当的
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表