循环控制语句
-
流程控制语句——控制程序的执行流程
-
顺序结构:按照代码顺序
-
分支结构:
if分支:
格式一:
if(条件表达式) {
语句体;
}
格式二: 非此即彼
if(条件表达式) {
语句体1;
} else {
语句体2;
}
格式三:
if(条件表达式) {
语句体1;
} else if(条件表达式) { // 多个else if
语句体2;
} else {
语句体3;
}
switch分支:
switch(表达式){
case 值1 :
执行代码;
break;
case 值2 :
执行代码;
break;
...
default:
执行代码n;
}
1、defaule是最后执行的,与放置位置无关,可以放到最前面
2、case执行会直接找到对应的case,但里面没有break,会继续执行下面所有的case和default,直到遇见break或者执行完default退出
switch适合值匹配
注意事项:
1、表达式类型只能是byte、short、int、char,JDK5开始支持枚举,JDK7开始支持String,不支持double、float、long
2、case给出的值不允许重复,且只能是字面量,不能是变量
3、不要忘记break,否则会出现穿透现象
switch(month){ // switch的穿透性
case 1 :
case 3 :
case 5 :
case 7 :
case 8 :
case 10 :
case 12 :
System.out.println(month+"月份是31天");
break;
case 2 :
System.out.println(month+"月份是28或29天");
break;
case 4 :
case 6 :
case 9 :
case 11 :
System.out.println(month+"月份是30天");
break;
default:
System.out.println(month+"月份错误");
循环结构
- for 循环
for(int i=0; i<10; i++){
循环语句;
}
// 水仙花数
for (int i = 100; i < 1000; i++) {
if (Math.pow(i % 10, 3) + Math.pow(i / 10 % 10, 3) + Math.pow(i / 100, 3) == i)
System.out.println(i);
}
- while循环
while(循环条件){
循环语句;
迭代语句;
}
- do while循环
第一次野蛮执行
do{
循环体语句;
迭代语句;
} while(循环条件)
- 死循环
经典做法:
while(true)
{
循环语句;
}
- 跳转关键字
break:跳出循环
continue: 跳出当前循环内执行语句,进入下一次循环(执行i++)
随机数Random类
- 猜数字
Random r = new Random();
int num = r.nextInt(100)+1;
Scanner s = new Scanner(System.in);
System.out.print("请输入数字: ");
int temp = s.nextInt();
while(temp != num){
if(temp > num)
System.out.println("猜大了,请重新输入:");
else
System.out.println("猜小了,请重新输入:");
temp = s.nextInt();
}
System.out.println("恭喜你,猜对了,是"+num);