服务器之家:专注于服务器技术及软件下载分享
分类导航

PHP教程|ASP.NET教程|Java教程|ASP教程|编程技术|正则表达式|C/C++|IOS|C#|Swift|Android|VB|R语言|JavaScript|易语言|vb.net|

服务器之家 - 编程语言 - Java教程 - Java 逻辑控制全面详解

Java 逻辑控制全面详解

2022-02-22 00:34零零星星枫叶梦 Java教程

程序的逻辑主要分为三种结构:顺序结构、分支结构、循环结构,顺序结构的所有的代码都是从前向后执行的。有些时候顺序是由“{}”为界限的,下文将全面详细的介绍

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 逻辑控制全面详解

到此这篇关于Java 逻辑控制全面详解的文章就介绍到这了,更多相关Java 逻辑控制内容请搜索服务器之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持服务器之家!

原文链接:https://blog.csdn.net/weixin_53937197/article/details/120807501

延伸 · 阅读

精彩推荐
  • Java教程Java实现五子棋网络版

    Java实现五子棋网络版

    这篇文章主要为大家详细介绍了基于Java编写的网络五子棋,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下...

    OnePointC11292021-04-16
  • Java教程java 和 json 对象间转换

    java 和 json 对象间转换

    这篇文章主要介绍了java 和 json 对象间转换,需要的朋友可以参考下 ...

    java教程网5472019-11-11
  • Java教程Java NIO实例UDP发送接收数据代码分享

    Java NIO实例UDP发送接收数据代码分享

    这篇文章主要介绍了Java NIO实例UDP发送接收数据代码分享,分享了客户端和服务端完整代码,小编觉得还是挺不错的,共需要的朋友参考。...

    在远行的路上5722021-02-03
  • Java教程Spring+SpringMVC+MyBatis整合详细教程(SSM)

    Spring+SpringMVC+MyBatis整合详细教程(SSM)

    Spring是一个开源框架,Spring是于2003 年兴起的一个轻量级的Java 开发框架。这篇文章主要介绍了Spring+SpringMVC+MyBatis整合详细教程(SSM),需要的朋友可以参考下...

    AndyLizh9762021-01-19
  • Java教程JFinal极速开发框架使用笔记分享

    JFinal极速开发框架使用笔记分享

    下面小编就为大家分享一篇JFinal极速开发框架使用笔记,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...

    谁将新樽辞旧月,今月曾11512021-03-14
  • Java教程Java源码解析阻塞队列ArrayBlockingQueue介绍

    Java源码解析阻塞队列ArrayBlockingQueue介绍

    今天小编就为大家分享一篇关于Java源码解析阻塞队列ArrayBlockingQueue介绍,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起...

    李灿辉8672021-06-30
  • Java教程Spring Boot 项目启动失败的解决方案

    Spring Boot 项目启动失败的解决方案

    这篇文章主要介绍了Spring Boot 项目启动失败的解决方案,帮助大家更好的理解和学习使用Spring Boot,感兴趣的朋友可以了解下...

    Java技术栈11932021-08-18
  • Java教程java实现顺时针打印矩阵

    java实现顺时针打印矩阵

    这篇文章主要为大家详细介绍了java实现顺时针打印矩阵的相关资料,具有一定的参考价值,感兴趣的小伙伴们可以参考一下...

    271391555852021-07-18