switch - 分支控制
- switch (表达式){case 常量1: 语句1; breack:} -- 语法
- breack 退出当语句,如果没有brack执行完该语句就会去执行下一个语句直到brack
- default 如果没有匹配的就执行到该语句
char sex = '人'; //常量
switch (sex){ //表达式的值一般为常量
case '男':
case '人': //可以多个判断
System.out.println("男");
break;
case '女':
System.out.println("女");
break;
default:
System.out.println("你输入的字符不正确,没有匹配的");
}
for循环控制
- for(循环变量初始化;循环条件;循环变量迭代){语句};- 语法
- 使用IDEA编辑可以通过fori快速输出语句
//打印 1~100 之间所有是 9 的倍数的整数,统计个数 及 总和
int a = 0;
int b = 0;
for (int i = 0; i <= 100; i++) {
if(i % 9 == 0){
a+=i;
b++;
System.out.println(i);
}
}
System.out.println(a);
System.out.println(b)
while循环控制
- while(循环条件){语句};
- 循环条件为布尔值
//使用while打印 1—100 之间所有能被 3 整除的数
int i = 1;
while (i <= 100){
if(i % 3 == 0){
System.out.println(i);
}
i++;
}
do..while 循环控制
- do{语句}while(循环条件);{语句};
- do..while特点:先执行再判断,执行执行一次 - 就是肯定会执行do语句中一次,在判断该while,false就退出循环
- 细节:while中的才是条件判断,do是肯定会执行
int i = 1;
int sum = 0;
do{
System.out.println(i);
i++;
sum+=i;
//被5整除,不能被3整除的数
if(i % 5 == 0 && i % 3 != 0){
System.out.println("被 5 整除="+i);
}
}while (i <= 50);{
System.out.println("退出do...while循环");
System.out.println("50的和="+sum);
}
//一直循环问是否还钱
Scanner scanner = new Scanner(System.in);
boolean a = true;
char next = ' ';
do{
System.out.print("是否还钱?:");
next = scanner.next().charAt(0);
if(next == 'n'){
System.out.println("打");
}
}while(next != 'y');{
System.out.println("放你一马");
}
多重循环控制
- 将一共循环体放到另一共循环体内,就形成了嵌套循环
-
// i = 2条件为真,那么j循环就会进行一次,循环到i为假
for (int i = 1; i <= 2 ; i++) {
System.out.println("i"+i);
for (int j = 1; j <= 3; j++) {
System.out.println("j"+j);
}
}
//打印九九乘法表
//思路:
i循环第一次为1,输出1,j循环第一次也为1,输出1
i循环第二次为2,输出2,j循环第二次为1,2,输出1,2,以此类推得到九九乘法表
for (int i = 1; i <= 9; i++) {
for (int j = 1; j <= i ; j++) {
System.out.print(j+"*"+i+"="+i*j+"\t");
}
System.out.println();
}
跳转控制语句-break-continue-return
- break - 终止某个语句的执行 一般使用在 switch 或者循环[for , while , do-while]中
- continue - 结束本次循环,进行执行下一次循环
- return - 跳出当前方法
for (int i = 1; i <= 100 ; i++) {
if(i == 88){
System.out.println(i);
break;//i==88的就跳出整个整个循环,下面结束也就不输出了
}
System.out.println("结束");//打印到i=88的时候就停止了
}
for (int j = 1; j <= 100 ; j++) {
if(j == 66){
continue;//j==66就跳过,可以看到输出j的时候66是没有的
}
System.out.println(j);//当j=66就跳过,进行执行下面
}
for (int n = 1; n <= 100 ; n++) {
if(n == 66){
return;
}
System.out.println(n);//当j=66就跳出当前方法,就是j=66该for循环结束
}