Java 程序流程控制语句
顺序语句
语句:使用分号分隔的代码称作为一个语句
注意:没有写任何代码只是一个分号的时候,也是一条语句,称作空语句
顺序语句就是按照从上往下的顺序执行的语句
Scanner scanner = new Scanner(System.in); //语句一
String inputString = scanner.next(); //语句二
System.out.println(inputString); //语句三
; // 语句四(空语句)
以上四条语句的执行顺序是从上往下执行,即语句一 -> 语句二 -> 语句三 -> 语句四
选择语句
if/else 语句
格式一
if (判断条件) {
//如果符合条件执行下面的代码
执行的代码块1;
执行的代码块2;
…
执行的代码块n;
}
格式二
if (判断条件) {
执行的代码块1;
执行的代码块2;
…
执行的代码块n;
} else {
执行的代码块1;
执行的代码块2;
…
执行的代码块n;
}
if else 结构 简写格式: 变量 = (条件表达式) ? 表达式1:表达式2;
三元运算符:
- 好处:可以简化 if else 代码
- 弊端:因为是一个运算符,所以运算完必须要有一个结果
格式三
if (判断条件1 ) {
执行语句块;
} else if (判断条件2) {
执行语句块;
} else if (判断条件3) {
执行语句块;
}
switch / case 语句
格式
switch (表达式)
{
case 取值1:
执行语句;
break;
case 取值2:
执行语句;
break;
…...
default:
执行语句;
break;
}
switch语句特点:
switch 语句选择的类型:byte、short、int 、char、string (JDK7 支持)
case 之间与 default 没有顺序;先判断所有的 case,没有匹配的 case 执行 default
switch 语句停止的条件是遇到了 break 关键字或者结束 switch 语句的大括号
如果匹配的 case 或者 default 没有对应的 break,那么程序会继续向下执行,运行可以执行的语句,直到遇到 break 或者 switch 结尾结束
switch case 中的值必须要与 switch 表达式的值具有相同的数据类型,而且 case 后跟的值必须是常量,不能跟变量
循环语句
Java提供了三种类型的循环语句:
while 循环
do while 循环
for 循环
while 循环
格式
while (条件表达式) {
执行语句;
}
举例
public static void main(String[] args) {
int num = 0;
while (num < 5) {
System.out.println("hello java ");
num++; // 让 num 自增,当 num 不满足条件的时候就会循环结束
}
}
do while 语句
格式
do {
执行语句;
} while (条件表达式);
do while 语句特点是条件无论是否满足, 循环体至少被执行一次。
举例
public static void main(String[] args) {
int x = 0, y = 0;
do {
System.out.println(x);
x++;
} while (x < 0);
// do while 会先执行一次,不管是否满足循环条件
while (y < 0) {
System.out.println(y);
y++;
}
}
注意:do while 后面有一个分号;
while 与 do while 区别
while:先判断条件,只有条件满足才执行循环体
do while:先执行循环体,再判断条件,条件满足,再继续执行循环体
for 语句
格式
for ( 初始化表达式;循环条件表达式;循环后的操作表达式 ) {
执行语句块;
}
举例
public static void main(String[] args) {
for (int num = 0; num < 5; num++) {
System.out.println("hello java");
}
}
for 语句总结
for 里面的两个表达式运行的顺序,初始化表达式只读一次,判断循环条件,为真就执行循环体,然后再执行循环后的操作表达式,接着继续判断循环条件,重复找个过程,直到条件不满足为止
while 与 for 可以互换,区别在于 for 为了循环而定义的变量,在 for 循环结束时就在内存中释放。而 while循环使用的变量在循环结束后还可以继续使用
最简单无限循环格式
while(true){
}
for(;;){
}
for(;true;){
}
break 和 continue
break
break 语句用于跳出本层循环体,从而提前结束循环
break 语句用于跳出 switch 语句体
continue
continue 语句用于结束本次循环(即跳过本次循环中余下尚未执行的语句), 接着再一次进行循环条件的判定
最后
学习流程控制最好的办法就是多动手做练习题,不断锻炼自己的逻辑思维能力,才能将熟能生巧、融会贯通。
Java 程序流程控制语句的更多相关文章
- java自学-流程控制语句
一件事情从开始到结束,需要先做什么,再做什么,最后再怎么做,这段过程就是一个流程.程序逻辑处理也是一个流程,java中有专门的流程控制语句,主要分为这几种:顺序,判断,选择,循环. 1.顺序流程 顺 ...
- Java学习笔记八:Java的流程控制语句之循环语句
Java的流程控制语句之循环语句 一:Java循环语句之while: 生活中,有些时候为了完成任务,需要重复的进行某些动作.如参加 10000 米长跑,需要绕 400 米的赛道反复的跑 25 圈.在 ...
- Java学习笔记六:Java的流程控制语句之if语句
Java的流程控制语句之if语句 一:Java条件语句之if: 我们经常需要先做判断,然后才决定是否要做某件事情.例如,如果考试成绩大于 90 分,则奖励一朵小红花 .对于这种“需要先判断条件,条件满 ...
- 2017.10.14 Java的流程控制语句switch&&随机点名器
今日内容介绍 1.流程控制语句switch 2.数组 3.随机点名器案例 ###01switch语句解构 * A:switch语句解构 * a:switch只能针对某个表达式的值作 ...
- Java程序流程控制之if-else if-else
java基础之流程控制(一) 流程控制 Flow Control : 流程控制语句是编程语言中的核心之一.可以分为 分支语句.循环语句和跳转语句. 本讲内容包括分支语句 ...
- JAVA基础--流程控制语句02
JAVA流程控制语句 一.程序流程 定义:只代码执行的先后顺序 种类 顺序流程:程序默认流程,按照书写顺序执行 选择流程:选择语句 判断语句 重复流程: 循环控制语句 二.选择流程控制语句 判断语句 ...
- Java程序流程控制
程序流程控制有 选择,循环,以及跳转结构 选择结构中无非就是 If 和 switch语句我两种都做了一些小案例 1. 利用Scanner库来获得控制台用户输入的数字与代码中定义的变量比较 packag ...
- Java基础 - 流程控制语句
package com.demo4; /* * 流程控制语句 * 流程控制语句分类: * 顺序结构 * 代码从上往下按照顺序执行 * * 选择结构 * if * if (关系表达式1) { * 语句体 ...
- Java之流程控制语句
一.Java条件语句(if...else) ifelse语法: 多重if语法: ...
随机推荐
- (十八)VMware Harbor 镜像同步
为什么需要镜像同步 由于对镜像的访问是一个核心的容器概念,在实际使用过程中,一个镜像库可能是不够用的,下例情况下,我们可能会需要部署多个镜像仓库: 国外的公有镜像下载过慢,需要一个中转仓库进行加速 容 ...
- Printer Queue UVA - 12100
The only printer in the computer science students' union is experiencing an extremely heavy workload ...
- 利用主机域名配置Apache的虚拟主机功能
利用主机域名配置Apache的虚拟主机功能,可以减轻服务器为每一个网站分配IP地址的压力.而且根据不同的主机域名可以输出不同的网页内容.要实现此项功能,可以通过修改/etc/host文件来强制定义IP ...
- SQL 查询的执行顺序
SELECT语句的完整语法如下 SELECT DISTINCT <select_list> FROM <left_table> <join_type> JOIN & ...
- 开启Android应用调试选项的工具XDebug的介绍
本文博客地址:https://blog.csdn.net/QQ1084283172/article/details/81187769 最近这段时间比较郁闷,就不分享和学习比较复杂的Android逆向技 ...
- Win64 驱动内核编程-21.DKOM隐藏和保护进程
DKOM隐藏和保护进程 主要就是操作链表,以及修改节点内容. DKOM 隐藏进程和保护进程的本质是操作 EPROCESS 结构体,不同的系统用的时候注意查下相关定义,确定下偏移,下面的数据是以win7 ...
- [CTF]Rabbit加密
[CTF]Rabbit加密 --------------------- 作者:adversity` 来源:CSDN 原文:https://blog.csdn.net/qq_40836553/ar ...
- 【.Net Core】分析.net core在linux下内存占用过高问题
现象 随着程序运行,内存占用率越来越高,直到触发linux的OOM,程序被杀死. 分析工具 运行环境:.net core 3.1(微软的分析工具要求最低3.0,无法分析2.1的core程序,需要先改为 ...
- springboot优雅的异常处理
springboot全局异常处理 @ControllerAdvice 尽管springboot会对一些异常进行处理,不过对于开发者来说,这还不太便于维护,因此我们需要自己来对异常进行统一的捕获与处理. ...
- 【近取 key】Alpha 阶段任务分配
项目 内容 这个作业属于哪个课程 2021春季计算机学院软件工程(罗杰 任健) 这个作业的要求在哪里 alpha阶段初始任务分配 我在这个课程的目标是 进一步提升工程化开发能力,积累团队协作经验,熟悉 ...