Java程序控制结构
一、分支结构
概念:程序从两条或多条路径中选择一条去执行,这种结构称为分支结构
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程序控制结构的更多相关文章
- Java 程序员在写 SQL 时常犯的 10 个错误
Java程序员编程时需要混合面向对象思维和一般命令式编程的方法,能否完美的将两者结合起来完全得依靠编程人员的水准: 技能(任何人都能容易学会命令式编程) 模式(有些人用“模式-模式”,举个例子,模式可 ...
- Java程序员的Golang入门指南(上)
Java程序员的Golang入门指南 1.序言 Golang作为一门出身名门望族的编程语言新星,像豆瓣的Redis平台Codis.类Evernote的云笔记leanote等. 1.1 为什么要学习 如 ...
- Java 程序员必须收藏的资源大全
Java 程序员必须收藏的资源大全 Java(27) 古董级工具 这些工具伴随着Java一起出现,在各自辉煌之后还在一直使用. Apache Ant:基于XML的构建管理工具.官网 cglib:字节码 ...
- Java 程序员容易犯的10个SQL错误
Java程序员编程时需要混合面向对象思维和一般命令式编程的方法,能否完美的将两者结合起来完全得依靠编程人员的水准: 技能(任何人都能容易学会命令式编程) 模式(有些人用“模式-模式”,举个例子,模式可 ...
- [转载]一个标准java程序员的进阶过程
第一阶段:Java程序员 技术名称 内 容 说明 Java语法基础 基本语法.数组.类.继承.多态.抽象类.接口.object对象.常用类(Math\Arrarys\S ...
- Java 程序优化 (读书笔记)
--From : JAVA程序性能优化 (葛一鸣,清华大学出版社,2012/10第一版) 1. java性能调优概述 1.1 性能概述 程序性能: 执行速度,内存分配,启动时间, 负载承受能力. 性能 ...
- Java程序员应该了解的10个面向对象设计原则
面向对象设计原则: 是OOPS(Object-Oriented Programming System,面向对象的程序设计系统)编程的核心,但大多数Java程序员追逐像Singleton.Decorat ...
- To Java程序员:切勿用普通for循环遍历LinkedList
ArrayList与LinkedList的普通for循环遍历 对于大部分Java程序员朋友们来说,可能平时使用得最多的List就是ArrayList,对于ArrayList的遍历,一般用如下写法: p ...
- 使用 SecurityManager 和 Policy File 管理 Java 程序的权限
参考资料 该文中的内容来源于 Oracle 的官方文档.Oracle 在 Java 方面的文档是非常完善的.对 Java 8 感兴趣的朋友,可以从这个总入口 Java SE 8 Documentati ...
随机推荐
- java ThreadGroup源码分析
使用: import javax.swing.text.html.HTMLDocument.HTMLReader.IsindexAction; public class Test { public s ...
- NOIP2019(CSP2019) 游记
NOIP2019(CSP2019) 游记 近一年的似乎也就是感觉比别的学校的同学水平低的不止一点,到现在也没有搞清楚大概应该怎么科学有效的练习,并不会思考"为什么想不到"和&quo ...
- python碎片 - 函数参数
一个*传参: 方式1:如果想传一个列表中的值,实参前加*.如: *[1,2,3] 方式2:直接传入一个列表,不加*.如[1,2,3],则传入的是一整个列表,包括[] 两个**传参: 方式1,:{nam ...
- Java 学习输入1234 求和
输入任何整数都能求和 import java.util.Scanner; /** * @author 作者anil E-mail:888@yirose.com * @date 创建时间:2017年3月 ...
- 前端每日实战:14# 视频演示如何用纯 CSS 创作一种侧立图书的特效
效果预览 按下右侧的"点击预览"按钮在当前页面预览,点击链接全屏预览. https://codepen.io/zhang-ou/pen/deVgRM 可交互视频教程 此视频是可以交 ...
- RAC heartbeat 心跳机制
世界上最遥远的距离,不是生与死.而是我们同一个集群的两个节点,你却听不到我的心跳. 必要性:维持集群的⼀致性RAC⼼跳机制 – 集群⼼跳基本机制:1.确定节点和节点间的连通性,达到彼此了解2.⽤共享的 ...
- 在国外搭建 Web 服务器 - Linode VPS
在国外搭建 Web 服务器 - Linode VPS 买一台虚拟服务器(VPS),把你网站放在上面跑跑,找找感觉,平时也可以用它来练习.前几天,搜索到了有人推荐 Linode 的 VPS,昨天又有朋友 ...
- Java语言基础1-关键字、标识符、常量和变量
关键字-标识符-常量和变量-运算符-流程控制-方法-数组 1.关键字 keyword Java系统中已经赋予了特殊含义的单词 特点:全部是小写字母注意: Java中的保留字:现在没有使用,以后有可能会 ...
- ping/curl
ping查看网络连通情况 curl查看接口可用情况
- linux运维、架构之路-tomcat日志切割工具 logrotate
一.Logrotate简介 1.Logrotate实际就是对日志进行切割的小工具,他通过让用户来配置规则的方式,检测和处理日志文件.配合Cron可让处理定时化:2.Logrotate预制了大量判断条件 ...