您的位置:首页 > 编程语言 > Java开发

9. Java流程控制语句

2013-09-22 00:00 375 查看
转载自:http://my.oschina.net/brucelee80/blog

条件

if else

boolean b = true;
if (b) {
System.out.println(b + "is true.");
}
int i = 0;
if (i != 0) {
System.out.println(i + "is not zero.");
} else {
System.out.println(i + "is zero.");
}
int j = 0;
if (j < 0) {
System.out.println(j + "is littler than zero.");
} else if (j > 0) {
System.out.println(j + "is greater than zero.");
} else {
System.out.println(j + "is zero.");
}


switch case

int month = 2;
int year = 2013;
int numDays = 0;
switch (month) {
case 1:
case 3:
case 5:
case 7:
case 8:
case 10:
case 12:
numDays = 31; // 每月31天
break;
case 4:
case 6:
case 9:
case 11:
numDays = 30; // 每月30天
break;
case 2:
if (((year % 4 == 0) && !(year % 100 == 0)) || (year % 400 == 0)) {
numDays = 29; // 闰年2月29天
} else {
numDays = 28; // 否则28天
}
break;
default:
// 不在1~12月则是错误的月份
System.out.println("Invalid month.");
break;
}
System.out.println("Number of Days = " + numDays);


循环

for

for (int i = 1; i < 11; i++) {
System.out.println("Count is: " + i); // 打印1到10
}
int i=1是初始化语句

i<11是循环表达式,也叫终止语句

i++是迭代语句

for内部的是循环体语句 这些语句都可以省略,如果省略终止语句,就是一个无限循环

for (int i = 1;; i++) {
System.out.println("Count is: " + i); // 无限打印
}

for的初始化语句和迭代语句,可以是多条,用逗号隔开。

执行步骤:



while

int i = 1;
while (i < 11) {
System.out.println("Count is: " + i); // 打印1到10
i++;
}


do while

int j = 1;
do {
System.out.println("Count is: " + j);
j++;
} while (j < 11);


break/continue

for (int i = 0; i < 100; i++) {
if (i == 11) {break;}  // 如果到11,就停止循环
if (i % 2 == 0) {continue;} // 如果是偶数,就继续一下次循环
System.out.println(i); // 打印1,3,5,7,9
}


说明

switch语句中,当匹配到case语句,没有break; 那么之后的case不管是否匹配,都会执行。
int i = 1;
switch (i) {
case 0:
System.out.println("zero");
break;
case 1:
System.out.println("one"); // 匹配到1
// 注意,这里没有break;语句
default:
System.out.println("unkonw"); // 仍会执行
// 注意,这里没有break;语句
case 2:
System.out.println("two"); // 仍会执行
break;
case
3ff0
3:
System.out.println("three"); // 不执行
}
// 结果打印 one unkonw two
// 如果i=4,结果打印 unkonw two


switch支持的类型有:byte,short, char,int及其包装类,枚举类,String(JDK1.7新特性)。

JDK1.5新特性for的用法:
int[] ints = { 1, 2, 3 };
for (int i : ints) {
System.out.println(i);
}
好处是不用自己控制终止语句和自增语句,一次性全部遍历数组(或集合)里的元素;
坏处是你不知道当前元素的位置,这样就无法满足需要获得位置的代码。
比如代码需要根据当前元素的位置,来同时获取前一个元素。

while和do while的区别:
while是先判断再执行,do while是先执行再判断,所以do while至少会循环一次。

转载自:http://my.oschina.net/brucelee80/blog
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息