流程控制语句

if语句:

if语句的执行流程

例子:

public class IfDemo01 {

public static void main(String[] args) {

int x = 5;

if (x < 10) {

x++;

}

System.out.println("x=" + x);

}

}

运行结果。

定义了一个变量x,其初始值为5。在if语句的判断条件中判断x的值是否小于10,很明显条件成立,{}中的语句会被执行,变量x的值将进行自增。从运行结果可以看出,x的值已由原来的5变成了6。

if…else语句

格式:

if (判断条件){

执行语句1

……

}else{

执行语句2

……

}

if…else语句的执行流程

例子:

public class IfDemo02 {

public static void main(String[] args) {

int num = 19;

if (num % 2 == 0) {

// 判断条件成立,num被2整除

System.out.println("num是一个偶数");

} else {

System.out.println("num是一个奇数");

}

}

}

变量num的值为19,模以2的结果为1,不等于0,判断条件不成立。因此会执行else后面{}中的语句,打印“num是一个奇数”

if…else if…else语句

if (判断条件1) {

执行语句1

} else if (判断条件2) {

执行语句2

}

...

else if (判断条件n) {

执行语句n

} else {

执行语句n+1

}

选择结构if语句与三元运算转换

判断条件 ? 表达式1 : 表达式2

例如求两个数x、y中的较大者,如果用if…else语句来实现,具体代码如下:

int x = 0;

int y = 1;

int max=0;

if (x > y) {

max = x;

} else {

max = y;

}

上面的代码运行之后,变量max的值为1。其中3-8行的代码可以使用下面的三元运算来替换。

int max = x > y ? x : y;

循环语句while

while(循环条件){

执行语句

………

}

循环语句for

for(初始化表达式; 循环条件; 操作表达式){

执行语句

………

}

for(① ; ② ; ③){

}

第一步,执行①

第二步,执行②,如果判断结果为true,执行第三步,如果判断结果为false,执行第五步

第三步,执行④

第四步,执行③,然后重复执行第二步

第五步,退出循环

循环语句do…while

do {

执行语句

………

} while(循环条件);

无限循环

最简单无限循环格式:

while(true){}

for(;;){}

循环嵌套

for(初始化表达式; 循环条件; 操作表达式) {

………

for(初始化表达式; 循环条件; 操作表达式) {

执行语句

………

}

………

}

跳转语句(break、continue)

1、 break语句

在switch条件语句和循环语句中都可以使用break语句。当它出现在switch条件语句中时,作用是终止某个case并跳出switch结构。当它出现在循环语句中,作用是跳出循环语句,执行后面的代码。关于在switch语句中使用break前面的例程已经用过了,接下来通过下面一段代码,实现将当变量x的值为3时,使用break语句跳出循环,代码如下所示。BreakDemo.java

public class BreakDemo {

public static void main(String[] args) {

int x = 1; // 定义变量x,初始值为1

while (x <= 4) { // 循环条件

System.out.println("x = " + x); // 条件成立,打印x的值

if (x == 3) {

break;

}

x++; // x进行自增

}

}

}

运行结果

图1-1       运行结果

在上述带代码中,通过while循环打印x的值,当x的值为3时使用break语句跳出循环。因此打印结果中并没有出现“x=4”。

2、 标记

当break语句出现在嵌套循环中的内层循环时,它只能跳出内层循环,如果想使用break语句跳出外层循环则需要对外层循环添加标记。接下来将ForForDemo.java稍作修改,控制程序只打印4行“*”,如下所示。BreakDemo02.java

public class BreakDemo02 {

public static void main(String[] args) {

int i, j; // 定义两个循环变量

aaa: for (i = 1; i <= 9; i++) { // 外层循环

for (j = 1; j <= i; j++) { // 内层循环

if (i > 4) { // 判断i的值是否大于4

break aaa; // 跳出外层循环

}

System.out.print("*"); // 打印*

}

System.out.print("\n"); // 换行

}

}

}

运行结果

图1-2       运行结果

BreakDemo02.java与ForForDemo.java实现原理类似,只是在外层for循环前面增加了标记“aaa”。当i>4时,使用break aaa;语句跳出外层循环。因此程序只打印了4行“*”。

3、 continue语句

continue语句用在循环语句中,它的作用是终止本次循环,执行下一次循环。接下来通过一个练习对1~100之内的奇数求和,ContinueDemo.java

public class ContinueDemo {

public static void main(String[] args) {

int sum = 0; // 定义变量sum,用于记住和

for (int i = 1; i <= 100; i++) {

if (i % 2 == 0) { // i是一个偶数,不累加

continue; // 结束本次循环

}

sum += i; // 实现sum和i的累加

}

System.out.println("sum = " + sum);

}

}

运行结果。

上述代码中,使用for循环让变量i的值在1~100之间循环,在循环过程中,当i的值为偶数时,将执行continue语句结束本次循环,进入下一次循环。当i的值为奇数时,sum和i进行累加,最终得到1~100之间所有奇数的和,打印“sum = 2500”。

在嵌套循环语句中,continue语句后面也可以通过使用标记的方式结束本次外层循环,用法与break语句相似,在此不再举例说明。

Java流程语句的更多相关文章

  1. Java基础(二)流程语句与数组

    Java流程语句详解:https://www.cnblogs.com/jiajia-16/p/6008200.html Java数组详解:https://www.cnblogs.com/jiajia- ...

  2. “全栈2019”Java第二十二章:控制流程语句中的决策语句if-else

    难度 初级 学习时间 10分钟 适合人群 零基础 开发语言 Java 开发环境 JDK v11 IntelliJ IDEA v2018.3 文章原文链接 "全栈2019"Java第 ...

  3. JAVA 流程控制之选择语句

    在程序设计时,有三种基本技术可以改变程序的流程控制: 调用方法: 选择: 循环. 在这里,我们主要来讲讲选择语句. JAVA中的选择语句与C语言中的基本相同,包括: if 语句: if/else 语句 ...

  4. java(运算符,控制流程语句,函数 )

    运算符 数据类型转换: 小数据类型-------->大数据类型(自动类型转换) 大数据类型--------->小数据类型(强制类型转换) 强制类型转换的格式: 小数据类型  变量名 = ( ...

  5. java基础-控制流程语句

    一 前言 周末睡觉好舒服,都不想动了,就想睡睡,晒晒太阳,作者劳碌命还是过来写文章了.基础系列文章已经已经出到控制流程,感觉也挺快的,我很自信全网没都多少系列文章能有我这基础系列写的这么好,易于初学者 ...

  6. Java基础—控制流程语句(条件语句与循环结构)

    与任何程序设计语言一样,Java使用条件语句和循环结构确定控制流程.Java的控制流程结构与C和C++的控制流程机构一样,只有很少的例外情况.没有goto语句,但break语句可以带标签,可以利用它实 ...

  7. Java 循环语句及流程控制语句

    java循环语句while与do-while 一 while循环 while循环语句和选择结构if语句有些相似,都是根据条件判断来决定是否执行大括号内的执行语句. 区别在于,while语句会反复地进行 ...

  8. 050 01 Android 零基础入门 01 Java基础语法 05 Java流程控制之循环结构 12 continue语句

    050 01 Android 零基础入门 01 Java基础语法 05 Java流程控制之循环结构 12 continue语句 本文知识点:continue语句 continue语句 continue ...

  9. 049 01 Android 零基础入门 01 Java基础语法 05 Java流程控制之循环结构 11 break语句

    049 01 Android 零基础入门 01 Java基础语法 05 Java流程控制之循环结构 11 break语句 本文知识点:break语句 break语句 break语句前情回顾 1.swi ...

随机推荐

  1. poj-2752(拓展kmp)

    题意:求一个串所有的前后缀字串: 解题思路:kmp和拓展kmp都行,个人感觉拓展kmp更裸一点: 拓展kmp: #include<iostream> #include<algorit ...

  2. LIRE图片识别搜索demo--Ubuntu开发

    Ubuntu安装shadowsocks客户端/服务端教程 1.安装shadowsocks sudo apt-get update sudo apt-get install python-pip sud ...

  3. HTML元素类别及转换

    位置特性分类元素分为三类:块级元素,行内元素,行级块元素 1.块级元素(block)        特点: (1)可以设置宽高.内.外边距:               (2)独占一行(即前后均有换行 ...

  4. BZOJ3730震波——动态点分治+线段树(点分树套线段树)

    题目描述 在一片土地上有N个城市,通过N-1条无向边互相连接,形成一棵树的结构,相邻两个城市的距离为1,其中第i个城市的价值为value[i].不幸的是,这片土地常常发生地震,并且随着时代的发展,城市 ...

  5. Linux服务器下安装vmware虚拟机

    安装包 1.VMware 14 https://dl-sh-ctc-2.pchome.net/08/b7/VMware-Workstation-Full-14.1.3-9474260.x86_64.b ...

  6. Python3.x标准模块库目录

    文本 string:通用字符串操作 re:正则表达式操作 difflib:差异计算工具 textwrap:文本填充 unicodedata:Unicode字符数据库 stringprep:互联网字符串 ...

  7. Java归并排序的递归与非递归实现

    该命题已有无数解释,备份修改后的代码 平均时间复杂度: O(NLogN)  以2为底 最好情况时间复杂度: O(NLogN) 最差情况时间复杂度: O(NLogN) 所需要额外空间: 递归:O(N + ...

  8. python学习日记(格式化输出,初始编码,运算符)

    格式化输出 顾名思义,按照个人意愿定制想输出的格式. name = input('请输入姓名:') age = int(input('请输入年龄:')) job = input('请输入工作:') h ...

  9. 【原创】tyvj1038 忠诚 & 计蒜客 管家的忠诚 & 线段树(单点更新,区间查询)

    最简单的线段树之一,中文题目,不翻译.... 注释讲的比较少,这已经是最简单的线段树,如果看不懂真的说明最基础的理论没明白 推荐一篇文章http://www.cnblogs.com/liwenchi/ ...

  10. [POI2008]KLO-Building blocks

    题目描述 N柱砖,希望有连续K柱的高度是一样的. 你可以选择以下两个动作 1:从某柱砖的顶端拿一块砖出来,丢掉不要了. 2:从仓库中拿出一块砖,放到另一柱.仓库无限大. 现在希望用最小次数的动作完成任 ...