Java核心基础第3篇-Java流程控制

孙秀
• 阅读 982

Java流程控制

本章一起来探讨下Java的流程控制语句。主要从以下几个方面展开:

  • Java分支语句
  • Java循环语句

Java其实和其他任何的开发语言一样,<u>分支语句</u><u>循环语句</u>是必不可少的,有个这两个功能之后,我们完成类似:

  1. 判断成绩等级,优秀或者良好
  2. 完成九九乘法表等相关的操作

Java核心基础第3篇-Java流程控制

一、分支语句

1.1 分支语句简介

  • 分支语句根据一定的条件有选择地执行或跳过特定的语句
  • 从而来完成根据不同的条件,得到不同的结果,来满足现实生活中的需求
  • Java中提供了多种实现分支语句的方式

    • 1)if : 单分支语句,如果满足进入该语句块
    • 2)if...else: 如果满足进入该if语句块,否则进入else语句块,二选一
    • 3)if...else if...else if...else:多分支语句,条件满足进入一个分支,如果都不满足进入 else
    • 4)switch...case: 实现语句块

Java核心基础第3篇-Java流程控制

1.2 if单分支语句

if单分支语句,表示只要条件满足,就会进入语句块内容,否则直接跳过。

上图左侧部分就是表示if单分支语句

//语法
if(条件表达式){
    //如果条件为true,执行到该语句。否则跳过该语句
}

案例:

如果成绩score大于等于90,将grade等级设置有优秀,否则忽略

public static void main(String[] args) {
    int score = 91;
    String grade = "";
    if(score>=90) {
        grade = "优秀";
        System.out.println("小明获得鸡腿一只");
    }
    System.out.println("end...");
}
注意:以后代码过程中,注意测试。否则条件特别容易被漏掉

1.3 if...else双分支语句

if...else称为双分支语句,如果条件满足则进入if语句块,否则进入else语句块;

也就是说ifelse语句块必须会进入其中的一个分支;同时也不存在两个分支同时进入;

如上图右侧,就是if...else的使用场景

语法:

// 格式  双分支语句   if 或者else 永远进入一个分支
if(条件){
    //条件为真,进入
}else{
    //否则进入else
}

案例:

如果小明成绩不低于90分,奖励一只鸡腿,否则只能吃青菜

public static void main(String[] args) {
    int score = 89;
    //注意:以后代码过程中,注意测试。否则条件特别容易被漏掉
    if(score>=90) {
        System.out.println("小明获得鸡腿一只");
    }else {
        System.out.println("小明被罚只能吃青菜");
    }
    System.out.println("end...");
}

1.4 if...else if...else语法

if...else if...else也被称为多分支语句,可以指定多个条件。

但是能够进入分支的只有一个

Java核心基础第3篇-Java流程控制

语法:

//语法
if(条件){
    //满足进入
}else if(条件2){
    //满足进入
}else if(条件3){
    //满足进入
}else{
       //都不满足,进入else
}

案例:

不同的条件进入不同的分支,例如:成绩为88,奖励麻辣鸡爪一个

public static void main(String[] args) {
    int score = 50;
    // 注意:以后代码过程中,注意测试。否则条件特别容易被漏掉
    if (score >= 90) {
        System.out.println("小明获得鸡腿一只");
    } else if (score >= 80) {
        System.out.println("麻辣鸡爪一个!");
    } else if (score >= 60) {
        System.out.println("奖励练习题一打!");
    } else {
        System.out.println("小明被暴打了一顿");
    }
    System.out.println("end...");
}
注意:如果多个条件同时满足,那么会从上而下,自动匹配。当进入一个分支之后,就不会在进入其他分支。

1.5 switch...case语句

在处理多个选项的时候,除了可以使用if...else,Java还提供了另外一种分支语句,那就是switch...case

switch语句将从选项值相匹配的case标签处开始执行,知道语句结束或者遇到break关键字

Java核心基础第3篇-Java流程控制

语法结构:

  • switch(表达式)中表达式的返回值必须是下述几种类型之一:int, byte, char, short, 枚举, 字符串
  • case子句中的值必须是常量,且所有case子句中的值应是不同的;
  • default子句是最终执行
  • break语句用来在执行完一个case分支后使程序跳出switch语句块;
// 给固定的内容
switch(表达式){
    case 常量1:
        //语句块
        break;
    case 常量1:
        //语句块
        break;
    case 常量1:
        //语句块
        break;
    default:
        //语句块:类似else
}

案例:

根据不同的值,获取不同的级别

public static void main(String[] args) {

    int top = 1;
    switch (top) {

        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;
        default:
            System.out.println("墊底");
    }

}

注意:

①表达式的值如果和常量的内容保持一致,表示会进入该代码块
②break,跳出当前的语句快,否则会一直往下执行

二、循环语句

2.1 循环语句简介

在满足指定条件下,反复执行特定的代码。

例如:将1-100之间的和进行累加;

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

Java中提供了三种基本的循环:

  • for循环

    • 1)普通for循环
    • 2)增强for循环
  • while
  • do...while

Java核心基础第3篇-Java流程控制

2.2 for循环

for 循环语句是支持迭代的一种通用结构, 利用每次迭代之后更新的计数器或类似的变量来控制迭代次数

for一般用来明确循环次数的情况使用,更加的方便

1、循环组成部分:

​ a.初始化
​ b.循环条件
​ c.循环体,循环的内容
​ d.迭代(改变原来的值)

//语法:
for(初始化;条件判断;迭代)
{
    //循环体 具体反复执行的代码
}

2、案例

打印1-100之间的偶数列

for (int i = 1; i <= 100; i++) {
    if(i%2==0){
        System.out.println("i=" + i);
    }
}

3、for执行顺序

  1. 第一步,对i进行初始化为1
  2. 第二步,判断i是否小于100
  3. 第三步,如果返回true,执行对应语句块内容
  4. 第四步,执行语句块内容,进行迭代,将i进行++操作
  5. 第五步,迭代完毕之后在进行判断,执行第二步操作
  6. 第六步,如果满足继续进入代码块,如果不满足,则跳出循环

Java核心基础第3篇-Java流程控制

2.3 while循环

当条件为 true 时,while 循环执行一条语句(也可以是一个语句块)。一般格式为

语法格式(先判断,再执行):
[初始值]
while(条件)
{
    //语句块
    // 迭代[更改初始值]
}

如果开始循环条件的值就为 false, 则 while 循环体一次也不执行

案例:

将1-100之间的和进行累加操作

public static void main(String[] args) {
    int result = 0;
    int i = 1;
    while (i <= 100) { // 判断条件
        // 语句块
        result += i;
        System.out.println("i=" + i + " result=" + result);
        i++;
    }

}

2.4 do...while

如果希望循环体至少执行一次, 则应该将检测条件放在最后。 使用 do/while 循环语句可以实现这种操作方式;

whiledo...while 最大的区别就是:

  • while:先判断,再执行
  • do...while:先执行,再判断,所以do...while至少都会执行一次

语法格式:

语法格式:(先执行,在判断:不管条件如何,都会至少执行一次)
[初始化内容]
do{
    //语句块 
    [迭代]
}while(判断条件);

案例:

将1-100之间的和进行累加操作

public static void main(String[] args) {
    int result = 0;
    int i = 1;
    do {
        result += i;
        System.out.println("i=" + i + " result=" + result);
        i++;
    } while (i <= 100);
}

2.5 中断循环

Java提供了continuebreak 关键字用来终止循环继续执行。

  • continue用来终止本次循环,该continue关键字后面的所有内容都不会被执行;然而continue会迭代,然后执行下一次循环;
  • break 用来跳出当前所在的循环,属于该循环下所有的内容都会终止执行;

以下是两者的使用注意事项:

  • break只能用于switch语句和循环语句中。
  • continue 只能用于循环语句中。
  • 标号语句必须紧接在循环的头部。标号语句不能用在非循环语句的前面。
  • break和continue之后不能有其他的语句,因为程序永远不会执行break 和 continue之后的语句。

案例:

当i=5是,使用不同关键字,所得到结果

for (int i = 1; i <= 10; i++) {
    if (i == 5) {
        //break; //1 2 3 4
        continue; //1 2 3 4  6 7 8 9 10
    }
    System.out.println("continue==>i = " + i);
}

Java核心基础第3篇-Java流程控制

2.6 嵌套循环

public static void main(String[] args) {

    // 1. 外层: 控制行数 1-9行
    // 2.内层 :控制每一行 有多少个列(需要计算多杀次)
    for (int i = 1; i <= 9; i++) {
        // aa:标号 使用:分割 必须写在循环的头部
        for (int j = 1; j <= i; j++) {
            System.out.print(j + "*" + i + "=" + (j * i) + "\t");
        }
        System.out.println(); // 换行
    }
}

Java核心基础第3篇-Java流程控制

三、实战题

第1题:
实现一个查询月天数的程序键盘输入年月 判断这年这个月有多少天。<闰年条件:能被4整除且不能被100整除或者能被400整除>
    
第2题:
国家税务局规定不同行业的税收数额度不一样   
        税收=(工资-起征点)*税率
       行业有
       1.服务行业  2.制造业  3.农业
       1.服务行业税收的起征点是2000 元  2000元以上需要缴纳10%的个人所得税
       2.制造业税收的起征点是3000元  3000元以上需要缴纳5%的个人所得税
       3.农业税收的起征点是1500元  1500元以上需要缴纳2%的个人所得税
       提示用户选择行业,输入工资 ,输出税后工资。
   
第三题:
运费计算器:运输公司对用户计算运费.路程越远每公里运费越低.每公里每吨货物的基本运费为p,货物重为w,距离为s,折扣为d,则总运费f的计算公式为
f=p*w*s*(1-d)
       s<250没有折扣
       250<=s <500 2%折扣
       500<=s<1000 5%折扣
       1000<=s<2000  8%折扣
       2000以上 15%折扣。
                    
第四题:
编写一个某年第一天是星期几的查询器:程序输出:XXXX年一月一日是 星期X
提示:1900年一月一日是星期一

第五题:
根据流程图完成银行取钱业务程序

Java核心基础第3篇-Java流程控制

第六题:
编写一个日历程序:输入年月 按照格式输出该年月的日历
提示:1900年一月一日是星期一

Java核心基础第3篇-Java流程控制

本博文由 IT蚱蜢哥 原创发布!欢迎转载,注明出处!
点赞
收藏
评论区
推荐文章
Wesley13 Wesley13
4年前
java认知打卡第三天
if语句、while语句、for语句,switch语句;break整体跳出switch和for语句;continue跳出for循环当前的一条,继续后面的循环。面向对象的设计(OOP),java完全的面向对象进行编码,也就是万物皆对象,以对象的属性和行为进行思考的方式,去理解java的编程思维。OOP将数据放在第一位,操作数据的算法放在了第二位。C语言
CuterCorley CuterCorley
4年前
C语言入门系列之3.顺序程序设计和输入输出
从程序流程的角度来看,程序可以分为三种基本结构,即顺序结构、分支结构、循环结构,这三种基本结构可以组成各种复杂程序,C语言提供了多种语句来实现这些程序结构。同时C语言提供的输入输出的函数为IO提供了方便的工具。一、C语句介绍1.C基本语句C程序的执行部分是由语句组成的,程序的功能也是由执行语句实现的。C语句可分为以下五类:表达式语句表达式语句:
Jack Jack
4年前
Java学习路线
阶段一(夯实基础)Java基础语法学习目标:1.熟悉Java等基本概念2.掌握Eclipse/IDEA集成开发工具的安装、配置和应用3.熟悉Java基本语法、基本类型、运算符和表达式4.掌握分支、循环逻辑语句、数组等知识的应用知识点列表:JDK、JRE、JVM基本概念Java环境搭建和配置安装和使用Eclipse/IDEA开发环境Java基本数据类型变量,
Wesley13 Wesley13
4年前
Java语言基础3(类与方法及流程控制语句)
普通方法:  publicvoid方法名称(){    代码块  }  注意:一个类中包含方法和属性,有括号一定是方法,没括号的是属性。  注意:除了main()方法以外,所有的方法都必须调用不能直接使用。  注意:在类中不能单独出现循环和打印。  注意:语法规则关键字的顺序不能乱  注意:类名的首字母一定
Easter79 Easter79
4年前
Swift讲解专题六——流程控制
Swift讲解专题六——流程控制一、引言      一种编程语言的强大与否,很大程度上取决于其提供的程序流程控制方案,就如使用汇编语言实现复杂的程序流程是一件痛苦的事情。Swift中提供了许多强大的流程控制语句,例如快速遍历forin,while循环,repeatwhile循环,switch选择等,需
Wesley13 Wesley13
4年前
Java入门(五):控制流程
在Java中,使用条件语句和循环结构确定控制流程,在本文中,主要包括块作用域、条件语句、循环结构、中断循环这四部分。一、块作用域块,也叫复合语句,是指由一对大括号括起来的若干条Java语句。块决定了变量的作用域。一个块可以嵌套多个块。二、条件语句如果判断超过三层,建议拆分开来写,这样更加清晰。packagejav
Wesley13 Wesley13
4年前
Java基础 : Java语句
Java基础:Java语句Java语句下载地址 http://wenku.it168.com/d\_000596432.shtml关键语句介绍一、while语句一般形式:while(条件表达式){语句体………}执行过程:条件表达式为真,执行语句
Wesley13 Wesley13
4年前
Java基础篇(03):流程控制语句,和算法应用
本文源码:GitHub·点这里(https://www.oschina.net/action/GoToLink?urlhttps%3A%2F%2Fgithub.com%2Fcicadasmile%2Fjavabaseparent)||GitEE·点这里(https://gitee.com/cicadasmile/javabasepare
Wesley13 Wesley13
4年前
Java05
Java05Java基础语法(四)循环结构循环结构(重复/迭代):根据条件重复执行部分语句1、while循环结构while(条件表达式){     循环体语句;}1)语法:a、while是关键字        b、“条件表达式”必须用括号括起来        c、“{}”表示循环的控制范围,若没有“{}”,whil
小万哥 小万哥
1年前
资源描述框架的用途及实际应用解析
RDF(资源描述框架)是一种用于机器理解网络资源的框架,使用XML编写。它通过URI标识资源,用属性描述资源,便于计算机应用程序处理信息。RDF在语义网上促进信息的确切含义和自动处理,使得网络信息可被整合。RDF语句由资源、属性和属性值组成。RDF文档包括&lt;rdf:RDF&gt;根元素和&lt;rdf:Description&gt;元素,后者用about属性标识资源。RDF还支持容器(如&lt;Bag&gt;、&lt;Seq&gt;和&lt;Alt&gt;)来描述集合。RDFS是RDF的扩展,提供描述类和属性的框架,而达布林核心是一组预定义属性,用于描述文档。
卡里笔记 卡里笔记
5个月前
Python3流程控制入门:if条件语句/for循环/while循环,新手能直接用的代码指南
本文介绍了Python中的条件判断和循环语句,包括ifelifelse、matchcase、while循环和for循环。通过猜数字游戏、数字整除判断等示例展示了条件语句的使用,并详细说明了while和for循环的执行流程及典型应用场景。文章还提供了循环中断(break)、跳过当前循环(continue)等控制语句的使用方法,帮助读者掌握Python流程控制的核心语法。最后通过对比表格清晰呈现了不同控制语句的特性和适用场景,适合Python新手快速入门流程控制编程。