一、分支结构

概念:程序从两条或多条路径中选择一条去执行,这种结构称为分支结构

1. if结构

特点:

① 条件表达式的形式可以为:

boolean的变量
boolean变量的赋值
关系表达式
逻辑表达式
(只要最终结果为boolean类型即可)

② 大括号中的执行语句,可以为0条或任意多条,而且可以是任意的打印、变量、运算、if结构等

③ 当大括号中的执行语句只有一条的时候,可以省略大括号!

1.1 单分支

if(条件){
//条件成立要执行的语句块
}

1.2 双分支

if(条件){
//条件成立要执行的语句块
}else{
//条件不成立要执行的语句块
}

1.3 多重分支

if(条件){
//条件成立要执行的语句块 }else if(条件2){ }else if(条件3){ }....
else{
//条件不成立要执行的语句块
}

注意事项:

1、从上往下依次判断if条件的,如果某个条件成立,则下面的条件将不再执行
2、else if块的顺序最好不要调换,因为可能影响效果
3、else块可以省略,也可能影响效果
4、区分开多重if结构和多个if 结构

1.4 嵌套分支

if(){
if(){ }else{ }
}

2. switch结构

2.1 语法

switch(变量或表达式){
case 常量1:语句1;break;
case 常量2:语句2;break;
....
default:语句n;break;
}

2.2 执行顺序

先判断出switch括号中的变量或表达式的值,然后依次判断case的常量值是否与之相等

如果相等,则执行对应case的语句块,直到遇见break为止
如果没有相等的,则执行default语句块,直到遇见break为止

2.3 语法注事项

1、变量或表达式的类型:byte、short、int、枚举、String、char
2、case后只能是常量
3、case后的常量不能重复

4、break从语法上可以省略,但影响效果
5、default从语法上可以省略而且可以调换顺序,但影响效果

二、循环结构

  • 好处

1、提高代码的重用性,代码更加简洁

2、提高代码的维护性,使代码扩展性更强!

  • 分类

while
do while
for

  • 四要素

循环变量初始化
循环条件:满足该条件,将进入循环体执行操作
循环操作:反复执行的代码
循环变量更新

2.1 while循环结构

语法:

循环变量初始化 ①
while(循环条件){ ②
  循环操作 ③
  循环变量更新 ④
}

执行顺序:

①②③④②——直到②不成立为止

2.2 do while循环结构

语法:

循环变量初始化   // ①
do{
  循环操作   // ③
  循环变量更新 // ④
}while(循环条件); // ②

执行顺序:
①③④②③④——直到②不成立为止

2.3 for循环结构

for(循环变量初始化;循环条件;循环变量更新){
  循环操作
}

注意事项:

1、三个表达式从语法上讲,可以省略,但有可能导致死循环
2、两个分号必不可少
3、表达式1可以有多条初始化语句隔开,中间必须用逗号隔开
表达式3可以有多条更新语句组成,中间必须用逗号隔开
表达式2 可以有多个条件组成,中间用逻辑运算符隔开

三种结构不同点:

1、语法不同
2、执行顺序不同
while和for 先判断,后执行
do while 先执行,后判断

3、执行效率不同

do while最高
while和for一样,其次

4、应用场景不同

如果知道循环次数,优先考虑使用for解决
如果不知道循环次数,
先判断,则考虑使用while
先执行,则考虑使用do while

三、跳转结构

概念:改变正常的程序控制流的结构

分类:

break 中断、跳出
continue 继续
return 返回

3.1 break结构

功能:一般用于循环或switch中,作用是跳出所在的循环或switch结构!

语法:

switch(){
case 常量:语句;break;
}

2.循环中

while(){
if(){
break;
}
}

Java程序控制结构的更多相关文章

  1. Java 程序员在写 SQL 时常犯的 10 个错误

    Java程序员编程时需要混合面向对象思维和一般命令式编程的方法,能否完美的将两者结合起来完全得依靠编程人员的水准: 技能(任何人都能容易学会命令式编程) 模式(有些人用“模式-模式”,举个例子,模式可 ...

  2. Java程序员的Golang入门指南(上)

    Java程序员的Golang入门指南 1.序言 Golang作为一门出身名门望族的编程语言新星,像豆瓣的Redis平台Codis.类Evernote的云笔记leanote等. 1.1 为什么要学习 如 ...

  3. Java 程序员必须收藏的资源大全

    Java 程序员必须收藏的资源大全 Java(27) 古董级工具 这些工具伴随着Java一起出现,在各自辉煌之后还在一直使用. Apache Ant:基于XML的构建管理工具.官网 cglib:字节码 ...

  4. Java 程序员容易犯的10个SQL错误

    Java程序员编程时需要混合面向对象思维和一般命令式编程的方法,能否完美的将两者结合起来完全得依靠编程人员的水准: 技能(任何人都能容易学会命令式编程) 模式(有些人用“模式-模式”,举个例子,模式可 ...

  5. [转载]一个标准java程序员的进阶过程

    第一阶段:Java程序员 技术名称 内                 容 说明 Java语法基础 基本语法.数组.类.继承.多态.抽象类.接口.object对象.常用类(Math\Arrarys\S ...

  6. Java 程序优化 (读书笔记)

    --From : JAVA程序性能优化 (葛一鸣,清华大学出版社,2012/10第一版) 1. java性能调优概述 1.1 性能概述 程序性能: 执行速度,内存分配,启动时间, 负载承受能力. 性能 ...

  7. Java程序员应该了解的10个面向对象设计原则

    面向对象设计原则: 是OOPS(Object-Oriented Programming System,面向对象的程序设计系统)编程的核心,但大多数Java程序员追逐像Singleton.Decorat ...

  8. To Java程序员:切勿用普通for循环遍历LinkedList

    ArrayList与LinkedList的普通for循环遍历 对于大部分Java程序员朋友们来说,可能平时使用得最多的List就是ArrayList,对于ArrayList的遍历,一般用如下写法: p ...

  9. 使用 SecurityManager 和 Policy File 管理 Java 程序的权限

    参考资料 该文中的内容来源于 Oracle 的官方文档.Oracle 在 Java 方面的文档是非常完善的.对 Java 8 感兴趣的朋友,可以从这个总入口 Java SE 8 Documentati ...

随机推荐

  1. 六、ARM 寻址方式

    寻址方式是针对源操作数来说的 6.1 立即数寻址 源操作数是立即数 立即数:操作码以 # 号开头的数字为立即数 立即数寻址: MOV   R0, #0x300 伪指令:        LDR   R0 ...

  2. wepy-wxss报错

    慢慢积攒下wepy 的一些BUG吧 1.页面在page目录下明明删除了某个子页面文件,打开wepy却一直报错!wxml报错或者wxss报错,提示的页面我为了排错都直接delete掉了,还是报错???思 ...

  3. Python---面向对象---修学校

    一.创建北京和成都两个校区: 1.创建Linux\Python两个课程 2.创建北京校区的Python 3期课程和成都校区的Linux 1期课程 3.管理员创建了北京校区的学员小张,并将其分配在了Py ...

  4. php调接口批量同步本地文件到cos或者oss

    代码: <?php namespace Main\Controller; use Common\Library\Vendor\ElasticSearch; use Common\Library\ ...

  5. 洛谷P4391 [BOI2009]Radio Transmission 无线传输——题解

    题目传送 假如我们有一个用于循环连接的最短串ans,考虑用它造出来的数据(即输入的字符串s)有什么特点.发现:ans自我连接出一个大串z后从中取出的一个子串即为s,对s造一个KMP算法中的next数组 ...

  6. [codeforces743C]:Vladik and fractions(数学)

    题目传送门 题目描述 请找出一组合法解使得$\frac{1}{x}+\frac{1}{y}+\frac{1}{z}=\frac{2}{n}$成立. 其中$x,y,z$为正整数且互不相同. 输入格式 一 ...

  7. react-native modal

    1.属性 animationType(动画类型) PropTypes.oneOf([‘none’, ‘slide’, ‘fade’]) none:没有动画 slide:从底部滑入 fade:淡入视野 ...

  8. Java中的BigDecimal类和int和Integer总结

    前言 我们都知道浮点型变量在进行计算的时候会出现丢失精度的问题.如下一段代码: System.out.println(0.05 + 0.01); System.out.println(1.0 - 0. ...

  9. 阶段1 语言基础+高级_1-3-Java语言高级_1-常用API_1_第5节 String类_3_字符串的常量池

    字符换是可以共享使用的,那么怎么去共享使用呢 三种方式去创建字符串.然后三种分别进行比较 3的地址和1.2的地址不一样 在堆里面有一块空间叫做字符串常量池,从jdk1.7开始.字符串常量池在堆中 字符 ...

  10. 阶段1 语言基础+高级_1-3-Java语言高级_1-常用API_1_第6节 static静态_15_静态代码块

    static的特殊用法, 静态代码块 加上构造方法,做测试 又创建一个对象 静态代码块 只执行一次 后续在学习jdbc的时候,静态代码块很有用途.