Java【流程控制】

分支语句

if-else语句

二路分支

if (布尔表达式){

    程序代码块;        //布尔表达式为true,则执行

}else{

    程序代码块;        //布尔表达式为false,则执行

}

示例

//嵌套编法
public void judge(int x){
  if(x>0){
    System.out.println("整数");
  }else{
    if(x==0){
      System.out.println("零");
     }else{
      System.out.println("负数");
      }
       }
}

//串联编法
public void judge(int x){
  if(x>0){
    System.out.println("整数");
  }else if(x==0){
    System.out.println("零");
  }else if(x<0){
    System.out.println("负数");
  }
}

switch语句

多路分支

switch  (expression){  //expression表达式的合法数据包括byte、char、short、int、String等

  case value1:

    statements;

    break;

    ......

  case valueN:

    statements;

    break;

  default:  //可选

    statements;

    break;  //switch执行完default子句就会退出

}

示例

public void convertGrade(char grade){
  switch(grade){
    case 'A':
    case 'B':
    case 'C':
      System.out.println("及格");
      break;
    case 'D':
      System.out.println("不及格");
      break;
    default:
      System.out.println("无效分数等级!");
  }
}

两者区别

  • switch选择结构只能处理等值条件判断情况,而且条件必须是整型变量或字符型变量。
  • 多重if选择结构没有switch的限制,适合某个变量处于某个连续区间时的情况。
  • 凡是可以使用switch-case的结构,都可以使用if-else;反之不成立。


循环语句

while语句

[初始化部分]

while (循环条件){

    循环体、迭代部分

}

示例

//判断n是否为回文数
public boolean ispalindrom(int n){
  int m=reverse(n);  //计算n的倒置数,把他赋予m

  if(m==n)
    return true;
  else
    return false;
}

public int reverse(int n){
  int a=0;
  int b=n;
 
  while(b!=0){
    a=a*10+b%10;  //每次获取b的最低位
    b=b/10;       //更新b的最低位
  }
  
  return a;
}

do-while语句

[初始化部分]

do{

    循环体、迭代部分    //至少执行一次

}while (循环条件);

示例

//计算1+2+...+n的和
public void Sum(n){
int result=0;
int a=1;

do{
  result+=a;
  a++;
}while(a<=n);

System.out.println(result);
}

for语句

for(初始化部分; 循环条件; 迭代部分){    //循环迭代可在()里省略,在循环体里进行迭代也可

  循环体

}

示例

/* 打印等腰三角形/金字塔
	1	    *			4个空格
	2	   ***			3个空格
	3	  *****			2个空格
	4	 *******		1个空格
	5	*********
*/
//外层控制行数
//内层控制列数
for (int i = 1; i <= 5; i++) { 
    for (int j = 5; j >= i; j--) {
        System.out.print(" ");
    }
    for (int j = 1; j <= i * 2 - 1; j++) {
        System.out.print("*");
    }
    System.out.println();
}
//打印乘法口诀
public void printTable(){
  for(int i=1, j=1; j<=9; i++){  //逐行打印
    System.out.print(i+"*"+j+"="+i*j+" ");
    if(i==j){
      i=0;
      j++;
      System.out.println();   //换行
    }
  }
}


跳转语句

break语句

用于do-while、while、for、switch中时,可跳出循环而执行循环后面的语句。

//在1~100间找到第一个能同时被6和8整除的数
int a=1,result=0;
for(int i=1; i<=100; i++){
  if(i%6==0 && i%8==0){
    result=i;
    break;
  }
}
System.out.println(result);

continue语句

用在循环中,跳过本次循环,执行下一次循环。

//对0~100间的奇数求和
int result=0;
for(int i=1; i<=100; i++){
  if(i%2==0)
    continue;   //是偶数则跳过本次循环
  else
    result+=i;
}
System.out.println(result);

  • 8
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值