一、for循环
格式:
for(初始化条件语句;判断条件语句;控制条件语句){
语句体
}
//九九乘法表
for (int i = 1; i <= 9; i++) {
for (int j = 1; j <= i; j++) {
System.out.print(j + "*" + i + "=" + (j * i) + "\t");
}
System.out.println();
}
注意事项:for(;;)就是无条件执行,会变成死循环。
二、while循环
格式:
while (判断条件语句){
循环语句体;
}
// 8848m,我现在有一张足够大的纸张,厚度为:0.01m。请问,我折叠多少次,就可以保证厚度不低于珠穆朗玛峰的高度?
*/
public class WhileTest1 {
public static void main(String[] args) {
int high = 884800;
int houDu = 1;
int count = 0;
while (houDu<high){
houDu*=2;
count++;
}
System.out.println("共折叠 "+count+" 次,最终厚度为:"+houDu);
}
}
三、do……while循环
格式:
do{
循环体语句;
控制条件语句;
}while(判断条件语句);
do..while循环,无论条件是否满足,都会执行一次循环体内容。
public class DoWhileDemo1 {
public static void main(String[] args) {
//在控制台中输出10行hello world
// for(int i=1;i<=10;i++){
// System.out.println("hello world");
// }
// System.out.println("-------------------------");
int i=1;
while(i>10){
System.out.println("hello world");
i++;
}
System.out.println("-------------------------");
int j=1;
do{
System.out.println("hello world");
j++;
}while (j>10);
}
}
四、switch循环
格式:
switch(表达式){
case 常量值1:
语句体1;
break;
case 常量值2:
语句体2;
break;
case 常量值3:
语句体3;
break;
...
default:
语句体n;
break;
}
/*
注意事项:
1.表达式的取值:byte,short,int,char,JDK5以后可以是枚举,JDK7以后可以是String。
2.case后面只能是常量,不能是变量。
3.执行流程:
先计算表达式中的结果值,然后拿着这个值自上而下与每一个case后面的常量值进行比较,
如果有匹配的值,就执行对应case中的语句体,当遇到break
结束整个switch语句。若没有case与之对应匹配的值,就会执行default语句中的语句体,
当遇到break就结束整个switch语句。
4、严格按照第三步的执行流程。
5、default一定要有吗?不一定,如果有程序会更加严谨
6、default一定要写在最后一个吗?不一定,可以放在switch中的任意位置。不影响运行流程
7、break可以不写吗?可以不写,但是可能会发生switch穿透
*/
//根据分数求等级
import java.util.Scanner;
public class ceshi {
public static void main(String[] args) {
Scanner sc=new Scanner(System.in);
int a=sc.nextInt();
switch(a/10){
case(10):
case(9):
System.out.println("A级");
break;
case(8):
System.out.println("B级");
break;
case(7):
System.out.println("C级");
break;
case(6):
System.out.println("D级");
break;
default:
System.out.println("E级");
break;
}
}
}
五、break语句
注意事项:
1、break不能单独使用,毫无意义
2、要在switch语句或者循环语句中使用
//需求:输出99乘法表,当内循环j为4的时候,使用break
for (int i = 1; i <= 9; i++) {
for (int j = 1; j <= i; j++) {
if(j==4){
break; // 默认终止的是最近的循环
}
System.out.print(j + "*" + i + "=" + (j * i) + "\t");
}
System.out.println();
}
//需求:输出99乘法表,当内循环j为4的时候,使用break,结束整个循环
wc: for (int i = 1; i <= 9; i++) {
nc: for (int j = 1; j <= i; j++) {
if(j==4){
break wc; // 默认终止的是最近的循环
}
System.out.print(j + "*" + i + "=" + (j * i) + "\t");
}
System.out.println();
}