首页 > 技术文章 > 9、Java语句

hlc-123 2019-06-14 08:15 原文

语句:
条件语句-根据不同的条件执行不同的语句。
if
if .. else
if .. else if
if .. else if .. else if ..else
只有一句需要执行的语句时,可以省略{}

TestIF.java
public class TestIF {
public static void main (String[] args) {
int i = 20;
if (i < 20) {
System.out.println("<20");
System.out.println("<20");
} else if (i < 40) {
System.out.println("<40");
} else if (i < 60) {
System.out.println("<60");
}else
System.out.println(">=60"); //只有一句需要执行的语句时,可以省略{}
}
}
建议即使有一句语句时也是用大括号

switch
循环语句-重复执行某些动作
for循环语句
for循环语句为如下形式:
for(表达式1;表达式2;表达式3){ 语句;... ; }
执行过程
首先计算表达式1,接着执行表达式2,若表达式2的值为true,则执行语句,接着计算表达式3,再判断表达式2的值;依次重复下去,直到表达式2的值为false
for语句中三个表达式都可以省略

TestFor.java
public class TestFor {
public static void main (String[] args) {
long result = 0;
long f = 1;
for (int i = 1; i <= 10; i++) {
f = f * i;
result += f;
}
System.out.println("result=" +result);
}
}
C:\Users\root\Desktop>javac TestFor.java

C:\Users\root\Desktop>java TestFor
result=4037913

 

OddSum.java
public class OddSum {
  public static void main (String[] args) {
    long result = 0;
    for (int i=1; i<=99; i+=2) {
      result += i;
    }
    System.out.println("result=" + result);
  }
}
C:\Users\root\Desktop>javac OddSum.java

C:\Users\root\Desktop>java OddSum
result=2500

 

while 语句为如下形式:
while(逻辑表达式){语句; ... ;}
执行过程
先判断逻辑表达式的值,若=true则执行其后面的语句,然后再判断条件,知道条件不成立
      语句
表达式-》       -》结束
do .. while语句形式如下:
do{语句;... ;}while(逻辑表达式);
执行过程
先执行语句,再判断逻辑表达式的值,若为true,再执行语句,否则结束循环。
        表达式
语句-》          -》结束

TestWhile.java
public class TestWhile {
  public static void main (String[] args) {
    int i = 0;
    while (i<10) {
      System.out.println(i);
      i++;
    } {
      System.out.println("-----------------------------------");
    }
    i = 0;
    do {
      System.out.println(i);
      i++;
    } while (i<10);
  }
}

C:\Users\root\Desktop>javac TestWhile.java

C:\Users\root\Desktop>java TestWhile
0
1
2
3
4
5
6
7
8
9
-----------------------------------
0
1
2
3
4
5
6
7
8
9

break & continue 语句
break语句用于终止某个语句块的执行,用在循环语句体中,可以强制退出循环;例如:

TestBreak.java
public class TestBreak {
  public static void main (String[] args) {
    int stop = 4;
    for(int i = 1; i < 10; i++) {
      //if (i == stop) break;
      System.out.println("i=" + i);
    }
  }
}
C:\Users\root\Desktop>javac TestBreak.java

C:\Users\root\Desktop>java TestBreak
i=1
i=2
i=3
TestBreak.java
public class TestBreak {
  public static void main (String[] args) {
    int skip = 4;
    for(int i = 1; i < 10; i++) {
      if (i == skit) continue;
      System.out.println("i=" + i);
    }
  }
}
C:\Users\root\Desktop>javac TestBreak.java

C:\Users\root\Desktop>java TestBreak
i=1
i=2
i=3
i=5
i=6
i=7
i=8
i=9
100以内前5个可以被3整除的数
TestWhile2.java
public class TestWhile2 {
  public static void main(String[] args) {
    int num = 0, i = 1;
    while (i <= 100) {
      if (i % 3 == 0) {
        System.out.println(i + " ");
        num++;
      }
      if (num == 5) {
        break;
      }
      i++;
    }
  }
}

C:\Users\root\Desktop>javac TestWhile2.java

C:\Users\root\Desktop>java TestWhile2
3
6
9
12
15
101到200之间的质数
TestContinue.java
public class TestContinue {
  public static void main (String[] args) {
    for (int i = 101; i < 200; i +=2) {
      boolean f = true;
      for (int j = 2; j < i; j++) {
        if (i % j == 0) {
          f = false;
          break;
        }
      }
      if (!f) {continue;}
      System.out.println(" " + i);
    }
  }
}

C:\Users\root\Desktop>javac TestContinue.java

C:\Users\root\Desktop>java TestContinue
 101
 103
 107
 109
 113
 127
 131
 137
 139
 149
 151
 157
 163
 167
 173
 179
 181
 191
 193
 197
 199

switch() {
case XX:
...
case XX:
...
default:
...
}
小心case穿透,推荐使用break语句//不加break会穿透
多个case可以合并到一起
case 8: //等于8或者10都会打印B
case 10:
System.out.println("B");
break;
default可以省略,但不推荐省略
java中switch语句只能探测int类型值//小括号里面的值

TestSwitch .java
public class TestSwitch {
  public static void main (String[] args) {
    int i = 18;
    switch (i) {
      case 8:
        System.out.println("A");
        break;
      case 10:
        System.out.println("B");
        break;
      case 18:
        System.out.println("C");
        break;
      default:
        System.out.println("error");
    }
  }
}
C:\Users\root\Desktop>javac TestSwitch.java

C:\Users\root\Desktop>java TestSwitch
C

推荐阅读