Java分支结构&循环结构&循环控制语句&二重循环
1、分支结构
1.1、单分支结构
语法:
if (条件表达式) { // 当条件表达式的结果为true时,执行语句
// 要执行的语句
}
public class Test{
public static void main(String [] args){
double a = Math.random() * 6;
double b = Math.random() * 6;
double c = Math.random() * 6;
int count=(int)(a+b+c);
//三个独立的if结构
if(count>15){
System.out.println("今天天气真好");
}
if(count>=10&&count<=15){
System.out.println("今天天气一般般");
}
if(count<10){
System.out.println("天气不好,回家睡觉!");
}
System.out.println("count="+count);
}
}
注意事项:如果{}中只有一句代码或一个代码块时,{}可以省略不写
public class Test{
public static void main(String [] args){
double a = Math.random() * 6;
double b = Math.random() * 6;
double c = Math.random() * 6;
int count=(int)(a+b+c);
//三个独立的if结构
if(count>15)
System.out.println("今天天气真好");
if(count>=10&&count<=15)
System.out.println("今天天气一般般");
if(count<10)
System.out.println("天气不好,回家睡觉!");
System.out.println("count="+count);
}
}
1.2、双分支结构 二选一执行
语法结构:
if (条件表达式) {//条件表达式的结果为true,执行语句1,否则执行语句2
// 语句1
} else {
// 语句2
}
例子:
public class Test{
public static void main(String [] args){
double r= Math.random() * 4;
double area = Math.PI*Math.pow(r,2); //r的平方
double circle = 2*Math.PI*r;
System.out.println("半径是:"+r);
System.out.println("面积是:"+area);
System.out.println("周长是:"+circle);
/*if(area>=circle){
System.out.println("面积大于等于周长");
}else{
System.out.println("面积小于周长");
}*/
/**使用三目运算符简化书写 比较推荐使用三目运算符*/
System.out.println(area>=circle? "面积大于等于周长":"面积小于周长");
}
}
1.3、多分支结构
public class Test{
public static void main(String [] args){
int age=(int)(Math.random()*100);
System.out.println(age);
if(age < 10){
System.out.println("你还是个孩子~");
}else if(age < 30){
System.out.println("已经是年轻小伙砸啦");
}else if(age<50){
System.out.println("男人40一朵花");
}else if(age<70){
System.out.println("听听健康讲座吧");
}else if(age<90){
System.out.println("走不动路了");
}else {
System.out.println("多做事少BB");
}
}
}
1.4、switch结构
public class Test{
public static void main(String [] args){
int age=(int)(Math.random()*100);
System.out.println(age);
switch(age/10){
case 0:
System.out.println("你还是个孩子~");
break;
case 1:
case 2:
System.out.println("已经是年轻小伙砸啦");
break;
case 3:
case 4:
System.out.println("男人40一朵花");
break;
case 5:
case 6:
System.out.println("听听健康讲座吧");
break;
case 7:
case 8:
System.out.println("走不动路了");
break;
default:
System.out.println("多做事少BB");
break;
}
}
}
注意:
- 能用于switch判断的类型有:byte、short、int、char(JDK1.6),还有枚举类型,但是在JDK1.7后添加了对String类型的判断
- case语句中少写了break,编译不会报错,但是会一直执行之后所有case条件下的语句而不再判断,直到default语句
- 若果没有符合条件的case就执行default下的代码块,default并不是必须的,也可以不写
2、循环结构
2.1、while循环
语法:
while(条件表达式){
// 执行语句
}
特点:先判断条件表达的值 ,为true执行语句,为false则跳过语句部分,先判断,后执行,条件不成立,一次都不执行
while与if之间的区别:
if是当条件成立时执行一次,而while是条件成立时,执行n次,直到条件不成立为止。
如:
public class TestWhile{
public static void main(String [] args){
int i=1;
//if(i<=10){
while(i<=10){
System.out.println("i="+i);
i++;
}
System.out.println("-----------------i="+i);
}
}
2.2、do-while循环
特点:先执行,后判断
语法结构:
do {
//语句
}while(判断条件);
如:
public class TestDoWhile{
public static void main(String []args){
int sum=0;
//(1)初始化变量
int i=1;
do{
//(3)循环操作
sum+=i;
//(4)改变变量
i++;
}while(i<=10);//(2)条件判断
System.out.println("sum="+sum);
}
}
while与do-while的区别:
条件不成立时,do-while至少执行了一次
2.3、for循环
语法结构:
for(1.初始化变量; 2.条件判断 ; 4.改变变量){
//3.循环操作
}
例子:
public class TestFor{
public static void main(String []args){
int sum=0;
for(int i=1;i<=10;i++){
sum+=i;
}
System.out.println("sum="+sum);
}
}
3、循环控制语句
break:
可以在switch语句或是循环中,如果在循环中使用的话,作用就是退出循环
continue:
只能用在循环中,作用是:结束本次循环进入下一次循环
在while和do-while中, 跳到条件判断处,在for中跳到i++处
return:
可以用在任意的地方,作用就是结束方法。
二重循环中的控制流程
break和continue:
break:在二重循环中,作用就是就近原则,只控制本层循环
continue:在二重循环中的作用,只控制本层循环