Java 逻辑控制全面详解

作者:零零星星枫叶梦 时间:2022-10-29 09:01:48 

1 顺序结构

顺序结构比较简单,就是代码一行一行的执行,本节之前写的所有代码都是顺序结构。

例如:


public static void main(String[] args) {
       int a=10;
       System.out.println(a);
       System.out.println("hhhh");
       double f=10.732;
       System.out.println(f);

2 分支结构

2.1 if语句

基本语法形式1:

if(布尔表达式){

//条件满足时的要执行的语句

}

示例代码1:


public static void main(String[] args) {
      int a=10;
      int b=20;
      if(a<b){
          System.out.println(a);//a是10 b是20 a<b条件成立执行该语句
      }
      if(a>b){
          System.out.println(b);//a是10 b是20 a>b条件不成立不执行该语句
      }

Java 逻辑控制全面详解

基本语法形式2:

if(布尔表达式){

//条件成立是执行的语句

}

else{

//条件不成立时执行的语句

}

示例代码2:


public static void main(String[] args) {
       int a=10;
       int b=20;
       if(a>b){
           System.out.println(a);//a是10 b是20 a>b条件不成立不执行该语句
       }
       else{
           System.out.println(b);//a是10 b是20 a>b条件成立执行该语句

}
   }

Java 逻辑控制全面详解

基本语法形式3:

if(布尔表达式1){

//表达式1为true,执行的代码

}

else if(布尔表达式2){

//表达式2为true,执行的代码

}

else{

//表达式1和表达式2都为falses,执行的代码

}

示例代码3:


public static void main(String[] args) {
       int a=10;
       int b=10;
       if(a>b){
           System.out.println(a);//表达式1不成立,该语句不执行
       }
       else if(b>a){
           System.out.println(b);//表达式2不成立。该语句不执行
       }
       else{

System.out.print("a=b=");//表达式1和表达式2都不成立,该语句执行
           System.out.println(a);//注意:表达式成立时执行的语句可以是多条
       }
   }

Java 逻辑控制全面详解

注意事项1:

if语句可以嵌套使用,当if(布尔表达式)中的表达式成立时,就会执行对应的语句块 ,在这个对应的语句块中也可以使用if语句

例如:找出三个数中最大的数


public static void main(String[] args) {
       int a=50;
       int b=70;
       int c=20;
       System.out.print("最大的数是");
       if(a>b){
           //a>b不成立,所以不执行改语句块
           if(c>a){

System.out.println(c);
           }
           else{
               System.out.println(a);
           }
       }
       else{
           //a>b不成立,所以执行该语句块
           if(c>b){
               System.out.println(c);//c>b不成立,不执行该语句
           }
           else{
               System.out.println(b);//c>b不成立,所以执行改语句
           }
       }
   }

Java 逻辑控制全面详解

注意事项2:

if语句中的布尔表达式成立时,会执行if所对应的语句块。如果不加“{}”时,就会执行紧随其后的一条语句

例如:


public static void main(String[] args) {
       int a=10;
       int b=20;
       if(a>b)
           System.out.println(a);//此时if条件不成立,所以不会执行这条语句
           System.out.println(b);//虽然if条件不成立,但是这条语句已经超出了if
                                 //语句块,所以这条语句还会执行
   }

Java 逻辑控制全面详解

2.2 switch语句

基本语法格式

switch ( 整数 | 枚举 | 字符 | 字符串 ){
case 内容 1 : {
内容满足时执行语句 ;
[ break ;]
}
case 内容 2 : {
内容满足时执行语句 ;
[ break ;]
}
...
default :{
内容都不满足时执行语句 ;
[ break ;]
}

示例代码:


public static void main(String[] args) {
       int day=5;
       switch (day){
           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;
       }
   }

Java 逻辑控制全面详解

根据 switch 中值的不同 , 会执行对应的 case 语句 . 遇到 break 就会结束该 case 语句 . 如果 switch 中的值没有匹配的 case, 就会执行 default 中的语句 . 我们建议一个 switch 语句最好都要带上 default.

3 循环结构

3.1while循环

基本语法格式:

while(布尔表达式){

//要执行的语句块;

}

当布尔表达式为true,循环执行要执行的语句块,否则结束循环。

示例代码:输出1~10


public static void main(String[] args) {
       int i=1;
       while(i<=10){
           System.out.println(i);
           i++;
       }  
   }

Java 逻辑控制全面详解

注意事项:

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

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

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

3.2 break语句

break 的功能是让循环提前结束 .

例如:找出1~10中第一个3的倍数


public static void main(String[] args) {
       int  i=1;
       while(i<=10){
           if(i%3==0){
               System.out.println(i);
               break;//遇到break语句,循环结束
           }
           i++;
       }
   }

Java 逻辑控制全面详解

3.3 continue语句

continue 的功能是跳过这次循环 , 立即进入下次循环 .

例如:找出1~10之间所有的偶数


public static void main(String[] args) {
       int i=1;
       while(i<=10){
           if(i%2!=0){
               i++;
               continue;//遇到continue语句,会直接进入下一次循环,不会执行后面的语句
           }
           System.out.println(i);
           i++;

}
   }

Java 逻辑控制全面详解

3.4 for循环

基本语法格式:

for(表达式1;布尔表达式2;表达式3){

//循执行的语句块

}

for循环执行的顺序是:

首次循环:首先执行表达式1,再执行布尔表达式2,然后执行循环体;最后执行表达式3。

其余循环: 首先执行布尔表达式2,然后执行循环体,最后执行表达式3。

结束循环: 布尔表达式的值为false.

示例代码:

输出1~10之间的所有数


public static void main(String[] args) {
       for (int i =1; i <=10 ; i++) {
           System.out.println(i);
       }
   }

Java 逻辑控制全面详解

注意事项:

  • 1:break和continue对for循环同样适用。

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

  • 3: 和 if 类似 , for 后面的 { 建议和 while 写在同一行 .

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

3.5 do while 循环

基本语法格式:

do{

//循环执行的语句
}while(布尔表达式);

do whiie 循环的执行顺序

首先执行循环语句,然后再判断布尔表达式是后为true.

因此,无论布尔表达式的值是否是true,第一次循环都会执行。

示例代码1:

打印1~10


public static void main(String[] args) {
       int  i=1;
       do{
           System.out.println(i);
           i++;
       }while (i<=10);
   }

Java 逻辑控制全面详解

示例代码2:

演示布尔表达式不成立,循环语句执行一次


public static void main(String[] args) {
       int  i=0;
       do{
           System.out.println(i);
       }while (i>0);//i=0 i>0表达式的值为false
   }

Java 逻辑控制全面详解

4 逻辑控制综合案例

4.1 输出1000~1200之间所有的闰年


public static void main2(String[] args) {

for (int i = 1000; i <=1200 ; i++) {
           if(i%100!=0&&i%4==0||i*400==0)
           {
               System.out.println(i);
           }
       }
   }

Java 逻辑控制全面详解

4.2 计算1~100之间9出现的次数


public static void main(String[] args) {
       int i=1;
       int num=0;
       while(i<=100){
           int j=i;
           /*
              求出一个数各个位上的数字
              循环执行以下操作
              第一步:用这个数取余10的到个数
              第二步:这个数除等10
              第三步:判断这个数是不是0
            */
           while (j>0){
               if(j%10==9) {
                   num++;
               }
               j=j/10;
           }
           i++;
       }
       System.out.println(num);//9 19 29 39 49 59 69 79 89 中各出现一次9
                               //90 91 92 93 94 95 96 97 98中各出现一次9
                               //99中出现两次9   总共20个9    
}

Java 逻辑控制全面详解

来源:https://blog.csdn.net/weixin_53937197/article/details/120807501

标签:Java,逻辑控制,语法
0
投稿

猜你喜欢

  • Java如何设置系统参数和运行参数

    2023-12-19 10:47:01
  • springcloud配置ssh的问题及解决方法

    2023-11-03 15:48:11
  • Java8如何将Array转换为Stream的实现代码

    2022-09-15 06:41:31
  • java编程创建型设计模式单例模式的七种示例

    2023-06-21 08:47:39
  • c#异步操作后台运行(backgroundworker类)示例

    2021-12-18 15:54:10
  • Spring异常捕获且回滚事务解决方案

    2023-04-25 18:32:41
  • Java文件操作工具类fileUtil实例【文件增删改,复制等】

    2023-11-28 08:39:00
  • java获取系统路径字体、得到某个目录下的所有文件名、获取当前路径

    2023-11-29 14:39:23
  • 解决@RequestBody搭配@Data的大坑

    2022-08-29 18:25:35
  • java在linux本地执行shell命令的实现方法

    2023-11-14 02:31:33
  • Spark SQL 编程初级实践详解

    2022-06-13 18:37:56
  • Android自定义View实现拼图小游戏

    2023-07-13 13:53:39
  • 举例详解用Java实现web分页功能的方法

    2021-07-27 10:50:19
  • 关于spring boot中几种注入方法的一些个人看法

    2022-09-07 10:15:14
  • C#单例模式(Singleton Pattern)实例教程

    2022-11-23 10:44:05
  • Android应用开发中WebView的常用方法笔记整理

    2021-06-29 04:29:39
  • Android自带emoji表情的使用方法详解

    2021-11-25 09:28:22
  • C#微信开发之启用开发者模式

    2022-07-07 11:24:54
  • 辨析Java中的String与StringBuffer及StringBuilder字符串类

    2023-08-21 19:59:50
  • C# PictureBox控件方法参数及图片删除重命名上传详解

    2023-02-04 17:59:08
  • asp之家 软件编程 m.aspxhome.com