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语法: ...
随机推荐
- python3存储numpy格式的矩阵
技术背景 numpy在python中的地位是相当高的,即使是入门的python使用者也会经常看到这个库的使用.除了替代python自带的列表数据格式list之外,numpy的一大优势是其底层的高性能实 ...
- 基于MATLAB的手写公式识别(4)
啊啊啊~ 目的 1.考虑图像预处理的合理性和结果.能达到什么样的结果,该结果是否满足我的需要,如果多余是否有删除的必要? 2.切割问题,他是怎样实现字符的切割的?字符之间识别的依据和划定该依据的标准是 ...
- 021- Java语言基础-基本数据类型的一些问题和总结
我们输入以下代码: public class DataType07 { public static void main(String[]args){ byte b1 = 4; byte b2 = 5; ...
- 12- Jmeter逻辑控制器
正则表达式 -1代表所有 1代表第一个 0表示随机 逻辑控制器 仅一次控制器 转换控制器(广义并发,构造混合场景) 引入函数助手 并发: 广义并发的并发: 还可以添加两个线程组: 一个线程组访问 首页 ...
- 脚本加载后执行JS回调函数的方法
动态脚本简单示例 // IE下: var HEAD = document.getElementsByTagName('head')[0] || document.documentElement var ...
- [ Laravel 5.6 文档 ] 进阶系列 —— 任务调度
简介 Cron 是 UNIX.SOLARIS.LINUX 下的一个十分有用的工具,通过 Cron 脚本能使计划任务定期地在系统后台自动运行.这种计划任务在 UNIX.SOLARIS.LINUX下术语为 ...
- Thinkphp5 日期与时间戳相互转换
日期转换为时间戳 $date="2013-10-01 12:23:14"; dump(strtotime($date)); //=>1380601394 时间戳 转换为日期 ...
- CVE-2012-0774:Adobe Reader TrueType 字体整数溢出漏洞调试分析
0x01 TrueType 字体 TTF 字体是 Apple 和 Microsoft 两家公司共同推出的字体格式,现在已经广泛的运用于 Windows 操作系统,其中 PDF 文档也可以嵌入 TTF ...
- Redis—简单动态字符串(SDS)
目录 Redis-简单动态字符串(SDS) SDS的定义 SDS与C字符串的区别 1. 常数复杂度获取字符串长度: 2. 杜绝缓冲区溢出: 3. 减少修改字符串时带来的内存重分配次数 4. 二进制安全 ...
- angr脚本——以angrctf解题记录为参考
angr脚本--以angrctf解题记录为参考 angr是用于逆向工程中进行二进制分析的一个python框架 符号执行 (Symbolic Execution)是一种程序分析技术.其可以通过分 ...