顺序、选择和循环语句(程序的三种基本控制结构)

本文详细介绍了Java编程中的三种基本控制结构:顺序、选择和循环。内容涵盖复合语句的定义与使用,选择语句的if条件语句和Switch多分支语句,以及循环语句的While、do-while和for循环,包括其执行流程、注意事项和使用场景。此外,还提及了循环控制的关键字break和continue的应用。
摘要由CSDN通过智能技术生成

顺序、选择和循环语句(程序的三种基本控制结构)

复合语句

1、在了解程序的三种基本控制结构之前,我们先了解以下什么是复合语句,即块语句。

2、与C语言及其他语言不同,Java语言的复合语句是以整个块区为单位的语句,所以又称为块语句。复合语句由开括号“ { ”开始,闭括号“ } ”结束。

3、在前面的学习中我们已经接触到了这种复合语句,例如:在定义一个类或方法时,类体就是以“ { ”作为开始,“ } ”作为结束的标记的,方法体同样也是以“ { ”作为开始,“ } ”作为结束的标记的。复合语句中的每个语句都是从上到下被执行。复合语句都是以整个块区为单位,能够用在任何一个单独语句可以用到的地方,并且在复合语句中还可以嵌套复合语句,例如:在类体里面嵌套方法体或内部类。

4、在使用复合语句时要注意,复合语句为局部变量创建了一个作用域,该作用域为程序的一部分,在该作用域中某个变量被创建并能够被使用。如果在某个变量的作用域外使用该变量,则会出现错误。

package com.zyt.lesson01;

public class Demo {
   
	public static void main(String args[]) {
   
		int num = 0;
		for (int i = 1; i <= 10; i++) {
   
			num += i;
		}
		System.out.println(num);
	}
}
//  输出结果:55  
package com.zyt.lesson01;

public class Demo {
   
	public static void main(String args[]) {
   
		for (int i = 1, num = 0; i <= 10; i++) {
   
			num += i;
		}
		System.out.println(num);
	}
}
//  报错
/*  Exception in thread "main" java.lang.Error: 无法解析的编译问题:
	num cannot be resolved to a variable

	at com.zyt.lesson01.Demo.main(Demo.java:9)  */
//  在for循环语句中声明的局部变量num,其作用域在for循环体中。在循环体之外使用num将会报错。

选择语句(条件语句)

我们都知道,计算机的主要功能是提供用户计算的功能,但在计算的过程中会遇到各种各样的情况,针对不同的情况会有不同的处理方法,这就要求程序开发语言要具有处理决策的能力。

一、if 条件语句

1、决策分支

决策:就是人们为某件事拿主意,下决心做出合理的选择的过程

2、if 语句

Java中处理决策的方法之一:if 语句

  1. 第一种形式的判断语句
//  语法一:
if(布尔表达式){
   
    语句;
}
//如果这个布尔表达式的结果是true,则执行大括号内的语句;如果这个布尔表达式的结果是false,则跳过大括号内的语句,而继续执行大括号外的语句。


//  语法二:
if(布尔表达式)
    语句;
//如果布尔表达式的结果是true,则执行圆括号后面的第一个分号内的语句;如果布尔表达式的结果为false,则跳过第一个分号内的语句,继续执行后面的语句。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-92EQ0HeE-1607846568787)(D:\新建文件夹\MarkDown学习\顺序、循环和选择语句\images\流程图1.jpg)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-eLVwTbCs-1607846568790)(D:\新建文件夹\MarkDown学习\顺序、循环和选择语句\images\流程图2.jpg)]

常见的错误:

  • if(表达式)的后面多加了一个分号

    if(表达式); { }

    if(表达式); 
    {  
       语句;
    		  }
    

    这样的写法编辑器不会报错,但是是错误的,这时候 if 只会控制分号前的语句,不会控制分号后面花括号内的语句。

  • 没加大括号{ }

    if(表达式)
       语句;
       语句;
    

    这样的写法编辑器不会报错,但也是错误的。这时候 if 只能控制第一个分号前的语句,而控制不到第二个分号前的语句。

  • 在花括号后面加分号

    if(表达式) 
    {  
       语句;
    		  };
    

    这样的写法编辑器会报错,这样的语法是错误的

  1. 第二种形式的判断语句
//  语法
if(布尔表达式){
   
    语句一;
}else{
   
    语句二;
}

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-nTfsOqjg-1607846568791)(D:\新建文件夹\MarkDown学习\顺序、循环和选择语句\images\流程图3.jpg)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Y65b5x5Q-1607846568793)(D:\新建文件夹\MarkDown学习\顺序、循环和选择语句\images\流程图4.jpg)]

实例:(流程图如上)

public class Demo{
   
    public static void main(String args[]){
   
        int balance = 500;
        if(balance==500){
   
            System.out.println("买豪车");
        }else{
   
            System.out.println("买自行车");
        }
        System.out.println("吃饭睡觉");
    }
}
//  输出结果:吃饭睡觉

常见的错误:

  • 未加大括号{ }

    else 之前若有两个 if 且都没加大括号,则这个 else 会匹配离它最近的那个 if

    if()
        if()
            else{
         
    		
            }
    
  • else 不能单独使用,必须和关键字 if 一起使用

  1. 第三种形式的判断语句
//  语法
if(表达式 1){
   
	语句 1;
    ......
    
}else if(表达式 2){
   
	语句 2;
    ......

}else if(表达式 m){
   
	语句 m;
    ......

}else{
   
	语句 n;
    ......        
}

3、在书写判断语句时要遵循一定的书写规范,否则容易出现错误

布尔表达式书写规范

boolean flag = flase;
if(flag==true)		
//这样书写没有错误,但如果不注意漏写一个"="就会出现错误,但不会报错。
//因此更规范的写法应该为:if(flag) 和 if(!flag)

4、if 判断语句的总结

  1. 表达式:关系表达式或逻辑表达式

  2. 表达式的运算结果应该是真或者假

    真:执行该语句

    假:跳过该语句,执行下一条语句

  3. ” 语句 “可以是单语句也可以是复合语句。

  4. else if 可以有多条。

  5. if 和 else if 都需要判断表达式真假,else 不需要,else if 和 else 必须配合 if 一起使用,不能单独使用。

二、Switch 多分支语句

在编程中经常会碰到这

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值