一 前言

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

二 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 语句还有标签的用法,其会跳到标签的位置的循环而不是跳出最近循环,使用的场景是在多层嵌套的情况下跳至外循环,想要深入学习的读者可以自行研究。初学者可以根据学习的知识写一个斐波那契数列;

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

  1. Java基础—控制流程语句(条件语句与循环结构)

    与任何程序设计语言一样,Java使用条件语句和循环结构确定控制流程.Java的控制流程结构与C和C++的控制流程机构一样,只有很少的例外情况.没有goto语句,但break语句可以带标签,可以利用它实 ...

  2. java基础59 JavaScript运算符与控制流程语句(网页知识)

    1.JavaScript运算符 1.1.加减乘除法 加法:+(加法,连接符,正数)          true是1,false是0    减法:-    乘法:*    除法:/ 1.2.比较运算符 ...

  3. 【JAVA零基础入门系列】Day8 Java的控制流程

    什么是控制流程?简单来说就是控制程序运行逻辑的,因为程序一般而言不会直接一步运行到底,而是需要加上一些判断,一些循环等等.举个栗子,就好比你准备出门买个苹果,把这个过程当成程序的话,可能需要先判断一下 ...

  4. Java基础-程序流程控制第二弹(循环结构)

    Java基础-程序流程控制第二弹(循环结构) 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 流程控制有三种基本结构:顺序结构,选择结构和循环结构.一个脚本就是顺序结构执行的,选择结 ...

  5. Java基础-程序流程控制第一弹(分支结构/选择结构)

    Java基础-程序流程控制第一弹(分支结构/选择结构) 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.if语句 1>.if语句的第一种格式 if(条件表达式){ 语句体: ...

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

    难度 初级 学习时间 10分钟 适合人群 零基础 开发语言 Java 开发环境 JDK v11 IntelliJ IDEA v2018.3 文章原文链接 "全栈2019"Java第 ...

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

    运算符 数据类型转换: 小数据类型-------->大数据类型(自动类型转换) 大数据类型--------->小数据类型(强制类型转换) 强制类型转换的格式: 小数据类型  变量名 = ( ...

  8. JavaScript(三)---- 控制流程语句

    常用的控制流程语句有判断语句.分支语句.循环语句.基本用法都和java中的一致,switch有几点特殊. 1.判断语句 格式:        if(判断条件){            符合条件执行的代 ...

  9. JAVA基础——Switch条件语句

    JAVA基础——switch 条件语句 switch语句结构: switch(表达式){ case值1: 语句体1: break: case值2: 语句体2: break: case值3: 语句体3: ...

随机推荐

  1. Itellij idea2019.2 激活码,有效期2020.5

    Itellij idea2019.2 激活码,有效期2020.5 MNQ043JMTU-eyJsaWNlbnNlSWQiOiJNTlEwNDNKTVRVIiwibGljZW5zZWVOYW1lIjoi ...

  2. Redis入门,对Redis的理解和基本环境搭建及操作

    Redis入门使用 参考:https://blog.csdn.net/hellozpc/article/details/81267030 一).缓存的用途举例 1.前端页面广告的数据无需每次查询后台系 ...

  3. web前端面试题总结(html、css)

    1.对 WEB 标准以及 W3C 的理解与认识? 参考: 标签闭合.标签小写.不乱嵌套.提高搜索机器人搜索几率.使用外 链 css 和 js 脚本. 结构行为表现的分离.文件下载与页面速度更快.内容能 ...

  4. CBO优化器实用理解

    对于CBO的理解: RBO-----基于规则的优化器 CBO-----基于代价的优化器 CBO计算执行计划的代价(cost),并从中选择cost最低的执行方案,它依赖数据库对象的统计信息,统计信息的及 ...

  5. Ajax与Http协议

    目录 Ajax与Http协议详解 Xhr对象 xhr对象发送请求整体感知 xhr对象的常用属性和方法 xhr对象发送post请求 xhr对象的兼容性问题 请求超时timeout与监听超时ontimeo ...

  6. 从零开始手写 spring ioc 框架,深入学习 spring 源码

    IoC Ioc 是一款 spring ioc 核心功能简化实现版本,便于学习和理解原理. 创作目的 使用 spring 很长时间,对于 spring 使用非常频繁,实际上对于源码一直没有静下心来学习过 ...

  7. Java 浅拷贝、深拷贝,你知多少?

    这是今天我们在技术群里面讨论的一个知识点,讨论的相当激烈,由于对这一块使用的比较少,所以对这一块多少有些盲区.这篇文章总结了所讨论的内容,希望这篇文章对你有所帮助. 在 Java 开发中,对象拷贝或者 ...

  8. ERROR: Unrecognized command line argument: 'use'

    Unrecognized command line argument: 'use' gvm--GoLang语言多版本管理工具 基础环境 centos6.5 报错内容 gvm在命令行以外的任何地方调用 ...

  9. 抖音抖一抖-SVG和CSS视觉故障艺术小赏

    故障艺术,英文名称叫glitch,在很多赛博朋克作品中经常看到,其实就是故意表现一种显示设备的小故障效果,抖音的图标其实就是这种的效果,我们看下这个图标 这个图标中的红色和蓝色的偏移其实就是一种故障艺 ...

  10. while(cin)?

    #include<iostream> #include<utility> using namespace std; int main() { int i; do { cout& ...