乐趣区

关于java:Java核心基础第3篇Java流程控制

Java 流程管制

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

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

Java 其实和其余任何的开发语言一样,<u> 分支语句 </u><u> 循环语句 </u> 是必不可少的,有个这两个性能之后,咱们实现相似:

  1. 判断问题等级,优良或者良好
  2. 实现九九乘法表等相干的操作

一、分支语句

1.1 分支语句简介

  • 分支语句依据肯定的条件有选择地执行或跳过特定的语句
  • 从而来实现依据不同的条件,失去不同的后果,来满足现实生活中的需要
  • Java 中提供了多种实现分支语句的形式

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

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也被称为多分支语句,能够指定多个条件。

然而可能进入分支的只有一个

语法:

// 语法
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 关键字

语法结构:

  • 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

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. 第六步,如果满足持续进入代码块,如果 不满足,则跳出循环

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);
}

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(); // 换行}
}

三、实战题

第 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 年一月一日是星期一

第五题:依据流程图实现银行取钱业务程序

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

本博文由 IT 蚱蜢哥 原创公布!欢送转载,注明出处!

退出移动版