Java基础——块和分支

块和分支是什么?

块(即复合语句)是指由一对大括号{}括起来的若干条语句,其确定了变量的作用域,不能在同一个块中声明同名变量。

分支用于控制代码运行的流程,分为条件语句、循环语句、switch语句。

条件语句

条件语句由 if(){}-else if(){}-else{} 组成,其中()里为条件,{}里为对应的分支流程,else是可选的,当流程只有一行时可省略{}

int a=1;
int b=2;
if (a>b) {
    System.out.println("a>b");
}else if (a<b){
     System.out.println("a<b");
}else {
      System.out.println("a=b");
}

循环语句

while循环

由while(){}组成,其中()里为条件,{}里为对应的分支流程,当流程只有一行时可省略{},先判断再决定是否执行

int a=0;
while(a<10){
     a++;
}

dowhile循环

同上,但先执行一次再判断是否继续执行

int a=0;
do {
    a++;
}while (a<10);

for循环

由for( ; ; ){}组成,()里由;分为三部分,第一部分是对计数器的初始化,第二部分是条件,第三部分是对计数器的更新

for (int i = 0; i < 10; i++) {
      System.out.println(i);
}

foreach循环

由for( : ){}组成,()里由:分为两部分,第一部分为具体的数据变量,第二部分为需要遍历数组或Iterable子类

int[] a = {1, 2, 3, 4, 5};
for (int i : a) {
     System.out.println(i);
}

Tips:

  • 在循环中应避免对浮点数的判等,如for(double=0.0;x!=10;x+0.1){},由于浮点数不能精准用二进制表示且存在有效位的限制,导致x永远不能等于10

switch语句

用if-else处理多条件判断时显得冗长,此时可用switch替代

  • ()里为需要判断的值,可以是char、byte、short、int、Enum和String
  • case表示可能的结果
  • break表示当前流程结束,如果没有break表示对两个流程都统一处理
  • default表示当前case都不符合时的流程
int a=0;
switch (a){
    case 1:
         System.out.println(1);
         break;
    case 2:
    case 3:
         System.out.println("2或3");
   default:
         System.out.println(0);
         break;
}

分支的中断

break中断

可在分支流程的任何地方调用break跳出当前分支

int a=0;
while(a<10){
    if(a==5){
         break;
     }
     a++;
}

Java还提供了带标签的break语句,用于跳出嵌套循环,跳到指定标签处

int a=0;
int b=0;
while (a < 10) {
      print:
      while (b < 10) {
          if (b == 5) {
                b = 50;
                break print;
          }
          b++;
      }
      a++;
}

continue中断

执行contiune会忽视接下来的流程进入下一次循环,如打印10以内奇数

int a = 0;
while (a < 10) {
     a++;
     if (a % 2 == 0) {
        continue;
     }
     System.out.println(a);
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值