Java--流程控制语句

if:

if...else:

多重if:

嵌套if:

switch:

表达式只能包含整数类型的表达式和枚举类型

1、 switch 后面小括号中表达式的值必须是整型或字符型

2、 case 后面的值可以是常量数值,如 1、2;也可以是一个常量表达式,如 2+2 ;但不能是变量或带有变量的表达式,如 a * 2

3、 case 匹配后,执行匹配块里的程序代码,如果没有遇见 break 会继续执行下一个的 case 块的内容,直到遇到 break 语句或者 switch 语句块结束

4、 可以把功能相同的 case 语句合并起来

5、 default 块可以出现在任意位置,也可以省略

如果今天是星期一、三、五,则早餐吃包子,如果是星期二、四、六,则早餐吃油条,如果是星期日,则吃“主席套餐”

public class HelloWorld {
    public static void main(String[] args) {
        char today='日';
        switch(today){
            case '一':
            case '三':
            case '五':
                System.out.println("早餐吃包子");
                break;
            case '二':
            case '四':
            case '六':
                System.out.println("早餐吃油条");
                break;
            default:
                System.out.println("吃主席套餐");
        }

while:

有些时候为了完成任务,需要重复的进行某些动作

Java 常用的 3 种循环: while 、 do...while 、 for

< 1 >、 判断 while 后面的条件是否成立( true / false )

< 2 >、 当条件成立时,执行循环内的操作代码 ,然后重复执行< 1 >、< 2 >, 直到循环条件不成立为止

特点:先判断,后执行

do....while:

do...while 循环与 while 循环语法有些类似,但执行过程差别比较大

<1>、 先执行一遍循环操作,然后判断循环条件是否成立

<2>、 如果条件成立,继续执行< 1 > 、< 2 >,直到循环条件不成立为止

特点: 先执行,后判断

由此可见,do...while 语句保证循环至少被执行一次!

for:

for(循环变量初始化;循环条件;循环变量变化){循环操作}

<1>、 执行循环变量初始化部分,设置循环的初始状态,此部分在整个循环中只执行一次

<2>、 进行循环条件的判断,如果条件为 true ,则执行循环体内代码;如果为 false ,则直接退出循环

<3>、 执行循环变量变化部分,改变循环变量的值,以便进行下一次条件判断

<4>、 依次重新执行< 2 >、< 3 >、< 4 >,直到退出循环

特点:相比 while 和 do...while 语句结构更加简洁易读

1、 for 关键字后面括号中的三个表达式必须用 “;” 隔开,三个表达式都可以省略,但 “;” 不能省略。

a. 省略“循环变量初始化”,可以在 for 语句之前由赋值语句进行变量初始化操作

b. 省略“循环条件”,可能会造成循环将一直执行下去,也就是我们常说的“死循环”现象

c. 省略“循环变量变化”,可以在循环体中进行循环变量的变化

2、 for 循环变量初始化和循环变量变化部分,可以是使用 “,” 同时初始化或改变多个循环变量的值

for(int i=1;j=5;i<=5;i++,j--){}

3、 循环条件部分可以使用逻辑运算符组合的表达式,表示复杂判断条件,但一定注意运算的优先级

for(int i=1;i<10 && i!=5;i++){}

多重循环:

循环体中包含循环语句的结构称为多重循环。三种循环语句可以自身嵌套,也可以相互嵌套,最常见的就是二重循环。在二重循环中,外层循环每执行一次,内层循环要执行一圈。

public class HelloWorld {
    public static void main(String[] args) {
        
        System.out.println("打印直角三角形");
        
        // 外层循环控制行数
        for (int i = 1; i<4;i++) {
            
            // 内层循环控制每行的*号数
            // 内层循环变量的最大值和外层循环变量的值相等
            for (int j = 1; j<=i;j++) {
                
                System.out.print("*");
            }
            
            // 每打印完一行后进行换行
            System.out.println();
        }
    }
}

public class HelloWorld{
public static void main(String[] args){
int num = 999;
int count = 0;

do
{
count++;
num=num/10;
}
while(num >0);

System.out.println("它是个" + count + "位的数!");
}
}

 

 

posted @ 2017-03-01 08:57  Nyan  阅读(347)  评论(0编辑  收藏  举报