if单分支结构


语法


if(boolean表达式)


{


当Boolean表达式的值为true时执行这里语句;


}



int i = 12 ; //判断i是不是正整数



if(i > 0)


{


System.out.println(i+"是正整数");


}





if双分支结构



语法


if(boolean表达式或者叫做条件表达式)


{


当Boolean表达式的值为true时执行这里的语句;


}else


{


当Boolean表达式的值为false时执行这里的语句;



}




//例 给定钱的金额,如果大于20元,中午吃煲仔饭,否则吃热干面



int i = 50 ;



if(i > 20)


{


System.out.println("中午吃煲仔饭");


}else


{


System.out.println("中午吃热干面");



}





if多分支结构



语法


if(条件表达式1)


{


当条件表达式1的值为true时执行这里的语句;


}else if(条件表达式2)


{


当条件表达式2的值为true时执行这里的语句;


}else if(条件表达式3)


{


当条件表达式3的值为true时执行这里的语句;


}else


{


当前面所有的表达式的结果均不为true时,执行这里的语句


}




例:给定一定金额的钱,如果大于200 晚上喝红酒,如果小于200但是大于100 晚上喝黄鹤楼,如果小于100大于50 喝啤酒 如果小于50 大于20 喝二锅头 如果小于20 喝农夫山泉



int i = 180 ;



if(i > 200)


{


System.out.println("晚上喝红酒");



}else if(i>100)


{


System.out.println("晚上喝黄鹤楼");



}else if(i > 50)


{


System.out.println("晚上喝啤酒");



}else if(i > 20)


{


System.out.println("晚上喝二锅头");


}else


{


System.out.println("晚上喝农夫山泉");


}





switch开关语句


语法


switch(表达式) //表达式的数据类型只能是以下几种之一 byte short int char enum String


{


case 常量值1:



当表达式的值等于常量值1的时候执行这里的代码块;



[break;] //[break;]表示的是break;这段代码可有可无



当没有break时,匹配到这个常量值后,


执行的代码是 case 常量值1:以后的所有代码包括其他不匹配的常量值中的代码



如果有break;


就只执行匹配到的代码



case 常量值2:



当表达式的值等于常量值2的时候执行这里的代码块;


[break;]



default:


当表达式的值不等于以上所有常量值时,执行这里的代码块


[break;]




}




例:根据成绩的等级编号得到成绩的范围 优(>90) 良(>80) 中(>60) 差(<60)



char dengJi = '优';



switch(dengJi)


{


case '优':


System.out.println("你的成绩是90以上");



case '良':


System.out.println("你的成绩在80 - 90之间");


case '中':


System.out.println("你的成绩在60 - 80 之间");


default:


System.out.println("你的成绩不及格");



}


案例


/**



判断一个数是不是正整数



if(boolean表达式或者叫做条件表达式)



{



一条或多条语句



}





注意:if()后没有;



*/



public class IfDemo



{



public static void main(String[] args)



{



//声明变量



int i = -10 ;





if(i > 0)



{



System.out.println(i+"是正整数");



}





if(i < 0)



{



System.out.println(i+"是负整数");



}





if(i == 0)



{



System.out.println(i+"是0");



}



}



}





/**



有两个数,int a = 4 ; b = 7 ;



求这两个数的最大数



*/



public class IfDemo1



{



public static void main(String[] args)



{



int a = 4 ;



int b = 7 ;





if(a>b)



{



System.out.println(a+">"+b);



}




if(b>a)



{



System.out.println(b+">"+a);



}





if(a == b)



{



System.out.println(b+"="+a);



}



}



}





/**



判断一个小于5位的正整数是几位数



*/





public class IfDemo2



{



public static void main(String[] args)



{



int i = 1234 ;





if(i >= 1000 && i < 10000)



{



System.out.println(i +"是4位数");



}





if(i >= 100 && i < 1000)



{



System.out.println(i+"是3位数");



}





if(i>= 10 && i <100)



{



System.out.println(i+"是2位数");



}





if(i >= 1 && i < 10)



{



System.out.println(i+"是1位数");



}





}



}





/**



给定钱的金额,如果大于20元,中午吃煲仔饭,否则吃热干面



语法



if(boolean表达式)



{



boolean表达式的结果为true时执行这里的代码



}else



{




boolean表达式的结果为false时执行这里的代码



}



*/



public class IfElseDemo1



{



public static void main(String[] args)



{



int i = 21 ;





if(i > 20)



{



System.out.println("中午吃煲仔饭");



}else



{



System.out.println("中午吃热干面");



}





}



}





/**



给定一定金额的钱,如果大于200 晚上喝红酒,



如果小于200但是大于100 晚上喝黄鹤楼,



如果小于100大于50 喝啤酒



如果小于50 大于20 喝二锅头



如果小于20 喝农夫山泉





if(条件表达式1)



{




}else if(条件表达式2)



{




}



....



else



{




}



*/





public class IfElseDemo2



{



public static void main(String[] args)



{



int i = 10;





if(i > 200)



{



System.out.println("晚上喝红酒");





}else if(i > 100)



{



System.out.println("晚上喝黄鹤楼");



}else if(i > 50)



{



System.out.println("晚上喝青岛");



}else if(i > 20)



{



System.out.println("晚上喝二锅头");



}else



{



System.out.println("晚上喝农夫山泉");



}





}



}





/**



根据成绩的等级,优(>=90),良(>=80),中(>=60),差(<60)



来判断学生分数





*/



public class IfElseDemo3



{



public static void main(String[] args)



{



String dengJi = "优";





if(dengJi == "优")



{



System.out.println("你的成绩是90-100");



}else if(dengJi == "良")



{



System.out.println("你的成绩是80-90");



}else if(dengJi == "中")



{



System.out.println("你的成绩是60-80");



}else



{



System.out.println("你不及格");



}




}



}





/**



根据成绩的等级编号得到成绩的范围 优(>90) 良(>80) 中(>60) 差(<60)



switch(表达式)



{



case 常量值1:



当表达式的值等于常量值1的时候执行这里的代码块;



[break;]



当没有break时,匹配到这个常量值后,



执行的代码是 case 常量值1:以后的所有代码包括其他不匹配的常量值中的代码





如果有break;



就只执行匹配到的代码



case 常量值2:



当表达式的值等于常量值2的时候执行这里的代码块;



[break;]



.....





default:



当表达式的值不等于以上所有表达式的值时执行这里的代码块



[break;]




}







*/





public class SwitchDemo1



{



public static void main(String[] args)



{



//声明变量



char dengJi = '差' ;




switch(dengJi)



{



case '优':



System.out.println("你的成绩是90以上");



break;



case '良':



System.out.println("你的成绩是80-90之间");



break;//中断该行代码以下的代码的执行



case '中':



System.out.println("你的成绩是60-80之间");



break;



default:



System.out.println("你的成绩是不及格");



break;






}





}



}







/**



输入年月,判断这个月有多少天



用switch语句



*/



public class SwitchDemo2



{



public static void main(String[] args)



{



int year = 2000;



int month = 2;





switch(month)



{



case 1:



case 3:



case 5:



case 7:



case 8:



case 10:



case 12:



System.out.println(month+"月有31天");



break;



case 4:



case 6:



case 9:



case 11:



System.out.println(month+"月有30天");



break;



case 2:



//判断年是不是闰年



/**



闰年必须满足以下条件之一



1)可以被4整除且不能被100整除



2)可以被400整除



*/



if((year%4==0)&&(year%100 != 0) || (year%400 == 0))



{



System.out.println(month+"月有29天");



}else



{



System.out.println(month+"月有28天");



}




break;




default:



System.out.println("你输入的数据有误");



break;




}



}



}





循环中断



请计算1到10000的和 1+2+3+4....+10000 =



int i = 1 ;



i = i+2 ;



i = i+3 ;







循环





在程序中当要重复性的做某项工作时可以使用循环语句







循环语句分为三种



for循环



for(初始化表达式;逻辑表达式;迭代表达式)



{



//循环体(需要重复执行的代码)





}





例:打印100次"我爱java"





for(int i = 0 ; i <100 ; i++)



{



System.out.println("我爱Java");



}





循环执行流程:先执行 初始化表达式-->逻辑表达式--->如果结果为false则不进入循环



|



| <--------------------------------------|



如果结果为true则执行循环体-->迭代表达式-->







while循环 先判断再执行





while(条件表达式)



{



循环体,需要重复执行的代码



}







例:打印100次"我爱java"




int i = 0;//初始化表达式





while(i <100)



{



System.out.println("我爱Java!");





i++;//迭代表达式



}








do-while循环(循环体一定会执行一次) 先执行一次循环体,再做判断





do



{




循环体





}while(条件表达式)







例:打印100次"我爱中国"




int i = 0 ; //初始化表达式



do



{



System.out.println("我爱中国"); //循环体




i++ ; //迭代表达式





}while(i<100);











流程跳转语句



break;1,switch -case 中断case语句



2,用在循环中,中断循环





continue; 终止当前循环,继续执行下一次循环