9、Java语句
语句:
条件语句-根据不同的条件执行不同的语句。
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