目录
选择结构
if
满足判断条件,则执行相对应的代码,否则不执行任何代码
if else
满足判断条件,则执行if{}的代码块,否则执行else{}中的代码块
三元运算符与if-else的区别
三元运算符返回一个值,相对更加简洁,但是如果过于复杂的逻辑判断或者是处理,三元运算则不能替代if-else
int a=10;
int b=8;
//格式为:条件?语句1:语句2
//若条件为真则返回语句1的结果,如果为假则返回语句2的结果
System.out.println(a>b?a:b);
System.out.println(a<b?a:b);
//执行结果:
//10
//8
多重if-else
if(条件表达式){
语句块1
}else if(条件表达式){
语句块2
}else{
语句块3
}
Switch-case语句
在条件表达式得出多个值的情况下,使用switch-case语句
switch (key) {
case value1:
语句块1
break;
case value2:
语句块2
break;
case value3:
语句块3
break;
default:
break;
}
与if-else比较,switch-case的优点在于:
- 可以利用switch的开关功能来实现批处理
- 增加了代码的可读性
- 使代码更容易编写
- 性能更高
其缺点是:
- 不能实现嵌套判断
- 使用Switch-case的选择结构一定可以使用if-else,反之则 不成立
循环结构
While语句
while(条件表达式){
循环体
}
条件为true则执行循环,falst则退出循环。
do-while语句
先执行一遍再判断
do{
循环体
}while(条件);
for语句
for(语句1; 语句2;语句3) {
循环体
}
语句1:最先执行,仅被执行一次(初始化)
语句2:必须是布尔表达式(条件)
语句3:增加或减少循环变量的一个表达式(步长)
break语句
除了可以用于switch语句中,还可以用于循环体中
在循环体中遇见break语句时,立即结束循环,跳至循环外,执行循环结构后面的语句
continue语句
用于结束本次循环,即在循环体中遇见continue语句,循环体中continue语句后面的语句不会执行,接着进行下一次循环的判定
实例
打印九九乘法表
for (int i = 1; i <= 9; i++) {
for (int j = 1; j <=i; j++) {
System.out.print(i+"*"+j+"="+(i*j)+" ");
}
System.out.println();
}
// 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 4*4=16
// 5*1=5 5*2=10 5*3=15 5*4=20 5*5=25
// 6*1=6 6*2=12 6*3=18 6*4=24 6*5=30 6*6=36
// 7*1=7 7*2=14 7*3=21 7*4=28 7*5=35 7*6=42 7*7=49
// 8*1=8 8*2=16 8*3=24 8*4=32 8*5=40 8*6=48 8*7=56 8*8=64
// 9*1=9 9*2=18 9*3=27 9*4=36 9*5=45 9*6=54 9*7=63 9*8=72 9*9=81
For-Each 循环
JDK 1.5 引进了一种新的循环类型,被称为 For-Each 循环或者加强型循环,它能在不使用下标的情况下遍历数组。
语法格式如下:
for(type element: array)
{
System.out.println(element);
}
实例
该实例用来显示数组 myList 中的所有元素:
public class TestArray {
public static void main(String[] args) {
double[] myList = {1.9, 2.9, 3.4, 3.5}; // 打印所有数组元素
for (double element: myList) {
System.out.println(element);
}
}
}
// 1.9
// 2.9
// 3.4
// 3.5