黑马程序员_Java语句

来源:互联网 发布:python调用shell脚本 编辑:程序博客网 时间:2024/05/16 06:25

1判断结构

if语句

if语句的三种格式:

//1if(条件表达式){执行语句;}//2if(条件表达式){执行语句;}else{执行语句;}

 

三元运算符相比于和if else 的好处和弊端:

好处:可以简化if else 代码。

弊端:因为是一个运算符,所以运算完必须要有一个结果。

//3if(条件表达式){执行语句;}else if(条件表达式){执行语句;}……else{执行语句;}

 

if练习:

    需求1:根据用户定义的数值不同,打印对应的星期英文。

int num = 3;if(num ==1)system.out.println(“monday”);else if(num ==2)system.out.println(“tuesday”);else if(num ==3)system.out.println(“wednesday”);else if(num ==4)system.out.println(“thursday”);else if(num ==5)system.out.println(“friday”);else if(num ==6)system.out.println(“saturday”);else (num ==7)system.out.println(“sunday”);

  

    需求2:根据用户指定的月份,打印该月份所属的季节。

       3,4,5 春季    6,7,8 夏季    9,10,11 秋季    12,1,2 冬季

int x = 4;if(x==3 || x==4 || x==5)system.out.println(x+”春季”);else if(x==6 || x==7 || x==8)system.out.println(x+”夏季”);else if(x==9 || x==10 || x==11)system.out.println(x+”秋季”);else if(x==12 || x==1 || x==2)system.out.println(x+”冬季”);else system.out.println(“月份不存在”);  //或者如下:if(x>12 || x<1)system.out.println(“月份不存在”);else if(x>=3 && x<=5)system.out.println(x+”春季”);else if(x>=6 && x<=8)system.out.println(x+”夏季”);else if(x>=9 && x<=11)system.out.println(x+”秋季”);else system.out.println(x+”冬季”);

2.选择结构

switch语句

格式:

switch(表达式){case 取值1:执行语句;break;case 取值2:执行语句break;……default:执行语句;break;}


 

switch语句特点:

a.switch语句选择的类型只有四种:byte, short,int, char.

b.case之间与default没有顺序,先执行第一个case,没有匹配的case再执行default

c.结束switch语句的两种情况:遇到break,或者执行到switch语句结束。

d.如果匹配的case或者default没有对应的break,那么程序会继续向下执行,运行可以执行的语句,直到遇到break或者switch结尾结束。

 

练习 需求2:根据用户指定的月份,打印该月份所属的季节。

   3,4,5 春季    6,7,8 夏季    9,10,11 秋季    12,1,2 冬季

int x = 4switch(x){case 3:case 4:case 5:System.out.println(x+”春季”);break;case 6:case 7:case 8:System.out.println(x+”夏季”);break;case 9:case 10:case 11:System.out.println(x+”秋季”);break;case 12:case 1:case 2:System.out.println(x+”冬季”);break;default:System.out.println(月份不存在);}


 

ifswitch语句很像。

具体什么场景下,应用哪个语句呢?

如果判断的具体数值不多,而且是符合byteshort, intchar这四种类型。

虽然两个语句都可以使用,建议使用switch语句,因为效率稍高。

其它情况:对区间判断,对结果为boolean类型判断,使用if语句,if的适用范围更广。

 

3.循环结构

代表语句:whiledo whilefor

while语句格式:

while(条件表达式){执行语句;}

do while语句格式:

do{执行语句;}while(条件表达式);

do while特点是条件无论是否满足,循环体至少被执行一次。

 

for语句格式:

for(初始化表达式;循环条件表达式;循环后的操作表达式){执行语句;}

 

a.for里面的表达式运行的顺序,初始化表达式只读一次,再判断循环条件,为真就执行循环体,然后再执行循环后的操作表达式,接着继续判断循环条件,重复整个过           程,直到条件不满足为止。

b.whilefor可以互换,区别在于for为了循环而定义的变量在for循环结束就在内存中释放,而while循环使用的变量在循环结束后还可以继续使用。

c.最简单无限循环格式:while(true){}for(;;){}。无限循环存在的原因是并不知道循环多少次,而是根据某些条件,来控制循环。

 

练习:1.获取1~10的和,并打印。

class SumTest1 {public static void main(String[] args) {int sum = 0,x = 1;while(x <= 10){sum = sum + x;x++;}System.out.println("sum="+sum);}}

其实这就是累加思想。

原理:通过变量记录住每次变化的结果。

通过循环的形式,进行累加动作。

 

2. 1~100之间,7的倍数的个数,并打印。

class  MySumTest2{public static void main(String[] args){int a = 0,b = 1;while(b<=100){if(b%7==0){a++;}b++;}System.out.println("a="+a);}}/*int count = 0;for(x=0;x<=100;x++){if(x%7==0){count++;System.out.println("x="+x);}System.out.println("count="+count);}*//*int count = 0;for(x=0;x<=100;x++){if(x%7 !=0)continue;count++;System.out.println(“x=”+x);}System.out.println(“count=”+count);

计数器思想:

通过一个变量记录住数据的状态变化。

也需要通过循环完成。

 

4.语句嵌套形式:语句中含有语句。

循环嵌套。

打印:

*****

****

***

**

*

class  MyForDemo{public static void main(String[] args) {for(int x = 5;x>0;x--){for(int y = x;y>0;y--){System.out.print("*");}System.out.println();}}}

九九乘法表:

1*1=1

1*2=2  2*2=4

1*3=3  2*3=6  3*3=9

 

for(int x=1;x<=9;x++){for(int y=1;y<=x;y++){System.out.print(x+"*"+y+"="+x*y+"\t"); // “\t”是制表符,自动对齐。}System.out.println();}


 

5.其他流程控制语句

break(跳出), continue(继续)

break语句:应用范围:选择结构和循环结构。

continue语句:应用于循环结构。

注:

a.这两个语句离开应用范围,存在是没有意义的。

b.这两个语句单独存在,下面都不可以有语句,因为执行不到。

c.continue语句时结束本次循环继续下次循环。

d.标号的出现,可以让这两个语句作用于指定的范围。

 

练习:打印出如下图形:

     *

    * *

   * * *

  * * * *

 * * * * *

class  MyForDemo2{public static void main(String[] args) {for(int x=0;x<5;x++){for(int y=0;y<5-x-1;y++){System.out.print(" ");}for(int z=5-x-1;z<5;z++){System.out.print("* ");}System.out.println();}}}


0 0
原创粉丝点击