【一步一步了解Java系列】:探索Java逻辑控制

简介: 【一步一步了解Java系列】:探索Java逻辑控制

何为逻辑控制呢?


在 Java 中,逻辑控制主要有以下几种结构:

1. 顺序结构:按照代码书写的顺序一行一行执行,如果调整代码的书写顺序,则执行顺序也发生变化;



2. 分支结构:

-  if 语句:包括单分支、双分支和多分支三种形式,用于根据不同的条件执行不同的代码块;

-  switch 语句:根据不同的条件执行不同的 case 语句,遇到 break 会结束该 case 语句,如果没有匹配的 case ,则执行 default 中的语句;



3. 循环结构:

-  while 循环:当条件为真时,执行循环体中的代码,直到条件为假时结束循环;

-  break 语句:用于在循环中提前结束循环;

-  continue 语句:用于跳过本次循环,直接进入下一次循环。


一、顺序结构

顺序结构是最简单,也是最直观的一种结构。就是一句一句的执行代码,没有循环语句,也没有if语句。

public class Test {
    public static void main(String[] args) {
        System.out.println("11223344");
        System.out.println("顺序结构");
        
    }
}


运行结果:


二、分支结构

语法风格1

if(布尔类型){

//语句

};

代码示例:

public static void main(String[] args) {
        int sorce=100;
        if(sorce>90){
            System.out.println("父母很开心呢");
        }
    }


只有一句if语句,注意if括号里面的必须是布尔类型的数据。


语法风格2

if(布尔表达式){

// 语句1

}else{

 // 语句2

}


代码示例:

public static void main(String[] args) {
    int score=100;
    if(score>90){
        System.out.println("父母很开心呢");
    }else{
        System.out.println("父母会鼓励你得到更高分");
        
    }
}

这里java有Java的代码写法,这里比较建议如上的if else语句写法而不是 像C语言一样,当然这样写也是合法的但是不建议这么写。如下:是C语言的写法。

if(布尔表达式)

{

// 语句1

}

else

{

 // 语句2

}


语法风格3

if(布尔表达式1){

  // 语句1

}else if(布尔表达式2){

  // 语句2

}else{

  // 语句3

}


代码示例:

public static void main(String[] args) {
        int score=100;
        if(score>90){
            System.out.println("父母很开心呢");
        }else if(score>80&&score<90){
            System.out.println("父母会鼓励你得到更高分");
 
        } else  {
            System.out.println("父母希望你能在加把劲");
        }
    }


if 后接分号(;)问题

int x = 20;
if (x == 10);
{
System.out.println("hehe");
}
// 运行结果
hehe

可能有些小伙伴就疑惑了,为什么会打印“呵呵”呢,明明没符合if里的要求。

其实是因为if语句后接了个分号“;”,导致if语句就是一句话,仅仅只是进行判断,无论真假都不会有什么要执行的语句,而后面的打印语句,就是下一条语句,无关if语句。都会进行打印的。


多个if else 语句的匹配

int x = 10;
int y = 10;
if (x == 10)
  if (y == 10)
   System.out.println("aaa");
else
   System.out.println("bbb");


大家觉得这里面的else是与哪个if匹配呢?

废话不多说,这里的else其实是与第二个if匹配的

这是因为这里的if else语句 中if会往向下的比较靠近的else匹配,而else则是往上找靠近的if来进行匹配。


三、switch 语句

语法形式:

switch(表达式){

case 常量值1:{

语句1;

break;

}

case 常量值2:{

语句2;

break;

}

default:{

内容都不满足时执行语句;

break;

     }  

}

这里需要注意的是,这里的switch语句中的表达式有一些限制:

第一点:

上面的switch括号里的表达式中只能是这些表达式:

基本类型:byte、char、short、int,注意不能是long类型

引用类型:String常量串、枚举类型

第二点;


switch不能够表达一些复杂的表达式


/ 例如: 如果 num 的值在 10 到 20 之间, 就打印 hehe // 这样的代码使用 if 很容易表达, 但是使用 switch 就无法表示.


if (num > 10 && num < 20) { System.out.println("hehe"); }

四、循环结构

4.1 while循环

基本语法格式:

while(循环条件){

循环语句;

}


跟C语言相似,如下我们运用while来打印1-10的数字

nt num = 1;
while (num <= 10) {
System.out.println(num);
num++;
}

4.2 for循环

语法形式:

for(表达式①;布尔表达式②;表达式③){

表达式④;

}


如下还是打印1-10的数据但这里要运用for循环:

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


4.3 do while循环

语法形式:

do{

循环语句;

}while(循环条件);

在这个语句里特点就是至少进行一次循环,因为这个语句第一次进循环是不需要进行判断的,所以这个语句是可以至少是可以进入一次循环的,如下代码示例:

public static void main(String[] args) {
        int a=0;
        do{
 
            System.out.println("循环条件为大于0");
 
 
        }while(a>0);
    }

可以看到这里我们初始化a=0;但是他还是可以进一次循环打印出了结果。


五、break与continue


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

如下:代码我们设置小于10就进入循环,但是设置break后定格在i==5,break提前结束了循环。

public static void main(String[] args) {
        for (int i = 1; i < 10; i++) {
 
            System.out.println("现在是第"+i+"次循环");
            if(i==5){
                break;
            }
 
        }
    }


 

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

如下:找3的倍数,就利用了continue。

int num = 100;
while (num <= 200) {
if (num % 3 != 0) {
num++; // 这里的 ++ 不要忘记! 否则会死循环.
continue;
}
System.out.println("找到了 3 的倍数, 为:" + num);
num++;
}

目录
相关文章
|
7月前
|
Java
【详识JAVA语言】逻辑控制
【详识JAVA语言】逻辑控制
61 1
|
Java
java的逻辑控制1
java的逻辑控制
51 0
|
3月前
|
Java
java基础(1)逻辑控制if、switch
本文继续介绍了Java中的基础逻辑控制语句,包括if-else语句和switch语句。文章通过示例代码展示了if-else语句如何根据条件判断执行不同的代码块,以及switch语句如何根据变量的值执行不同的case分支。还提供了一个使用Scanner类从键盘获取输入,并根据输入的数字输出对应的星期日的示例。最后提到了如何在IDEA中格式化代码。
30 2
|
7月前
|
Java C语言
Java基础——逻辑控制
Java基础——逻辑控制
|
7月前
|
Java Linux C语言
一步带你了解java程序逻辑控制
一步带你了解java程序逻辑控制
47 2
|
7月前
|
Java Linux C语言
Java中值得注意的『运算符、逻辑控制、输入输出』
Java中值得注意的『运算符、逻辑控制、输入输出』
|
7月前
|
Java
<Java>逻辑控制,方法详解,重载,牛客习题,IDEA调试方法...
<Java>逻辑控制,方法详解,重载,牛客习题,IDEA调试方法
41 0
|
Linux Windows
Java-逻辑控制(下)
Java-逻辑控制(下)
60 0
Java-逻辑控制(上)
Java-逻辑控制(上)
68 0
|
7月前
|
Java
【Java SE语法篇】4.程序逻辑控制
【Java SE语法篇】4.程序逻辑控制