Java基础学习之流程控制语句(5)
1.顺序结构
顺序结构较为简单,即自上而下顺序执行程序。
2.选择结构
2.1.if else结构
语法:
if (布尔表达式) {
//表达式为true时执行
} else {
//表达式为false时执行
}
例如:
public class TestIfElse {
public static void main(String[] args) {
int i = 20;
if (i > 20) {
System.out.println("i > 20");
} else {
System.out.println("i 不大于 20");
}
}
}
在这种情况下我们只能判断两种情况,条件满足和条件不满足,当条件很多时怎么办?
这时有个if else的进阶版:
if (布尔表达式1) {
//布尔表达式1为true时执行
} else if (布尔表达式2) {
//布尔表达式2为true时执行
} else if (布尔表达式3) {
//布尔表达式3为true时执行
} else {
//以上表达式都不为true时执行
}
当然,if else也可以嵌套使用。
2.2.switch case结构
语法:
switch(变量) {
case 值1:
处理流程;
break;
case 值2:
处理流程;
break;
case 值3:
处理流程;
break;
...
default:默认处理流程;
}
这里的变量类型有int、short、char和byte,JDK1.7以后支持String。这里的值代表的是常量或运算表达式。当所有的case不满足时,执行default。
这里需要注意的是,如果在case中不加break时,会从满足case的地方开始向下执行直到遇到break;default无论放在哪都是所有case不满足或所有case都不带break时执行。
3.循环结构
3.1.while结构
语法:
while (布尔表达式) {
//循环体内容
}
当布尔表达式为true时,执行循环体,直到布尔表达式为false。当表达式恒true时就是死循环了。
例如:
public class TestWhile {
public static void main(String[] args) {
int i = 10;
while (i > 0) {
System.out.println(i);
i--;
}
}
}
运行结果:

3.2.do while结构
语法:
do {
//循环体内容
} while (布尔表达式);
先执行do中的内容,当表达式为true时继续执行do内的东西。
例如:
public class TestDoWhile {
public static void main(String[] args) {
int i = 10;
do {
System.out.println(i);
i--;
} while (i > 0);
}
}
执行结果:

3.3.for结构
3.3.1.普通for循环
语法:
for (初始化操作; 布尔表达式; 迭代) {
//循环体内容
}
初始化操作用于声明变量也可以是空语句,布尔表达式为循环是否执行的判断条件,迭代用于控制更新如while中的i--语句。
整体流程:
初始化操作,表达式为true执行循环体,执行迭代,判断表达式...;表达式为false,跳出循环。
例如:
public class TestFor01 {
public static void main(String[] args) {
for (int i = 10; i > 0; i--) {
System.out.println(i);
}
}
}
执行结果:

3.3.2.增强for循环
语法:
for (变量声明 : 可迭代变量) {
//循环体内容
}
可迭代变量是数组这样的有多个元素单元,后面会说的集合也是类似的可迭代的。
变量声明为可迭代变量中元素的类型的变量声明。
主要用于遍历可迭代变量的。
例如:
public class TestForEach {
public static void main(String[] args) {
int[] arr = {1,2,3,4,5,6,7,8,9};
for (int num : arr) {
System.out.println(num);
}
}
}
执行结果:

4.break和continue
4.1.break
break在之前条件结构的switch case语句中遇到过,用于跳出某个结构。在循环中则用于跳出循环。
例如:
public class TestBreak {
public static void main(String[] args) {
int[] arr = {1,2,3,4,5,6,7,8,9};
for (int num : arr) {
System.out.println(num);
if (num == 5) {
break;
}
}
}
}
执行结果:

我们发现当num == 5满足时执行break,整个循环都结束了。
4.2.contine
continue语义是继续,用于循环结构中,表示结束当前循环继续下一次循环。
例如:
public class TestBreak {
public static void main(String[] args) {
int[] arr = {1,2,3,4,5,6,7,8,9};
for (int num : arr) {
if (num == 5) {
continue;
}
System.out.println(num);
}
}
}
执行结果:

我们发现5没有打印,这是因为当num==5满足时,执行continue,需要直接结束当前循环,则后面的寻循环体内容就不执行了。
Java基础学习之流程控制语句(5)的更多相关文章
- java基础学习总结四(控制语句<顺序、选择、循环>、方法)
一:结构控制语句 结构控制语句分为3种,顺序语句.选择语句.循环语句. 1:顺序语句 就是自上而下的执行程序,默认执行顺序. 2:选择语句 if结构语句:如果满足条件,则执行该语句. if...els ...
- Java基础学习笔记总结
Java基础学习笔记一 Java介绍 Java基础学习笔记二 Java基础语法之变量.数据类型 Java基础学习笔记三 Java基础语法之流程控制语句.循环 Java基础学习笔记四 Java基础语法之 ...
- java基础学习总结01
在过去的一周我们先学习了JAVA的一些基础知识和基础语法,基础知识包括:指令.程序.计算机语言.机器语言.高级语言的概念和特点,java的概念.平台.组建等,以及代码的编译过程,代码的开发流程.基础语 ...
- 尚学堂JAVA基础学习笔记
目录 尚学堂JAVA基础学习笔记 写在前面 第1章 JAVA入门 第2章 数据类型和运算符 第3章 控制语句 第4章 Java面向对象基础 1. 面向对象基础 2. 面向对象的内存分析 3. 构造方法 ...
- Java基础语法(4)-流程控制
title: Java基础语法(4)-流程控制 blog: CSDN data: Java学习路线及视频 1.程序流程控制 流程控制语句是用来控制程序中各语句执行顺序的语句,可以把语句组合成能完成一定 ...
- Java基础学习中一些词语和语句的使用
在Java基础学习中,我们刚接触Java会遇到一些词和语句的使用不清的情况,不能很清楚的理解它的运行效果会是怎么样的,如:break,continue在程序中运行效果及跳转位置, 1.先来看看brea ...
- 【Java初探03】——流程控制语句
做任何事情都应当遵守一定的原则,程序设计也是如此,需要有流程控制语言来实现与用户的交流.流程控制对于任何一门编程语言来说都是至关重要的,它提供了控制程序步骤的基本手段,如果没有流程控制语句,整个程序将 ...
- Java基础学习(2)
Java基础学习(二) 面向对象 对象:客观存在的事物 面向对象:人具体关注的事物的某些信息 类:是模子,确定对象会拥有的特征(属性)和行为(方法) 对象的属性:对象具有的各种特征 对象的方法:对象能 ...
- Java基础语法与流程控制
Java基础语法与流程控制 跟着狂神学Java的第二天O(∩_∩)O~,养成一个总结的习惯 志同道合的小伙伴可以一起学习狂神的视频 本节地址:https://www.kuangstudy.com/co ...
随机推荐
- 对ESP8266的例子进行编译时报错check_python_dependencies的问题的解决
尝试对ESP8266的例子进行编译时报错: make: *** 没有规则可制作目标"check_python_dependencies" 解决方法: 1.安装python pip包 ...
- 在Windows进下build 高可用负载均衡与反向代理神器:HAProxy
前言 HAProxy是一个款基于Linux的开源高可用的负载均衡与反向代理工具,与Nginx大同小异. 搜遍了全网,几乎都是基于Linux平台.Windows平台的要么就是多年前的旧版本,要么就是不兼 ...
- SpringBoot中BeanValidation数据校验与优雅处理详解
目录 本篇要点 后端参数校验的必要性 不使用Validator的参数处理逻辑 Validator框架提供的便利 SpringBoot自动配置ValidationAutoConfiguration Va ...
- BPMN开源工作流编辑器bpmn-js落地实践中文文档
BPMN是一套标准的业务流程建模符号规范,bpmn-js是基于此规范实现的一套渲染工具包和web建模器,可以实现拖拽生成工作流程图,效果大概如下 最近刚好用到,研究之后写了系列文章,分享给有需要的小伙 ...
- mysql中key和index的关系
原文链接:https://blog.csdn.net/top_code/article/details/50599840
- linux netfilter 五个钩子点
参考http://www.linuxtcpipstack.com/685.html#NF_INET_PRE_ROUTING https://opengers.github.io/openstack/o ...
- Makefile 指定源文件目录 make
top=$(CURDIR) SRC_DIR=$(top)/src BUILD_DIR=$(SRC_DIR) src=$(wildcard $(SRC_DIR)/*.c) obj=$(patsubst ...
- Serilog 源码解析——数据的保存(中)
上一篇文章中揭露了日志数据的绑定逻辑,主要说明了日志数据绑定的结果信息,即EventProperty结构体和LogEventProperty类,以及日志数据与具名属性Token的绑定类Property ...
- BurpSuite多重代理的情形
有时候为了隐藏自己的真实IP,访问目标网站需要走代理.比如说,通过代理IP访问目标网站并且代理IP可以随时切换,这样可以避免IP被封堵后无法访问目标网站的尴尬. 一. 首先把代理切换为全局模式 操作步 ...
- 12种不宜使用的Javascript语法 ---阮一峰
原文链接-阮一峰博客 1. == Javascript有两组相等运算符,一组是==和!=,另一组是===和!==.前者只比较值的相等,后者除了值以外,还比较类型是否相同. 请尽量不要使用前一组,永远只 ...