Java循环
一. Java循环介绍:
1. while :判断条件( 布尔表达式 )一定不能一直为 true,要不然会陷入死循环;
特点 : 先判断条件是否满足,满足则执行,反之;
while ( 布尔表达式 ){ //相关代码 }
2. do{}while() :总会执行一次,直到条件不满足;
特点 : 先执行,后判断;
do { //相关代码 }while(布尔表达式);
3. for :最先执行初始化步骤,然后,检测布尔表达式的值,再就执行一次循环,更新循环控制变量,再次检索布尔值;
特点 :使其循环结构变得更加简单; 在执行前,循环次数已被确定;
for( 初始化; 布尔表达式; 更新 ) { //相关代码 }
//死循环 for(; ; ) { }
4. 增强for :格式 :for(声明语句 : 表达式){ //代码语句 } 主要用于遍历 数组 / 对象 的增强型for循环。
特点 :声明语句 必须 与 表达式 的类型相同;
for( 声明语句 : 表达式 ) { //相关代码 }
二. while循环案例:
public class While_Laugh { public static void main(String[] args) { //先判断后执行 int i = 1; while (i<11){ //判断条件 //重点: 括号内一定不能一直为 true,要不然就会一直死循环 int s = i++; System.out.println(s); } } }
输出结果:
三. do while循环案例:
public class DoWhile_Laugh { public static void main(String[] args) { int i = 0; int sum = 0; //特点,先执行,后判断 总会执行一边 do { sum = sum + i; i++; }while (i<=100); System.out.println(sum); } }
输出结果:
四. For循环案例:
public class For_Laugh { public static void main(String[] args) { int i =0; for (i = 0; i<11; i++ ){ System.out.println(i); } } }
输出结果:
五. 增强For循环:
public class ZQ_For_Laugh { public static void main(String[] args) { String [] str = {"张三", "李四", "勇哥", "小锤子", "阿麻子" }; for(String x : str ){ System.out.println( x +", "); } } }
输出结果:
补充案例: //当时我学Java的时候老师让写过的一个是1-100奇数偶数的各个合,还有乘法表
案例1:1-100的奇数偶数各自的合:
public class For_Laugh_Demo { public static void main(String[] args) { //1-100的奇数偶数 各合 //正式版 int i = 0; int u = 0; for (int y = 0; y < 100; y++) { if(y%2==0){ i = i+y; }else { u = u+y; } } System.out.println("偶数合:"+ i); System.out.println("奇数合:"+ u); } }
输出结果:
案例二:1.1 乘法表:
public class For_Laugh_Demo { public static void main(String[] args) { //草率写法,不美观,But它是正确滴🤣,只是输出是一排,而且不是9*9的模板表 for (int i = 1; i < 10; i++) { for (int i1 = 1; i1 < 10; i1++) { System.out.println(i + "*" +i1+ "=" + i*i1); } } } }
输出结果:
案例二:1.2 乘法表:
public class For_Laugh_Demo { public static void main(String[] args) { //这下就是9*9的模板表 for (int i = 1; i < 10; i++) { for (int i1 = 1; i1 < i+1; i1++) { System.out.print(i1 + "*" +i+ "=" + i*i1 +"\t"); // \t:table 的意思; print:不换行; println:换行; } System.out.println(""); } } }
输出结果:
案例三:递归:
public class DiGui_Laugh { public static void main(String[] args) { //调用下面的方法 随便一个值(推荐:小一点的数字) 能不用就不要用递归(容易卡死哦) System.out.println(DiGui(5)); } //递归方法体 public static int DiGui(int DGY){ //判断每次进来的值 是否等于 1,如果等于直接返回1 if (DGY==1){ return 1; }else { //数字进来的数字分别为 5 4 3 2 1,输出的时候则为:1*2*3*4*5 //解释: 例如第一个穿进来的值为 10 的话,则DGY=10,DiGui=10-1;以此类推直到尽头🤣 return DGY*DiGui(DGY-1); } } }
输出结果:
争取摘到月亮,即使会坠落。