IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> Java知识库 -> Java流程控制(顺序、选择及循环结构) -> 正文阅读

[Java知识库]Java流程控制(顺序、选择及循环结构)

一、顺序结构

Java的基本结构就是顺序结构,代码按照顺序依次执行。
在这里插入图片描述

二、选择结构

(一)if选择结构

1、if单选择结构

if单选择结构也叫if单条件分支语句,即根据一个条件来控制程序执行的流程。
在这里插入图片描述

语法:

if(布尔表达式){
	//如果表达式为TRUE将执行的语句
}

2、if双选择结构

当需要有两个判断时,就要用双选择结构,所以就有了if…else语句。
在这里插入图片描述
语法:

if (布尔表达式){
	//表达式值为TRUE将执行的语句
}else{
	//表达式值为FALSE将执行的语句
}

3、if多选择结构

现实问题多种多样,如果存在多级判断,比如输入不同段的分数,要求输出对应分数段的等级,则需要用多选择结构来处理。
在这里插入图片描述

语法:

if (布尔表达式1){
	//表达式1的值为TRUE将执行的语句
}else if (布尔表达式2){
	//表达式2的值为TRUE将执行的语句
}else if (布尔表达式3){
	//表达式3的值为TRUE将执行的语句
}else{
	//以上表达式的值都不为TRUE将执行的语句
}

4、if嵌套结构

if…else语句的嵌套也是合法的,也就是说你可以在另一个if或者if…else语句中使用if或者if…else语句。
语法:

if (布尔表达式1){
	//表达式1的值为TRUE将执行的语句
	if (布尔表达式2){
		//表达式2的值为TRUE将执行的语句
	}
}

(二)Switch多选择结构

多选择结构还有一个实现方式就是switch…case语句。switch…case语句判断一个变量与一个系列值中的某个值是否相等,每个值成为一个分支。

语法:

switch(expression){
	case value:
		//语句
		break; //可选
	case value:
		//语句
		break; //可选
	//可以有任意数量的case语句
	default: //可选
		//语句
}

switch语句中的变量类型可以是:

  • byte、short、int或者char
  • 从jdk7开始支持字符串String类型
  • 同时value处必须为字符串常量或字面量

注意:下文将会阐述关于break语句的一些说明

三、循环结构

(一)while循环

while循环是最基本的循环结构。

语法;

while(布尔表达式){
	//循环体
}

循环条件一直为TRUE就会造成“死循环”,我们大部分情况是要让循环停止下来的,需要一个终止循环的条件,少部分情况则需要循环一直进行,比如服务器的请求响应监听等。

(二)do…while循环

对于while语句而言,如果不满足条件,则不能进入循环。但有时候我们需要即使不满足条件,也至少执行一次。

语法:

do {
	//循环体
}while(布尔表达式)

while和do…while的区别:

  1. while先判断后执行,而do…while先执行后判断
  2. do…while总是保证循环体会被至少执行一次

(三)for循环

Java提供了另一种循环语句——for循环语句,使一些循环结构更加简单。

语法:

for (初始化; 布尔表达式; 修正变量){
	//循环体
}

for语句的执行规则如下:

  1. 完成初始化工作。可以初始化一个或多个循环控制变量,可以是空语句;
  2. 判断布尔表达式,若值为TRUE,则进行第3步,否则结束for循环;
  3. 执行一次循环体,然后进行修正变量,以改变循环条件,进行第2步;
  4. 结束for循环。

例如:

public class ForDemo04 {
    public static void main(String[] args) {
        //用for循环输出0~5
        for (int i=0; i<5; i++){
            System.out.println(i);
        }
    }
}

在这里插入图片描述

四、其他

(一)break和continue语句

  • break语句
    break用于强制退出循环,不执行循环中的剩余语句。例如上文提到的,在switch语句中用到了break语句。
    我们再来举一个例子,已知一个学生成绩,求其对应的等级:
    我们先将break语句写入
public class BreakDemo {
    public static void main(String[] args) {
        char grade = 'C'; //这里为方便举例,将成绩写死
        switch (grade){
            case 'A':
                System.out.println("优秀");
                break;
            case 'B':
                System.out.println("良好");
                break;
            case 'C':
                System.out.println("合格");
                break;
            case 'D':
                System.out.println("不合格");
                break;
        }
    }
}

结果是正确的
在这里插入图片描述
然后我们将所有的break语句去掉

public class BreakDemo {
    public static void main(String[] args) {
        char grade = 'C'; //这里为方便举例,将成绩写死
        switch (grade){
            case 'A':
                System.out.println("优秀");
                //break;
            case 'B':
                System.out.println("良好");
                //break;
            case 'C':
                System.out.println("合格");
                //break;
            case 'D':
                System.out.println("不合格");
                //break;
        }
    }
}

结果是这样的
在这里插入图片描述
也就是说,如果不写break语句,grade这个变量与下面的case语句匹配时,当它匹配到第三个case语句,打印出“合格”之后,不会结束程序,而是继续向下执行下一个case语句的内容,这也就说明了break的作用。

  • continue语句
    continue语句用在循环体语句中,用于终止某次循环过程,即跳过循环体中尚未执行的语句,接着进行下一次是否执行循环的判定。
    我们再来举个例子,输出100以内不含10和10的倍数的数:
public class ContinueDemo {
    public static void main(String[] arg) {
        int i = 0;
        while (i < 100){
            i++;
            if (i%10==0){ //对10取余,等于0时说明是10或10的倍数
                System.out.println(); //换行
                continue;
            }
            System.out.print(i+"\t"); //输出数字
        }
    }
}

在这里插入图片描述
可以看到,当遇到10或10的倍数时,由于加了continue语句,所以程序会终止当前循环, 而转入进行下一次循环。

(二)数组与for循环

jdk5引入了一种增强型for循环,主要用于遍历数组或集合。

语法:

for (声明语句:表达式){
	//循环体
}
  • 声明语句:声明新的局部变量,该变量的类型必须和数组元素的类型匹配。其作用域限定在循环语句块,其值与此时数组元素的值相等。
  • 表达式:表达式是要访问的数组名,或者是返回值为数组的方法。

例如:

public class ForDemo05 {
    public static void main(String[] args) {
        //定义一个数组
        int[] numbers = {1, 2, 3, 4, 5};

        //遍历数组的元素
        for (int x:numbers){
            System.out.print(x);
        }
    }
}

在这里插入图片描述
也就是说,每次循环都会从numbers里面取值,然后赋值给变量x。

以上仅个人学习经验,有不足请指正~谢谢大家

  Java知识库 最新文章
计算距离春节还有多长时间
系统开发系列 之WebService(spring框架+ma
springBoot+Cache(自定义有效时间配置)
SpringBoot整合mybatis实现增删改查、分页查
spring教程
SpringBoot+Vue实现美食交流网站的设计与实
虚拟机内存结构以及虚拟机中销毁和新建对象
SpringMVC---原理
小李同学: Java如何按多个字段分组
打印票据--java
上一篇文章      下一篇文章      查看所有文章
加:2021-09-27 13:57:03  更:2021-09-27 13:59:06 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/23 19:29:31-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码