循环结构
1.1. switch语句
是多重if等值判断的代替
switch(value||表达式){
case 值1:
//代码
break;
case 值2:
//代码
break;
default
//仅当所有case不成立,执行该语句后代码。
}
判断switch括号中的值与哪个case的值相等。
注意
-
switch括号中变量的类型
-
byte、short、char、int、String。
-
-
case后面没有break
从满足条件的case处开始执行,直到break为止。
-
case后面的值必须不同,且不能声明同名变量
-
default仅当所有的case都不成立才执行,通常default放在最后
实例:
package com.switchdemo;
import java.util.Scanner;
public class SwitchDemo_01 {
public static void main(String[] args) {
//输入月份判断该月有多少天
Scanner sc = new Scanner(System.in);
int month = sc.nextInt();
int day=30;
if(month==1 || month==3||month==5||month==7
||month==8||month==10||month==12) {
day=31;
}else if(month==4||month==6||month==9||month==11) {
day=30;
}else{
day=28;
}
switch(month) {
case 1:
case 3:
case 5:
case 7:
case 8:
case 10:
case 12:
day=31;
break;
case 4:
case 6:
case 9:
case 11:
day=30;
break;
default:
day=28;
break;
}
System.out.println(day);
}
}
1.2. while循环
当条件成立时,执行内部循环体。
1.2.1. 语法
while(循环变量){
循环体;
改变变量值;
}
注意:
-
循环变量,设置起始值,遍历数组、集合、字符串,一般都从0开始
-
循环条件,设置循环执行的条件
-
改变循环变量的值
1.3. for循环
1.3.1. 语法
for(循环变量;循环范围;改变变量值){
循环体;
}
for循环和while循环没有本质区别,只是适用场景不同。
以连续打印0-9为例:
for(int i=0;i<10;i++){
System.out.println(i);
}
为更方便理解在后续描述中我们把循环变量位置的代码我们命名为a(i=0),循环范围命名为b(i<10),改变变量值命名为c(i++),循环体命名为d(打印i的值)。
代码运行逻辑为a--b--d--c--b--d--c…… bdc如此循环,循环变量的赋值也就是a代码块只执行一次。
1.4 do-while循环
1.4.1. 语法
//定义循环变量;
do{
//循环体
//改变变量值
}while(条件);
1.4.2. 特点
先执行后判断
例如用户登录界面.
1.5 跳转语句
1.5.1 break
跳出当前循环
for(i=0;i<4;i++){
if(i==2){
break;
}
}
System.out.println(i);//i=2
1.5.2 continue
跳过后面的语句,继续下一轮循环。
int sum=0;
for(i=0;i<4;i++){
if(i==2){
continue;
}
sum+=i;
}
System.out.println(sum);//sum=4