顺序语句

语句:使用分号分隔的代码称作为一个语句

注意:没有写任何代码只是一个分号的时候,也是一条语句,称作空语句

顺序语句就是按照从上往下的顺序执行的语句

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 程序流程控制语句的更多相关文章

  1. java自学-流程控制语句

    一件事情从开始到结束,需要先做什么,再做什么,最后再怎么做,这段过程就是一个流程.程序逻辑处理也是一个流程,java中有专门的流程控制语句,主要分为这几种:顺序,判断,选择,循环. 1.顺序流程  顺 ...

  2. Java学习笔记八:Java的流程控制语句之循环语句

    Java的流程控制语句之循环语句 一:Java循环语句之while: 生活中,有些时候为了完成任务,需要重复的进行某些动作.如参加 10000 米长跑,需要绕 400 米的赛道反复的跑 25 圈.在 ...

  3. Java学习笔记六:Java的流程控制语句之if语句

    Java的流程控制语句之if语句 一:Java条件语句之if: 我们经常需要先做判断,然后才决定是否要做某件事情.例如,如果考试成绩大于 90 分,则奖励一朵小红花 .对于这种“需要先判断条件,条件满 ...

  4. 2017.10.14 Java的流程控制语句switch&&随机点名器

    今日内容介绍 1.流程控制语句switch 2.数组 3.随机点名器案例 ###01switch语句解构     * A:switch语句解构       * a:switch只能针对某个表达式的值作 ...

  5. Java程序流程控制之if-else if-else

    java基础之流程控制(一)    流程控制 Flow Control :       流程控制语句是编程语言中的核心之一.可以分为 分支语句.循环语句和跳转语句.        本讲内容包括分支语句 ...

  6. JAVA基础--流程控制语句02

    JAVA流程控制语句 一.程序流程 定义:只代码执行的先后顺序 种类 顺序流程:程序默认流程,按照书写顺序执行 选择流程:选择语句 判断语句 重复流程: 循环控制语句 二.选择流程控制语句 判断语句 ...

  7. Java程序流程控制

    程序流程控制有 选择,循环,以及跳转结构 选择结构中无非就是 If 和 switch语句我两种都做了一些小案例 1. 利用Scanner库来获得控制台用户输入的数字与代码中定义的变量比较 packag ...

  8. Java基础 - 流程控制语句

    package com.demo4; /* * 流程控制语句 * 流程控制语句分类: * 顺序结构 * 代码从上往下按照顺序执行 * * 选择结构 * if * if (关系表达式1) { * 语句体 ...

  9. Java之流程控制语句

    一.Java条件语句(if...else)    ifelse语法:                                              多重if语法:              ...

随机推荐

  1. git版本控制之维护旧仓库和往仓库里放货物

    [git bash下 git clone git项目地址:输入这个命令 就会在你运行命令路径下创建一个文件夹,名字就是这个仓库的名字!!这样就完成了把一个别人的旧仓库克隆到自己本地仓库中进行管理维护和 ...

  2. OLAP引擎:基于Presto组件进行跨数据源分析

    一.Presto概述 1.Presto简介 Presto是一个开源的分布式SQL查询引擎,适用于交互式分析查询,数据量支持GB到PB字节,Presto虽然具备解析SQL的能力,但它并不属于标准的数据库 ...

  3. 用递归求n皇后问题

    此问题是指在n*n的国际象棋棋盘上 ,放置n个皇后,使得这n个皇后均不在,同一行,同一列,同一对角线上,求出合法的方案的数目. 本题可以简单转化为就是求n的全排列中的数放在棋盘上使得这几组数,符合均不 ...

  4. 「新特性」Spring Boot 全局懒加载机制了解一下

    关于延迟加载 在 Spring 中,默认情况下所有定的 bean 及其依赖项目都是在应用启动时创建容器上下文是被初始化的.测试代码如下: @Slf4j @Configuration public cl ...

  5. Mybatis(一)Porxy动态代理和sql解析替换

    JDK常用核心原理 概述 在 Mybatis 中,常用的作用就是讲数据库中的表的字段映射为对象的属性,在进入Mybatis之前,原生的 JDBC 有几个步骤:导入 JDBC 驱动包,通过 Driver ...

  6. 数据结构(3):java使用数组模拟堆栈

    堆栈原理: 数组模拟堆栈: //数组模拟栈 class ArrayStack{ //栈顶 private int top = -1; private int maxSize; private int[ ...

  7. 关于sysmon.exe高cpu占用

    sysmon.exe是干嘛的? 这里面有介绍:https://docs.microsoft.com/en-us/sysinternals/downloads/sysmon 是windows官方提供的监 ...

  8. liunx从0开始部署vue+spring boot项目(包含:安装jdk、mysql、nginx)

    单纯记录,若有不合理不规范的地方请忽略. 0.配置JDK 0.下载liunx的jdk解压到/usr/local目录下. tar -xzvf jdk-8u291-linux-x64.tar.gz -C ...

  9. ES系列(四):http请求分发框架解析

    上一篇讲解了es的网络通信模块实现过程,大致明白其工作原理.再总结一下,就是基于netty编程范式,形成es通信基础.从而,最终我们得到几个重要的handler: Netty4HttpPipelini ...

  10. Salesforce 集成篇零基础学习(一)Connected App

    本篇参考: https://zhuanlan.zhihu.com/p/89020647 https://trailhead.salesforce.com/content/learn/modules/c ...