前言
顺序、分支判断、循环可以构建出任何复杂的程序逻辑。
一、条件判断语句
1.If 条件分支
和Python一样在Java中如果1条件满足多个if分支,那么全走一遍;
如果1个条件满足多个else if分支,只会选择其中1个else if分支;
package process_control; import java.util.Scanner; public class TestIf { public static void main(String[] args) { //1.匹配多个if分支 System.out.print("请输入您的姓名: "); Scanner sc = new Scanner(System.in); String name = sc.next(); int name_length = name.length(); System.out.println(name_length); if (name_length > 1) { System.out.println("满足条件1:长度大于1"); } if (name_length == 3) { System.out.println("满足条件2:长度等于"); } else { System.out.println("输入无效"); } System.out.print("请输入您的年龄: "); //2.匹配1个else if 分支 int age = sc.nextInt(); if (age > 18) { System.out.println("满足条件1:年龄大于18岁"); } else if (age == 20) { System.out.println("满足条件2:年龄是20岁"); } else { System.out.println("输入无效"); } } }
2.Switch分支
Switch分支可以帮助我们判断变量的值是否在一个固定的区间范围之内?
package process_control; import java.util.Scanner; public class TestSwitch { public static void main(String[] args) { System.out.print("请输入今天是周几: "); Scanner sc = new Scanner(System.in); int number = sc.nextInt(); if (number == 1) { System.out.println("今天是周一"); } else if (number == 2) { System.out.println("今天是周二"); } else if (number == 3) { System.out.println("今天是周三"); } else if (number == 4) { System.out.println("今天是周四"); } else if (number == 5) { System.out.println("今天是周五"); } else if (number == 6) { System.out.println("今天是周六"); } else if (number == 7) { System.out.println("今天是周日"); } else { System.out.println("输入无效"); } //如果switch的case中没有写break,会出现case穿透现象; //1个case匹配成功之后,依然会执行后面的case的代码; switch (number) { case 1: System.out.println("周一"); break; case 2: System.out.println("周二"); break; case 3: System.out.println("周三"); break; case 4: System.out.println("周四"); break; case 5: System.out.println("周五"); break; case 6: System.out.println("周六"); break; case 7: System.out.println("周日"); break; default: System.out.println("无效"); break; } //我们可以利用case穿透现象 switch (number) { case 1: case 2: case 3: System.out.println("第1季度"); break; case 4: case 5: case 6: System.out.println("第2季度"); break; case 7: case 8: case 9: System.out.println("第3季度"); break; case 10: case 11: case 12: System.out.println("第4季度"); break; } } }
3.java三目运算
(x < y) ? -1 : ((x == y) ? 0 : 1);
二、循环语句
如果产品经理的需求是让你在屏幕中输出100次字符串 "Hi, Helloween",你肯定会想到循环,是的循环可以减少相同的代码被重复编写;
但是代码还是会重复执行的;
1.while和do...while循环
do while循环就是while循环反着写;
while循环和do...while循环的区别:
while循环是先判断,再执行.....
do while循环,会先执行再判断...
所以即便是while中条件不成立,do while循环也会先执行1次do代码块;
package process_control; public class TestWhile { public static void main(String[] args) { int i = 0; while (i <= 100) { System.out.println(i); i++; } /* while循环和do...while循环的区别 do while循环就是while循环反着写, 但是do while循环,会先执行再判断.... while循环是先判断,再执行..... 所以即便是while中条件不成立,do while循环也会先执行do */ int i2 = 0; do { System.out.printf("i2--%s ", i2); i2++; } while (i2 <= 100); } }
2.for循环
package process_control; public class TestFor { public static void main(String[] args) { for (int i = 10; i > 0; i--) { System.out.println(i); } //死循环 for (; ; ) { for (int i = 0; i < 100; i++) { System.out.println("Hi,Helloween."); } } } }
三、循环控制
和Python一样,在Java中我们可以在循环中使用break退出整个循环,使用continue跳过本次循环;
package process_control; public class TestBreak { public static void main(String[] args) { //1.continue:跳出本次循环 for (int i = 0; i < 10; i++) { if (i == 4) { continue; } System.out.println(i); } //2.break:终止整个循环 for (int i = 0; i < 10; i++) { if (i == 3) { System.out.println("程序退出!"); break; } System.out.printf("i--%d ", i); } } }
参考