Java基础——逻辑控制

简介: Java基础——逻辑控制

前言:

       众所周知,我们学习一门语言要明白其控制语句,控制语句分为:选择语句和循环语句。话不多说,开始我们今天的学习吧!

一、选择语句

       1. if语句

       语法格式:

1. if(){
2. //括号中加判断条件,条件为Boolean形式    
3.          ; //此处加条件成立的执行语句;
4.       }
5. else{
6.           ;
7.       }

        练习:判断一个数字是奇数还是偶数。

1. int num = 10;
2. if(num %2 == 1){
3.         System.out.println(num+"是奇数");
4.     }
5. else{
6.         System.out.println(num+"是偶数");
7.     }
       悬垂 else 问题:

       在我们写代码时,一定会遇到若干个if与若干个else情况。那么?我们该如何处理这种情况呢?很简单,一言以弊之:else与最近的if配对

       2.switch语句

       语法格式:

1. switch()//表达式{
2. case //常量值:{
3. 
4. break;//根据具体需求
5.    }
6. default:{
7. //都不满足是执行
8.         }
9. 
10.     }

       执行流程:

       1. 先计算表达式的值

        2. 和case依次比较,一旦有响应的匹配就执行该项下的语句,直到遇到break时结束

       3. 当表达式的值没有与所列项匹配时,执行default

      注意:

       多个case后的常量值不可以重复

        switch的括号内只能是以下类型的表达式: 基本类型:byte、char、short、int,

       注意不能是long类型 引用类型:String常量串、枚举类型

       break 不要遗漏, 否则会失去 "多分支选择" 的效果

       switch 不能表达复杂的条件

       练习:根据 day 的值输出星期

1. int day = 1;
2. switch (day) {
3. case 1: {
4.                 System.out.println("星期一");
5. break;
6.             }
7. case 2: {
8.                 System.out.println("星期二");
9. break;
10.             }
11. case 3: {
12.                 System.out.println("星期三");
13. break;
14.             }
15. case 4:{
16.                 System.out.println("星期四");
17. break;
18.                 }
19. case 5:{
20.                 System.out.println("星期五");
21. break;
22.             }
23. case 6:{
24.                 System.out.println("星期六");
25. break;
26.             }
27. case 7:{
28.                 System.out.println("星期日");
29. break;
30.             }
31. default:{
32.                 System.out.println("输入错误");
33. break;
34.             }
35.         }
36.

二、循坏语句

       1.while 循环

       语法格式:

1. while(){//循坏条件
2.            ;//循环语句
3.        }

       循环条件为 true, 则执行循环语句; 否则结束循环。

      注意事项

        1. 和 if 类似, while 下面的语句可以不写 { } , 但是不写的时候只能支持一条语句。 建议还是加上 { }

       2. 和 if 类似, while 后面的 { 建议和 while 写在同一行。

        3. 和 if 类似, while 后面不要多写 分号, 否则可能导致循环不能正确执行。

       练习:计算 1! + 2! + 3! + 4! + 5!

1. int num = 5;
2. int sum = 0;
3. int count = num;
4. int ret = 1;
5. while(count >0){
6.           num = count;
7.           ret = 1;
8. while(num >0 ){
9.               ret *= num ;
10.               num--;
11.           }
12.           count--;
13.           sum +=ret;
14.       }
15.         System.out.println(sum);

       2.for循环

       语法格式:

1. for(//条件一;条件二;条件三){
2.          ;//循环条件
3.      }

       条件1: 用于初始化循环变量初始值设置,在循环最开始时执行,且只执行一次

       条件2: 循环条件,满则循环继续,否则循环结束

       条件3: 循环变量更新方式

       注意事项

        1. 和 if 类似, for 下面的语句可以不写 { } , 但是不写的时候只能支持一条语句。 建议还是加上 { }

       2. 和 if 类似, for 后面的 { 建议和 while 写在同一行。

       3. 和 if 类似, for 后面不要多写 分号, 否则可能导致循环不能正确执行。

       4. 和while循环一样,结束单趟循环用continue,结束整个循环用break。

       练习: 计算 1! + 2! + 3! + 4! + 5!

1. int sum = 0;
2. for(int i = 1;i <= 5;i++) {
3. int ret = 1;
4. for (int j = 1; j <= i; j++) {
5.             ret *= j;
6.         }
7.         sum +=ret;
8.         }
9.         System.out.println(sum);

       3.do-while循环

       语法格式:

1. do{
2. 循环语句;
3. }while(循环条件);

       先执行循环语句, 再判定循环条件,循环条件成立则继续执行,否则循环结束。

       练习:打印 1 - 10

1. int num = 1;
2. do {
3. System.out.println(num);
4. num++;
5. } while (num <= 10);

三、猜数字游戏

       我们对于上述结构了解的差不多了,接下来,我们来做一个简单的小项目来巩固一下吧。

       补充一个知识点:Random方法(大家可简单理解为:这调用了一个C语言的函数)。调用该方法可生成随机数字。使用方法如下:

1. Random random = new Random(); // 默认随机种子是系统时间
2. int toGuess = random.nextInt(100);//表示1-100

       用该方法会自动导包。

       接下来自己实现一下吧!参考代码如下:

1. import java.util.Random;
2. import java.util.Scanner;;
3. class Test {
4. public static void main(String[] args) {
5. Random random = new Random(); // 默认随机种子是系统时间
6. Scanner sc = new Scanner(System.in);
7. int toGuess = random.nextInt(100);
8. // System.out.println("toGuess: " + toGuess);
9. while (true) {
10.             System.out.println("请输入要输入的数字: (1-100)");
11. int num = sc.nextInt();
12. if (num < toGuess) {
13.                 System.out.println("低了");
14.             } else if (num > toGuess) {
15.                 System.out.println("高了");
16.             } else {
17.                 System.out.println("猜对了");
18. break;
19.             }
20.         }
21.         sc.close();
22.     }
23. }

完!


相关文章
|
3月前
|
Java
【详识JAVA语言】逻辑控制
【详识JAVA语言】逻辑控制
54 1
|
10月前
|
Java
java的逻辑控制1
java的逻辑控制
39 0
|
3月前
|
Java Linux C语言
一步带你了解java程序逻辑控制
一步带你了解java程序逻辑控制
29 2
|
3月前
|
Java Linux C语言
Java中值得注意的『运算符、逻辑控制、输入输出』
Java中值得注意的『运算符、逻辑控制、输入输出』
|
3月前
|
Java
<Java>逻辑控制,方法详解,重载,牛客习题,IDEA调试方法...
<Java>逻辑控制,方法详解,重载,牛客习题,IDEA调试方法
29 0
|
12月前
|
Linux Windows
Java-逻辑控制(下)
Java-逻辑控制(下)
47 0
|
12月前
Java-逻辑控制(上)
Java-逻辑控制(上)
51 0
|
3月前
|
Java
【Java SE语法篇】4.程序逻辑控制
【Java SE语法篇】4.程序逻辑控制
|
8月前
|
Java
Java学习 5.Java-逻辑控制
Java学习 5.Java-逻辑控制
44 0
|
9月前
|
Java Linux C语言
Java逻辑控制
Java逻辑控制
61 0