顺序结构

什么是顺序结构:一行一行的执行代码

选择结构 if

什么是选择结构:通过判断条件来做选择的语句,我们称为选择语句或分支语句

定义方式:if语句使用boolean表达式或boolean值作为选择条件,有三种结构形式:

选择结构 if

第一种结构:

if (boolean条件) {
代码/当boolean条件结果为true的时候,就执行这里的代码。
}

注意:

(1)不能写出 if (boolean条件) ; { }

(2)若 if 的语句只有一句话,其实可以省略{},即是如此,最好得写 {}.

(3)对于boolean类型的表达式,不要使用 boolean表达式==true的写法。

选择结构 if-else

第二种结构.

if (boolean条件) {
当boolean条件结果为true的时候,就执行这里的代码.
}
else {
当boolean条件结果为false的时候,就执行这里的代码.
}

if-else结构和三元运算符的区别:

(1)一个是结构,一个运算表达式。

(2)运算表达式的是必须得有一个结果的。

选择结构 if-elseif-else

第三种结构:

if (boolean条件1) {
当条件1为true的时候,执行这里.
}
else if (boolean条件2) {
当条件2为true的时候,执行这里
}
else if (boolean条件3) {
当条件3为true的时候,执行这里
}
else {
上述所有条件,都不满足,就执行这里.
}

如果已经满足条件了,后面的判断就不会执行。

选择结构switch

定义:switch的语法结构(和if-elseif-else的语义相同)

switch (整型表达式) {
case A值:
语句1;
break;
case B值:
语句2;
break;
case C值:
语句3;
break;
default:
上述所有的结果值都不满足
语句.
}

注意点

switch的语法分析以及注意:

(1)switch中的表达式的结果/类型,必须是整数类型。

  • 整数类型:byte、short、char、int。没有long。
  • 从Java7开始,switch也支持String类型。语法糖,语法糖的背后,其有用的对待 string 类型时候,用的是hashCode() 方法转换的。
public static void main(String[] args) {
String str = "fans";
switch (str) {
case "fans":
System.out.println("fans");
break;
case "leiwen":
System.out.println("leiwen");
break;
default:
System.out.println("default");
break;
}
}

反编译后:

public static void main(String args[]) {
label0: {
String str = "fans";
String s;
switch ((s = str).hashCode()) {
default:
break; case -1106497712:
if (!s.equals("leiwen"))
break;
System.out.println("leiwen");
break label0; case 3135424:
if (s.equals("fans")) {
System.out.println("fans");
break label0;
}
break;
}
System.out.println("default");
}
}

(2)switch语句,一旦找到入口,就会进入,并执行功能语句,后面的case不再判断,除非语句break,return 或者执行完成,才会停下来。

(3)多个case 的不能相同。

(4)如果语句有多条语句,要用 { }。break 写在 { } 外面。

int week = 1;
switch (week) {
case 1: {
System.out.println("星期1");
System.out.println("工作日");
}
break;
default:
System.out.println("其它");
break;
}

(5)如果没有写break,就会执行当前条件后面的所有语句,直到遇到break 退出。

(6)default表示,当case中的值都不成立的时候,才执行,可以放在前面,但是要加上break,如果没有加,同样会继续往下执行。如果放在最后,可以省略break,所以一般的放在最后。

循环结构

循环 while

语法:

while (boolean表达式) {
若boolean表达式结果为true,则执行这里循环体
}

注意:先判断boolean表达式。在执行循环体。

循环 do-while

语法:

do {
循环体
} while (boolean表达式);

注意:

  • do while,不管boolean表达式对与错,先执行一次循环体。
  • 即使boolean表达式为false,do while也会执行一次。
  • 推论:无论条件如何,dowhile至少会执行一次。

循环 for

语法:

for (初始化语句; boolean表达式; 循环之后的操作语句) {
循环体
}

初始化语句:定义变量,赋初始值,只会执行一次;

boolean表达式:判断条件,若条件为true,则进入循环体,若为false,则跳过循环。

循环之后的操作语句:变量的自增/自减操作.

执行顺序

(1)初始化语句.

(2)boolean表达式:

  • true:GOTO 3
  • false:跳过循环,不执行循环体。

(3)执行循环体.

(4)循环之后的操作语句, GOTO 2.

嵌套循环

什么时候要使用嵌套循环?

循环:当一个操作需要重复N次。

嵌套循环:当一个重复的操作,需要执行N次。

结构

一个循环当中嵌套一个循环

注意事项

(1)使用循环嵌套时,内层循环和外层循环的循环控制变量不能相同。

(2)循环嵌套结构的书写,最好采用“右缩进”格式,以体现循环层次的关系。

(3)尽量避免太多和太深的循环嵌套结构。

控制循环结构语句

break语句

结束当前所在的循环。

注意:break之后的语句,执行不到。若编写了,则语法报错。

continue语句

表示跳过的这一次当前循环,继而进行下一次循环。

注意:contine之后的语句,执行不到。若编写了,则语法报错。

return语句

表示结束循环所在的方法,方法都结束了,循环结构自然也就结束了。

控制外层循环

此时就得使用标签了,标签就是给某个循环起的别名,不过该别名得满足标识符的规范。

若要控制外层循环,就在break或continue后面跟上循环的别名就OK了

public static void main(String[] args) {
outter : for (int i = 0; i < 5; i++) {
inner : for (int j = 0; j < i; j++) {
if (i==3) {
break outter;
}
}
}
}

Java 程序流程语句的更多相关文章

  1. Java程序流程控制

    程序流程控制有 选择,循环,以及跳转结构 选择结构中无非就是 If 和 switch语句我两种都做了一些小案例 1. 利用Scanner库来获得控制台用户输入的数字与代码中定义的变量比较 packag ...

  2. Java程序流程控制:判断结构、选择结构、循环结构

    本文内容: 判断结构 if 选择结构 switch 循环结构 while do-while for for each break.continue return 首发时间:2017-06-22 21: ...

  3. Java程序流程控制之if-else if-else

    java基础之流程控制(一)    流程控制 Flow Control :       流程控制语句是编程语言中的核心之一.可以分为 分支语句.循环语句和跳转语句.        本讲内容包括分支语句 ...

  4. Java 程序流程控制语句

    顺序语句 语句:使用分号分隔的代码称作为一个语句 注意:没有写任何代码只是一个分号的时候,也是一条语句,称作空语句 顺序语句就是按照从上往下的顺序执行的语句 Scanner scanner = new ...

  5. 3.20 总结 java程序流程控制

  6. 关于Java程序流程控制的整理(已完善)

  7. 关于Java程序流程控制的整理(未完善)

  8. Java 基础 程序流程控制 (下)

    Java 程序流程控制 (下) 此篇单独对循环结构的知识点进行整理: 之前讲到循环结构分为:for循环,while循环,do...while循环三种最基本的循环结构:在JDK1.5以后的版本还提供了f ...

  9. Java 基础 程序流程控制 (上)

    Java程序流程控制 (上) Java程序大体分为三种流程控制结构:顺序结构.分支结构.循环结构 顺序结构 程序由上到下的逐行执行,中间没有任何跳转和判断语句. 示例代码如下: public clas ...

随机推荐

  1. android 动画总结一

    一.补间动画 补间动画就是指开发者指定动画的开始.动画的结束的"关键帧",而动画变化的"中间帧"由系统计算,并补齐. 补间动画分为四种:平移动画(Transla ...

  2. 从SAP社区上的一篇博客开始,聊聊SAP产品命名背后的那份情怀

    最近Jerry在SAP社区上看到一篇博客:It's Steampunk now. 博客原文:https://blogs.sap.com/2019/08/20/its-steampunk-now/ 什么 ...

  3. KeepAlive细谈

    来自: http://blog.sina.com.cn/s/blog_e59371cc0102ux5w.html 最近工作中遇到一个问题,想把它记录下来,场景是这样的: 从上图可以看出,用户通过Cli ...

  4. JAVA笔记整理(十),JAVA中的File

    File类提供对针对目录和文件的读写改等一系列操作方法 创建: public class FileDemo01 { public static void main(String[] args) { t ...

  5. Linux下Mysql服务安装【1】

    https://www.cnblogs.com/xiaxiaoxu/p/9978976.html 第一步:获取mysql8.0的yum源 进入mysql官网获取RPM包下载地址 https://dev ...

  6. 无线热点登陆认证原理探究---captive portal 什么是Captive Portal

    什么是Captive Portal 大家肯定都连过公共场所的wifi热点,比如麦当劳等地方的.他们的wifi往往一连上去就会弹出一个要求登录或者微信关注之类的页面,只有在这个页面完成操作了才能正常访问 ...

  7. 第一周助教小结——发布作业&线上答疑

    第一周助教小结 助教博客:https://www.cnblogs.com/jason5689/ 本周点评数目:0份 由于发布的作业还未截至,第一次的作业点评还没开始进行,就描述一下评论博客前的感受吧 ...

  8. IDEA实用教程(二)

    2. 基础设置 1) 进入全局设置 2) 更改主题 3) 修改主题字体 4) 修改代码编辑区字体 5) 修改控制台字体 图中3处修改控制台字体 图中4处修改控制台字体 6) 文件编码的设置 图中4处建 ...

  9. What is URL Encoding and How does it work?

    Introduction A URL (Uniform Resource Locator) is the address of a resource in the world wide web. UR ...

  10. 看完100篇Python技术精华文章,平均涨薪30%!

    一个以技术为立身根基的教育机构做出来的微信号,干货程度会有多高? 马哥Linux运维公众号运营五年,从一开始的定位就是给技术人分享加薪干货的地方.这五年里,公众号运营最重的任务就是做内容.内容并不好做 ...