java基础-控制流程语句

一 前言

周末睡觉好舒服,都不想动了,就想睡睡,晒晒太阳,作者劳碌命还是过来写文章了。基础系列文章已经已经出到控制流程,感觉也挺快的,我很自信全网没都多少系列文章能有我这基础系列写的这么好,易于初学者理解并且知识体系齐全觉得文章不错的可以关注一下作者。控制流程语句的概念其实作者感觉是从工程流程图里面转换过来的,比如是非选择啊,循环执行啊之类都可以用流程图来讲述咯!!!!!!

二 if - else 语句

2.1 if -else

if (如果)- else(否则) 在之前的基础系列三元运算符中有提了一下,if else 怎么理解呢?其实很简单,如果今天天气很好,我就想出门晒晒太阳,否则,我就想在睡在床上。这句话译成 if - else 如下:

 if (今天天气很好)
    出门晒晒太阳;
else
    睡在床上;   

从这个示例中我们可以提取中if - else 的结构如下:

if (boolean-expression) {
    statement;
}else{
    statement
}

我们再将示例写成java代码如下

/**
 * @Author lsc
 * <p>知识追寻者,if else入门基础系列 </p>
 */
public class IfElse {

    public static void main(String[] args) {
        // 创建对象
        IfElse ifElse = new IfElse();
        // 示例true表示今天天气很好
        String weather = ifElse.weather(true);
        System.out.println(weather);//出门晒晒太阳
        // 示例 false表示今天天气不好
        String weather1 = ifElse.weather(false);
        System.out.println(weather1);//睡在床上

    }

    /* *
     * @Author lsc
     * <p> if else 使用入门</p>
     * @Param [weather 表示天气的好坏]
     * @Return java.lang.String 返回根据天气的好坏,想要做的事
     */
    public String weather(boolean weather){

        if (weather==true){
            return "出门晒晒太阳";
        }else {
            return "睡在床上";
        }
    }
}

2.2 if -else if-else

除了if -else语句,其还支持 if - else if - else ,其中else 是可以不写(但不建议这么做,逻辑不是很严谨),中间的 else if 表示 之前的语句if 不成立,就判断 else if 中的条件,如果成里就执行表达式;理论上讲 else if 是 可以无限个;一个简单的示例 如下: 如果手很冰,就戴上手套;如果脚很冰,就穿上棉袜,如果脖子很冰,就裹上围巾, 否则 便装出门;

将这个示例改写成 if -else if-else 逻辑如下:

if (手很冰) {
    戴上手套;
}else if (脚很冰) {
    穿上棉袜;
} else if (脖子很冰) {
    裹上围巾;
}else {
    便装出门;
}

将上面的示例提取成if -else if-else 结构如下:

if (boolean- expression) {
    statement;
} else if  (boolean- express){
    statement;
} else if  (boolean- express){
    statement;
}
..........
    else {
    statement;
}

将示例写成java代码如下:

 public static void main(String[] args) {
        // 创建对象
        IfElse ifElse = new IfElse();
        // 1 表示手冷
        String keepWarm1 = ifElse.keepWarm(1);
        // 2 表示脚冷
        String keepWarm2 = ifElse.keepWarm(2);
        // 3 表示 脖子冷
        String keepWarm3 = ifElse.keepWarm(3);
        // 知识追寻者:[戴上手套][穿上袜子][裹上围巾]
        System.out.println("知识追寻者:"+keepWarm1+keepWarm2+keepWarm3);
    }

 /* *
     * @Author lsc
     * <p> 根据身体部分的是否冷,进行穿戴动作, </p>
     * @Param [whichCold 表示哪里冷]
     * @Return java.lang.String
     */
    public String keepWarm(int whichCold){
        // if 表达式中只有为真才会进入语句体
        if (whichCold==1){
            return "[戴上手套]";
        }else if(whichCold==2){
            return "[穿上袜子]";
        }else if (whichCold==3){
            return "[裹上围巾]";
        }else {
            return "便装出行";
        }
    }

三 switch 语句

switch 语句 其实跟 if - else 语句 有点类似,其是一个多分支结构语句,有的书籍将其归为选择语句也没错,我们将上面的示例 改写为 switch 逻辑如下

switch (哪里冷) {
        case 手冷 :
            戴上手套;
             break;
        case 脚冷:
            穿上袜子;
             break;
        case 脖子冷:
            裹上围巾;
             break;
        default :
            便装出行;
}

将 上面的逻辑提炼出 switch语句结构如下:case 表示 情况,expression如果与 value 对于 就会执行 语句statement,break表示跳出循环,在switch 语句中表示会跳转至switch结尾退出 switch语句;如果每个语句中忽略了break(不是很有经验的程序员会哭的),那么语句会一直执行,直到遇到第一个break语句才会结束switch语句,所以初学者在学习的时候谨记每个case语句后面带上break语句

switch (expression) {
    case  value1 :
        statement;
        break;
    case value2;
        statement;
        break;
    .......................
    default :
        statement;
}

将上面的示例转为java代码如下:

/**
 * @Author lsc
 * <p> switch 语句 </p>
 */
public class SwitchZ {

    public static void main(String[] args) {
        // 创建对象
        SwitchZ switchZ = new SwitchZ();
        // 1 表示手冷
        String keepWarm1 = switchZ.keepWarm(1);
        // 2 表示脚冷
        String keepWarm2 = switchZ.keepWarm(2);
        // 3 表示 脖子冷
        String keepWarm3 = switchZ.keepWarm(3);
        // 知识追寻者:[戴上手套][穿上袜子][裹上围巾]
        System.out.println("知识追寻者:"+keepWarm1+keepWarm2+keepWarm3);
    }

    public String keepWarm(int whichCold){

        String keepWarm = "";
        switch (whichCold){

            case 1:
                keepWarm += "[戴上手套]";
                break;
            case 2:
                keepWarm +=  "[戴上手套]";
                break;
            case 3:
                keepWarm +=  "[裹上围巾]";
                break;
            default:
                keepWarm +=  "[便装出行]";
        }
        return keepWarm;
    }
}

四 循环语句

循环语句故名思意,就是在表达式为真的情况下会循环一直执行语句体。

4.1 while 语句

以一个非常好玩的小学生示例描述一下:小学生作业没写,老师要处罚小学生抄《小白兔小白兔》一文 20 遍;

while (小学生抄了《小白兔小白兔》次数小于20次){
        小学生抄《小白兔小白兔》;
}

我们将其提炼出while语句结构如下:

while (boolean-expression) {
        statement;
}

将示例写为java代码的while语句如下:

    public static void main(String[] args) {
        // 表示罚抄的次数
        int number = 0;
        while (number<20){
            number++;
            System.out.println("小学生被老师罚抄《小白兔小白兔》次数:"+number);
        }
    }

输出结果:

小学生被老师罚抄《小白兔小白兔》次数:1
小学生被老师罚抄《小白兔小白兔》次数:2
小学生被老师罚抄《小白兔小白兔》次数:3
小学生被老师罚抄《小白兔小白兔》次数:4
小学生被老师罚抄《小白兔小白兔》次数:5
小学生被老师罚抄《小白兔小白兔》次数:6
小学生被老师罚抄《小白兔小白兔》次数:7
小学生被老师罚抄《小白兔小白兔》次数:8
小学生被老师罚抄《小白兔小白兔》次数:9
小学生被老师罚抄《小白兔小白兔》次数:10
小学生被老师罚抄《小白兔小白兔》次数:11
小学生被老师罚抄《小白兔小白兔》次数:12
小学生被老师罚抄《小白兔小白兔》次数:13
小学生被老师罚抄《小白兔小白兔》次数:14
小学生被老师罚抄《小白兔小白兔》次数:15
小学生被老师罚抄《小白兔小白兔》次数:16
小学生被老师罚抄《小白兔小白兔》次数:17
小学生被老师罚抄《小白兔小白兔》次数:18
小学生被老师罚抄《小白兔小白兔》次数:19
小学生被老师罚抄《小白兔小白兔》次数:20

4.2 do while 语句

do- while 语句和 while 语句之间的最大区别就是无论 表达是是否为真,都会执行 do 语句体一次;

do - while 结构如下:

do {
    statement;
} while (boolean-expression)

将示例写为java代码的do-while语句如下:

 public static void main(String[] args) {
        // 表示罚抄的次数
        int number = 0;
        do {
            number++;
            System.out.println("小学生被老师罚抄《小白兔小白兔》次数:"+number);
        } while (number<20);
    }

4.3 for循环

for 循环使用流程图画出来可以说非常的恰当!有兴趣的读者可以将for循环的结构使用流程图画出来;

for 语句结构如下:

for ( Initial value; boelean-exepression; step ) {
    statement;
}

将示例写为java代码的for 语句如下:

public static void main(String[] args) {

        for (int number =0; number<20; number++){
            System.out.println("小学生被老师罚抄《小白兔小白兔》次数:"+number);
        }
    }

注意这里输出的将是 0.......19;其执行判断步骤如下,可以看见 number =0只在变量初始化的时候执行一次;后面都会判断number是否小于20,是就执行循环体,然后再将number值加1,重复执行直到number值为20的时候退出;

  1. numer = 0;
  2. number < 20 成立
  3. 控制台打印
  4. number +1
  5. number < 20 成立
  6. 控制台打印
  7. ..............
  8. 直到 number =20 时结束;

4.4 高级for循环 for-each

java5提供一个新特性就是高级for循环,这种方式用于迭代数组集合,可以不按照for循环的标准流程执行;从下面语句中可以看出 number 是 int 数组的每一项,所以 number 是 int 类型;执行语句的时候会从 int 数组 numberArray中拿值赋值给 number ,如果 numberArray 中的值被拿走一次,那么数组的下标索引就会加1,直到数组被遍历完成;送你一句话:不断的索取,只会竭泽而渔,当可持续发展,不断薅羊毛;

public static void main(String[] args) {
        // int数组,如果是初学者请留个印象,不必深究
        int[] numberArray = {1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20};

        for (int number : numberArray) {
            System.out.println("小学生被老师罚抄《小白兔小白兔》次数:"+number);
        }
    }

4.5 死循环

死循环意指会一直执行循环体,这是个很消耗内存的操作;下面代码中小学生就会一直被罚抄,直到抄到精疲力竭,甚至死亡,嗯很可怜的。想想程序这样执行是不是也跟人一样,会不断的消耗内存,最后内存奔溃,宕机。用这个死循环给你总结个话:世间没用永恒的诺言,只是耐心没被消磨完罢了;所以生活中多点宽容,活的会更好点,莫强求!

for 死循环示例:

 public static void main(String[] args) {
        for (;;){
            System.out.println("小学生被老师罚抄《小白兔小白兔》");
        }
    }

while死循环示例:

public static void main(String[] args) {
        while (true){
            System.out.println("小学生被老师罚抄《小白兔小白兔》");
        }
    }

五 continue语句

continue 语句通常用在循环中,表示跳过循环一次;

示例:

public static void main(String[] args) {
        // int数组,如果是初学者请留个印象,不必深究
        int[] numberArray = {1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20};

        for (int number : numberArray) {
            // 如果 number 小于 15 将每次都会跳过循环
            if (number<15){
                continue;
            }
            System.out.println("小学生被老师罚抄《小白兔小白兔》次数:"+number);
        }
    }

执行结果如下:

小学生被老师罚抄《小白兔小白兔》次数:15
小学生被老师罚抄《小白兔小白兔》次数:16
小学生被老师罚抄《小白兔小白兔》次数:17
小学生被老师罚抄《小白兔小白兔》次数:18
小学生被老师罚抄《小白兔小白兔》次数:19
小学生被老师罚抄《小白兔小白兔》次数:20

六 breek 语句

break语句 表示跳出循环,很多书籍跟文章写的是终止循环其实是不够准确的,我更愿意称呼它是跳出离它最近的循环;

 public static void main(String[] args) {
         // 表示罚抄次数
         int number = 0;
        while (true){
            number++;
            if (number>5){
                // 跳出循环
                break;
            }
            System.out.println("小学生被老师罚抄《小白兔小白兔》次数:"+number);
        }
    }

七 总结

本篇的控制流程语句可以说是非常基础,很适合初学者学习,其中continue,break 语句还有标签的用法,其会跳到标签的位置的循环而不是跳出最近循环,使用的场景是在多层嵌套的情况下跳至外循环,想要深入学习的读者可以自行研究。初学者可以根据学习的知识写一个斐波那契数列;

原文地址:https://www.cnblogs.com/zszxz/p/12058041.html

时间: 2024-11-03 21:22:40

java基础-控制流程语句的相关文章

04 Java基础 -控制流程语句

/* 控制流程语句: 语句: 使用分号分隔的代码就是一个语句. 顺序语句: 按照代码顺序从上往下执行所有的代码就是顺序语句 ; 也是一个语句 */ class Demo1 {     public static void main(String[] args){     /*     int i = 10;  //声明变量的语句         ;//空语句         System.out.println("Hello World!"); //输出语句             *

JAVA基础之流程语句

JAVA流程语句有几下几种: 一.if语句: 1.if语句:如果满足条件语句,则执行执行语句: if(条件语句){ 执行语句: ....: } 2.if....else语句:如果满足判断语句,则执行执行语句1,否则执行执行语句2: if(判断语句{ 执行语句1: .....; }else{ 执行语句2: ......; } 3.if....else if....else语句:对多个条件进行判断,进行多种不同的处理: if(判断条件1){ 执行语句1 }else if(判断条件2){ 执行语句2

“全栈2019”Java第二十二章:控制流程语句中的决策语句if-else

难度 初级 学习时间 10分钟 适合人群 零基础 开发语言 Java 开发环境 JDK v11 IntelliJ IDEA v2018.3 文章原文链接 "全栈2019"Java第二十二章:控制流程语句中的决策语句if-else 下一章 "全栈2019"Java第二十三章:流程控制语句中决策语句switch上篇 学习小组 加入同步学习小组,共同交流与进步. 方式一:关注头条号Gorhaf,私信"Java学习小组". 方式二:关注公众号Gorhaf

java(运算符,控制流程语句,函数 )

运算符 数据类型转换: 小数据类型-------->大数据类型(自动类型转换) 大数据类型--------->小数据类型(强制类型转换) 强制类型转换的格式: 小数据类型  变量名 = (小数据类型)大数据类型 注意的细节: 1.凡是byte.short.char数据类型数据在运算的时候都会自动转换成int类型的数据再运算. 2.两个不同数据类型的数据在运算的时候,结果取决于大的数据类型. class Demo2 { public static void main(String[] args)

控制流程语句

控制流程语句包含以下几种: 1.if - else 语句 2.switch 语句 2.循环语句: while和for 3.break和continue语句 if - else 语句:(判断语句) 格式一: 只适用于一种情况下去使用.  if(判断条件){   符合条件执行的代码;  } 格式二:适用于两种情况下去使用  if(判断条件){    符合条件执行的代码  }else{    不符合条件执行 的 代码  } 格式三: 适用于多种情况使用的  if(判断条件1){   符合条件1执行的

java基础:流程控制语句(选择结构if语句)

(1)顺序结构 从上往下,依次执行 Demo: class ShunXuJieGouDemo { public static void main(String[] args) { System.out.println("程序开始了"); System.out.println("我爱Java"); System.out.println("程序结束了"); } } (2)选择结构        按照不同的选择,执行不同的代码 Java语言提供了两种选

Java基础总结--流程控制

Java流程控制* 顺序结构--最常见的执行情况,语句按照出现的先后次序依次执行.* 判断结构--对条件进行判断,执行相应的语句.有三种常见的形式< if(判断条件){语句;}--为真执行语句,否则不执行< if(判断条件){语句;}else{语句;}--注意这个结构是一个整体,只会执行一个分支,为真-if控制的语句,假-执行else控制的语句.< if(判断条件){语句;}else if(判断条件){语句;}else{语句;}--注意多重条件判断-这个结构也是一个整体,只会执行一个,满

JavaSE入门学习7:Java基础语法之语句(下)

继续接着Java基础语法来:JavaSE入门学习5:Java基础语法(一)和JavaSE入门学习6:Java基础语法(二). 语句 Java经常使用的3种循环:while.do...while,for. (5)Java循环语句之while 语法: watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" > 运行

Java基础学习-流程控制语句

在一个程序执行的过程中,各条语句的执行顺序对程序的结果是有直接影响的.也就是说程序的流程对运行结果有直接的影响.所以,我们必须清楚每条语句的执行流程.而且,很多时候我们要通过控制语句的执行顺序来实现我们要完成的功能. 流程控制语句分类: -顺序结构 -选择结构 -循环结构 1.顺序结构 1.1 顺序结构的概述 是程序中最简单的流程控制,没有特定的语法结构,按照代码的先后顺序,依次执行,程序中大多数的代码都是这样执行的. 1.2 顺序结构语句的执行流程 开始-->语句A-->语句B-->语