java之流程控制

分支:
1.if()           if(  )                       if套嵌
 {    }          {    }else{    }            
                                              
2.                                      
 switch(表达式){
        case 常量表达式1: 语句序列1
              [break;]
        case 常量表达式2: 语句序列2
              [break;]
        ……
 case 常量表达式n: 语句序列n
              [break;]
        default: 语句序列n+1
              [break;]
    }
在switch语句中,常量表达式的值可以是整数,但绝对不可以是实数。例如,下面的代码是不合法的:
case 7.17:
常量表达式的值可以是字符,但不可以是字符串。例如,下面的代码也是不合法的:
case "wgh":
但是下面的两句代码是合法的。
case:10:
case:'H'
import java.util.*;
public class Switch
{
    static Scanner sc=new Scanner(System.in);
 public static void main(String[] args)
  {
 int weekN=0;
 weekN=sc.nextInt();
 switch(weekN)
 {
 case 0:
  System.out.println("星期日");
  break;
 case 1:
  System.out.println("星期一");
  break;
 case 2:
  System.out.println("星期二");
  break;
 case 3:
  System.out.println("星期三");
  break;
 case 4:
  System.out.println("星期四");
  break;
 case 5:
  System.out.println("星期五");
  break;
 case 6:
  System.out.println("星期六");
  break; 
 default :
  System.out.println("输入的不是有效的值");
 }
     }
  }

 


循环语句:
for循环语句也称为计次循环语句,一般用于循环次数已知的情况。例如,要计算1到100之间所有整数的和,就可以使用for循环语句。具体代码如下:
int sum=0;
for(int i=1;i<=100;i++){
    sum+=i;
}
System.out.println("1到100之间所有整数的和是: "+sum);
格式:
for(初始化语句;循环条件;迭代语句){
    语句序列
}
初始化语句:为循环变量赋初始值的语句,该语句在整个循环语句中只执行一次。
循环条件:决定是否进行循环的表达式,其结果为boolean类型,也就是其结果只能是true或false。
迭代语句:用于改变循环变量的值的语句。
在使用for语句时,一定要保证循环可以正常结束,也就是必须保证循环条件的结果存在为false的情况,否则循环体将无休止的执行下去,从而形成死循环。例如,下面的循环语句就会造成死循环,原因是i永远大于等于1。
for(int i=1;i>=1;i++){
    System.out.println(i);
}


while(条件表达式){
    语句序列
}
条件表达式:决定是否进行循环的表达式,其结果为boolean类型,也就是其结果只能是true或false。
语句序列:也就是循环体,在条件表达式的结果为true时,重复执行。
public class WhileList {
    public static void main(String[] args) {
        int sum=0;
        int i=1;                     //由于是计算自然数, 所以1的初始值设置为1
        System.out.println("累加和不大于10的所有自然数如下: ");
        while(sum<10){
              sum=sum+i;
              System.out.println(i);      //输出i的值
              i++;                    //该语句一定不要少
         }
    }
}


do{     } while();

do{

    语句序列

} while(条件表达式);      //注意!语句结尾处的分号";"一定不能少
语句序列:也就是循环体,循环开始时首先被执行一次,然后在条件表达式的结果为true时,重复执行。
条件表达式:决定是否进行循环的表达式,其结果为boolean类型,也就是其结果只能是true或false。
一般的情况下,使用do...while语句和while语句处理同一问题时,若二者的循环体部分是一样的,那么它们的执行结果也是一样的。
循环套嵌:
public class MultiplicationTable {
    public static void main(String[] args) {
        for(int i=1;i<=9;i++){
              for(int j=1;j<=i;j++){
              System.out.print(i+"*"+j+"="+i*j+"/t");
              }
              System.out.print("/r/n");      //输出一个回车换行符
        }
    }
}

(1)while语句和do...while语句,只在while后面指定循环条件,但是需要在循环体中包括使循环趋于结束的语句,而for语句则可以在迭代语句中包含使循环趋于结束的语句。

(2)用while语句和do...while语句时,对循环变量的初始化操作应该放在while语句和do...while语句之前,而for语句则可以在初始化语句中完成。

(3)while语句和do...while语句实现的功能相同,唯一的区别就是do…while语句先执行后判断,无论表达式的值是否为true,都将执行一次循环;而while语句则是首先判断表达式的值是否为true,如果为true则执行循环语句;否则将不执行循环语句。

(4)for循环语句一般用在对于循环次数已知的情况下,而while语句和do...while语句则一般用在对于循环次数不确定的情况下。

 


跳转语句:
使用break语句只能退出当前循环。如果想通过break语句退出嵌套很深的循环时,可以通过带标签的break语句实现。例如,下面的代码,当执行到break loop;语句时,将退出全部的for循环。
loop:
for(int i=1;i<=9;i++){
    for(int j=1;j<=i;j++){
        if(i*j==16){
              break loop;
        }
 System.out.print(i+"*"+j+"="+i*j+"/t");
    }
    System.out.print("/r/n");          //输出一个回车换行符
}
上面代码的执行结果如下:
1*1=1    
2*1=2     2*2=4    
3*1=3     3*2=6     3*3=9    
4*1=4     4*2=8     4*3=12  
实际上break语句还有一个作用,就是应用在switch语句中,用来终止switch语句,这在介绍switch语句时,已经介绍过,这里不再赘述。

continue语句只能应用在for、while和do...while循环语句中,用于让程序直接跳过其后面的语句,进行下一次循环。例如,实现输出100以内全部能被7整除的数的代码如下:
int m=1;
for(int i=1;i<100;i++){
        if(i%7!=0){                     //当i的值不能被7整除时
              continue;
        }
        System.out.print(i+"/t");           //输出i的值
 if(m%7==0){
              System.out.print("/r/n");        //输出一个回车换行符
        }
        m++;
}
在上面的代码中,当变量i不能被7整除时,将跳过下面的输出语句,直接进入下一次循环。具体执行结果如下:
7     14    21    28    35    42    49   
56    63    70    77    84    91    98   
continue语句和break语句一样,也可以和标签搭配使用。其作用也是用于跳出深层循环。
public class TestContinue {
    public static void main(String[] args) {
        loop:
        for(int i=1;i<=9;i++){
              for(int j=1;j<=i;j++){
                    if(j==2){
                          continue loop;                //跳出双层for循环语句
                    }
                    System.out.print(i+"*"+j+"="+i*j+"/t");
                }
              System.out.print("/r/n");       //输出一个回车换行符
        }
    }
}

return语句可以从一个方法返回,并把控制权交给调用它的语句。语法格式如下:
return [表达式];
表达式:可选参数,表示要返回的值。它的数据类型必须同方法声明中的返回值类型一致,这可以通过强制类型转换实现。
return语句通常被放在被调用方法的最后,用于退出当前方法并返回一个值。当把单独的return语句放在一个方法的中间时,会产生“Unreachable code”编译错误。但是可以通过把return语句用if语句括起来的方法,将return语句放在一个方法中间,用来实现在程序未执行完方法中的全部语句时退出。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值