一、分支(判定)语句
1.if语句
类型一:
if(expression){
//如果expression表达式返回true,则执行这里的代码,否则什么都不做
}
//例:
int i=3;
if(i<5){
System.out.print(i);//i为3,所以i<5成立返回true,所以输出i的值
}
类型二:
if(expression){
//如果expression表达式返回true,则执行这里的代码
}else{
//如果expression表达式返回false,则执行这里的代码
}
//例:
if(i%2==0){
System.out.print("i为偶数");
}else{
System.out.print("i为奇数");
}
类型三:
if(expression1){
//如果expression1表达式返回true,则执行这里的代码
}else if(expression2){
//如果expression1表达式返回false,且expression2返回true,则执行这里的代码
}else if(expression3){
//如果expression1和expression2表达式都返回false,且expression3返回true,则执行这里的代码
}else{
//如果上述表达式都返回false,则执行这里的代码
}
//例:
if(i>=90){
System.out.print("A");
}else if(i>=70){
System.out.print("B");
}else if(i>=60){
System.out.print("C");
}else{
System.out.print("F");
}
2.条件运算符” ? : “
提供 if-else 语句的快捷方式,使用条件运算符可以替代一个简单的 if-else 语句
if(i<10){
j=5;
}else{
j=6;
}
//等效于
j= i<10?5:6;
3.switch语句
switch(i){
case 1: System.out.println("i equals 1");break;
case 2: System.out.println("i equals 2");break;
case 3: System.out.println("i equals 3");break;
default: System.out.println("i doesn't equal 1,2 or 3");
}
/*
当变量i等于1时,执行第一段代码,等于2时,执行第二段代码,等于3时,执行第三段代码,如果1、2、3都不等于,则执行default指定的代码
*/
/*
1.原理为,比较switch后的变量与case后的表达式的值是否相等,相等则运行这个case指定的代码
2.case后的表达式的数据类型只能为 char、byte、short或int,不能使用其他类型
3.只能比较是否相等,不能比较大于或小于表达式
4.在一个switch中,每个case后的表达式的值应该是唯一的,不能重复
5.case后接break意为,当一个case满足相等条件被运行后,即退出这个switch语句,如果没有加break,这个case执行后,在它下面的其它case和default也会被执行,如果下面的case中有一个加了break,那么也会就此退出switch,不再执行下面的代码,如:
*/
i=1;
switch(i){
case 1: System.out.println("i equals 1");
case 2: System.out.println("i equals 2");
case 3: System.out.println("i equals 3");
default: System.out.println("i doesn't equal 1,2 or 3");
}
//因为所有的case都没有break,所以第一个case满足条件后被执行,紧接着下面的case和default也将被执行,如果case 2 后面加了break; 则只会运行case 1 和case 2
二、循环语句
1. while循环
/* 语法:
while(expression){
//循环体
}
先判断while后括号中的表达式是否返回true,如果为true,就执行一遍循环体,然后再进行判断,如此进行循环,为false时,退出循环,例:
*/
int i=1;
while(i<=5){
System.out.println(i);
i++;
}
//将依次输出1、2、3、4、5;
//while后面的大括号省略时,如:
while(i<=5)
System.out.println(i);
i++;
//此时while只将println()这一句代码视为循环体,循环时i++将不会被运行,所以i永远是1,这个while的循环条件一直符合,循环体会一直被执行,一直输出1,形成一个死循环
2. do-while循环
/*
语法:
do{
//循环体
}while(expression); //必须以分号";"结尾。
不管expression是否返回true,先执行一遍循环体,之后再判断expression是否返回true,如果是,再执行一遍循环体,然后再判断,如此往复循环,直到返回false,退出循环。 例:
*/
int i=1;
do{
System.out.println(i);
i++;
}while(i<=5);
//依次输出1、2、3、4、5;
3. for循环
/*
语法:
for(int i=1;i<=3;i++){
//循环体
}
先判断i<=3的返回值,为true时,执行循环体,然后执行括号中的第三部分,对变量i进行操作,然后再判断i<=3的返回值,如此循环
与while相比,适合在已知循环次数的情况下使用
变量i用于判断是否循环,括号中的第一部分用于初始化这个变量,可以在for语句外先定义,也可以在使用时定义,需注意存在着作用域的不同
例:
*/
for(int i=1;i<=5;i++){
System.out.println(i);
}
//依次输出1,2,3,4,5