Java分支流程和循环

一、分支(判定)语句

1.if语句

类型一:

if(expression){
    //如果expression表达式返回true,则执行这里的代码,否则什么都不做
}
//例:
int i=3;
if(i<5){
    System.out.print(i);//i为3,所以i<5成立返回true,所以输出i的值
}

类型二:

if(expression){
    //如果expression表达式返回true,则执行这里的代码
}else{
    //如果expression表达式返回false,则执行这里的代码   
}
//例:
if(i%2==0){
    System.out.print("i为偶数");
}else{
    System.out.print("i为奇数");
}

类型三:

if(expression1){
    //如果expression1表达式返回true,则执行这里的代码
}else if(expression2){
    //如果expression1表达式返回false,且expression2返回true,则执行这里的代码   
}else if(expression3){
    //如果expression1和expression2表达式都返回false,且expression3返回true,则执行这里的代码  
}else{
    //如果上述表达式都返回false,则执行这里的代码
}
//例:
if(i>=90){
    System.out.print("A");
}else if(i>=70){
    System.out.print("B");
}else if(i>=60){
    System.out.print("C");
}else{
    System.out.print("F");
}

2.条件运算符” ? : “
提供 if-else 语句的快捷方式,使用条件运算符可以替代一个简单的 if-else 语句

if(i<10){
    j=5;
}else{
    j=6;
}
//等效于
j= i<10?5:6;

3.switch语句

switch(i){
    case 1: System.out.println("i equals 1");break;
    case 2: System.out.println("i equals 2");break;
    case 3: System.out.println("i equals 3");break;
    default: System.out.println("i doesn't equal 1,2 or 3"); 
}
/*
    当变量i等于1时,执行第一段代码,等于2时,执行第二段代码,等于3时,执行第三段代码,如果123都不等于,则执行default指定的代码
*/
/*
    1.原理为,比较switch后的变量与case后的表达式的值是否相等,相等则运行这个case指定的代码
    2.case后的表达式的数据类型只能为 char、byte、short或int,不能使用其他类型
    3.只能比较是否相等,不能比较大于或小于表达式
    4.在一个switch中,每个case后的表达式的值应该是唯一的,不能重复
    5.case后接break意为,当一个case满足相等条件被运行后,即退出这个switch语句,如果没有加break,这个case执行后,在它下面的其它casedefault也会被执行,如果下面的case中有一个加了break,那么也会就此退出switch,不再执行下面的代码,如:
*/
i=1;
switch(i){
    case 1: System.out.println("i equals 1");
    case 2: System.out.println("i equals 2");
    case 3: System.out.println("i equals 3");
    default: System.out.println("i doesn't equal 1,2 or 3"); 
}
//因为所有的case都没有break,所以第一个case满足条件后被执行,紧接着下面的casedefault也将被执行,如果case 2 后面加了break; 则只会运行case 1case 2 

二、循环语句

1. while循环

/*  语法:
    while(expression){
        //循环体
    }
    先判断while后括号中的表达式是否返回true,如果为true,就执行一遍循环体,然后再进行判断,如此进行循环,为false时,退出循环,例:
*/

int i=1;
while(i<=5){    
    System.out.println(i);
    i++;
}
//将依次输出1、2、3、4、5;

//while后面的大括号省略时,如:

while(i<=5) 
    System.out.println(i);
    i++;
//此时while只将println()这一句代码视为循环体,循环时i++将不会被运行,所以i永远是1,这个while的循环条件一直符合,循环体会一直被执行,一直输出1,形成一个死循环

2. do-while循环

/*
    语法:
        do{
            //循环体
        }while(expression);  //必须以分号";"结尾。
    不管expression是否返回true,先执行一遍循环体,之后再判断expression是否返回true,如果是,再执行一遍循环体,然后再判断,如此往复循环,直到返回false,退出循环。 例:
*/
int i=1;
do{
    System.out.println(i);
    i++;
}while(i<=5);
//依次输出1、2、3、4、5;

3. for循环

/*
    语法:
    for(int i=1;i<=3;i++){
        //循环体
    }
    先判断i<=3的返回值,为true时,执行循环体,然后执行括号中的第三部分,对变量i进行操作,然后再判断i<=3的返回值,如此循环
    与while相比,适合在已知循环次数的情况下使用
    变量i用于判断是否循环,括号中的第一部分用于初始化这个变量,可以在for语句外先定义,也可以在使用时定义,需注意存在着作用域的不同
    例:
*/
for(int i=1;i<=5;i++){
    System.out.println(i);
}
//依次输出1,2,3,4,5
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值