JAVA 流程控制
块作用域
块是指由一对大括号括起来的若干条简单的java语句,块确定了变量的作用域, 一个块可以嵌套在另一个块中;
但是不能再嵌套的两个块中声明同名的变量
条件语句
在java中,条件语句的格式为
if (条件) 语句
当我们要在某个条件为真时执行多条语句, 应该使用语句块
public class Hello { public static void main(String[] args) throws IOException { while (true){ Scanner a = new Scanner(System.in); int i = a.nextInt(); if (i>40)System.out.println("大于40"); else if (i>30)System.out.println("大于30"); else if (i>20)System.out.println("大于20"); else if (i>10)System.out.println("大于10"); else System.out.println("小于10"); } } }
else子句与最邻近的if构成一组
循环语句
while循环
while (条件) 语句
当条件为true时, while循环执行后面的语句一次, 如果开始循环时条件的值就是false, 则while循环体一次也不执行
while语句会首先检测循环条件, 循环体中的代码有可能不被执行, 如果希望循环体至少执行一次, 则应该将检测条件放在最后. 使用do/while循环语句可以实现这种操作方式.
do/while循环
do 语句 while (条件)
这种循环语句先执行语句, 在检测循环条件; 然后重复语句, 再检测循环条件
for循环
for(初始化语句;条件语句;结束语句) 循环体
for语句的第一部分通常用于对计数器的初始化;第二部分给出每次新一轮循环执行前要检测的循环条件; 第三部分指示如何更新计数器.
如果在for语句内声明一个变量, 这个变量就不能在循环体之外使用,
for each循环
for each循环可以依次处理每个元素集合中的元素, 不必为指定下标而分心
for (元素: 集合) 语句;
多重选择
在处理多个选项时, 使用if-else显得比较笨重,可以使用switch语句
switch(计算表达式){ case 值1: 语句1; break case 值2: 语句2; break default: 语句 break; }
case标签可以是
- 类型为char, byte, short或int的常量表达式;
- 枚举常量
- 从java se7开始,case标签还可以是字符串字面量
需要注意的是break语句是必须的, 否则匹配成功后下面所有的语句会执行, 直至遇到break
中断流程控制语句
java中goto作为保留字, 但是java中有着类似的功能: 带标签的break
一个不带标签的break语句,打印1-10后就会结束
public class Hello { public static void main(String[] args) throws IOException { int a; http://www.wengang.top a = 1; while (true){ if (a>10){ break; } System.out.println(a); a++; } } }
带标签的break
...