1.5JAVA语法基础-程序流程控制有三大结构(顺序结构&选择结构&循环结构)

本文详细介绍了Java程序中的流程控制结构,包括顺序、选择(if、if-else、switch)、循环(while、do-while、for)以及循环控制语句(break、continue、return),帮助读者理解并掌握这些基本编程概念。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

目录

一.程序流程控制有三大结构概述

二.选择结构

2.1 if选择结构

2.1.1基本的if结构

2.1.2 if-else结构

3. swtich选择结构

三.循环结构

3.1循环的定义

3.2循环的分类

3.2.1 while循环

3.2.2 do-while循环

3.2.3for循环

3.3 循环控制语句

3.3.1 定义

3.3.2 控制语句的分类

3.3.2.1 break

3.3.2.2 continue

3.3.2.3 return


一.程序流程控制有三大结构概述

在计算机,我们需要控制多句代码执行顺序的。此时就需要流程控制,在java中主要支持以下三种流程控制。

  1. 顺序结构:按照顺序从上至下逐行进行执行

  2. 选择结构:选择结构用于判断给定的条件,根据判断的结果来控制程序的流程。

  3. 循环结构:进行循环执行的。

    其他我们前面讲的代码,就是按照写代码的顺序执行的,也就是说三大结构中,我们已经学过一个了,接下来我们就学习选择结构和循环结构

二.选择结构

选择结构用于判断给定的条件,如果添加满足才执行来控制程序的流程。主要有两大类if和switch

2.1 if选择结构

2.1.1基本的if结构
//基本语法:
   if(判断语句){
       执行语句;
}  

判断条件:为布尔类型的值或者表达式

执行语句 :当满足条件才执行,可以是一个或者多个语句。

public static void main(String[] args) {
		//1 直接是一个boolean
		if(true){
			System.out.println("常量满足条件,执行了!");
		}

		//2 放一个boolean类型变量
		boolean b = true;
		if(b){
			System.out.println("变量满足条件,执行了!");
		}
		
		//3 放一个表达式
		int i = 3;
		if(!(i<2 && b)){
			System.out.println("表达式满足条件,执行了!");
		}
	}

2.1.2 if-else结构
//基本语法
if(判断条件){
    执行语句;
}else{
    执行语句;
}

判断条件: 布尔类型的值或者表达式

执行语句:当条件满足时执行if中的语句 其他情况执行else中的语句

// 判断一个成绩分数 如果成绩分数大于90 输出  优秀 其它输出  继续努力

		//定义成绩
        int  score = 68;
		//判断成绩是否满足
        if(score>=90){
            System.out.println("优秀");
        }else{
            System.out.println("继续努力");
        }	

当然还有一些if - else if - else if -...- else;语句这些与if - else是相似的。出现这种情况我们一般并不常用这个而是用switch语句来表示。(当然如果出现if或者else后面只有一条执行语句时可以省略{},但是为了代码的规范性还是将{}加上。

//基本语法
if(判断条件){
	执行语句;
}else if(判断条件){	
	 执行语句;
}.....else if(判断条件){
	执行语句;
}else{
	执行条件;
}		
3. swtich选择结构
//基本语法

switch(key){
    case v1:
        执行语句;
        break;
    case v2:
        执行语句;
        break;
................
    default:
        执行语句
        break;
}
/*key可以是局部变量也可是是常量,也可以是字符串
但是key的类型必须与v1相同。
*/

执行原理:

将key的值与v1的值相匹配,如果匹配就执行相应的执行语句,然后找到break跳出选择结构,如果都没有,就执行default中的语句,找到break跳出选择结构。 

注意:

1.每个case之间是可以交换的不影响代码(但是一般为了规范还是按照顺序写)

2.default可以放在末尾

3.最后一个break可以省略(但是不建议省略还是得写上)

示例

public class _Swt {
    public static void main(String[] args) {
        String sex = "男";
        //sex此时是一个字符串
        
        switch (sex){
            case "男"://所以case后面也必须是字符串
                System.out.println("去男厕所");
                break;
            case "女":
                System.out.println("去女厕所");
                break;
            default:
                System.out.println("憋着回家上");
                break;
        }
    }
}

三.循环结构

3.1循环的定义

可以理解位重复的去执行某件事情,但需要有一个终止条件,否则会形成死循环,导致内存溢出

3.2循环的分类

3.2.1 while循环

//语法
while(循环条件){
    执行语句;
}

//循环条件:里面的值应该是一个boolean类型的值当循环条件的值为ture时则执行语句,
//当为false时则不执行语句,终止循环,所以循环条件应该为变化的,
//如果不变或者是一个常量则就会是死循环,或者不循环

流程图

示例:

/*打印1到10之间的数字*/
int i = 1;
while(i<11){
    System.out.println(i);
    i++;
}
---------------------------------
/*打印1到10之间的偶数*/
int j = 1;
while(j<11){
    if(j%2==0){
        System.out.println(j);
    }
    j++;
}

 

3.2.2 do-while循环

基本语法:

do{
    执行语句
}whle(循环条件);
//他的逻辑是先执行一次do后面的语句,再判断循环条件是否为true,
//如果true,执行do后执行语句,如果为false终止循环。

示例:

/*打印1到10之间的数字*/
int i =1;
do{
    System.out.println(i);
    i++;
}while(i<11);

 

3.2.3for循环

基本语法:

for(初始化条件A;判断条件B;循环后语句C){

​	 执行语句D;

}

//初始化条件A:初始化一个值,用来作为B中的判断条件

//判断条件B:布尔类型的值或者表达式

//循环后语句C:循环后执行的代码,目的是为了改变初始条件A的值,使B中条件不是一个固定的值 

//执行语句D:当B中的判断条件满足,为true执行D,false,则不执行



/*for循环与while其实本身是差不多的只是格式不同,
他们的功能都是一样的,但是for循环代码的可读性比较高
所以我们常用for循环来控制循环语句*/

执行流程:

A---->B(true)---->D---->C  

示例:

/*打印1到10之间的数字*/
for(int i=1;i<11;i++){
    System.out.println(i);
}


//初始条件中变量的作用域只作用在循环体中
//所以System.out.println(i);只能写在循环体内


/*打印1到10之间的数字*/
for(int i=1;i<11;i++){
    System.out.println(i);
}
System.out.println(i);//报错,i只作用于循环结构体中

3.3 循环控制语句

3.3.1 定义

对整个循环流程进行控制,可提前终止或跳出循环

3.3.2 控制语句的分类

3.3.2.1 break
/*作用:终止当前循环

示例:
*/
/*  一个循环 如果循环中出现了6 则终止循环 后面的也不再执行*/
for(int i=1;i<8;i++){
    if(i==6){
      break;
	}
    System.out.println(i);
}
3.3.2.2 continue
/*
作用:跳过当前循环,进行下一次循环

示例:
*/
/*  一个循环 如果循环中出现了6 则跳过循环 后面的继续执行*/
for(int i=1;i<8;i++){
    if(i==6){
        continue;
    }
    System.out.println(i);
}
3.3.2.3 return
/*
作用:终止当前方法

示例:
*/
/*  一个循环 如果循环中出现了6  终止当前的方法 后面的循环也不会被执行 循环外面的语句也不会被执行到*/
for(int i=1;i<8;i++){
    if(i==6){
        return;
    }
    System.out.println(i);
}
System.out.println("wwwww");

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值