Java语法基础之语句
来源:互联网 发布:手机淘宝如何看好评率 编辑:程序博客网 时间:2024/05/12 13:51
程序流程控制语句
分四类:
a) 判断结构(if)
b) 选择结构(switch)
c) 循环结构(do while;while;for)
d) 其他流程控制语句(break;continue)
一、判断结构(if)
1、if语句三种格式:
1, if(条件表达式) 3, if(条件表达式)
{ {
执行语句; 执行语句;
} }
2, if(条件表达式) else if (条件表达式)
{ {
执行语句; 执行语句;
} }
else ……
{ else
执行语句; {
} 执行语句;
}
2、If语句特点:
a) 每一种格式都是单条语句。
b) 第二种格式与三元运算符的区别:三元运算符运算完要有值出现。好处是:可以写在其他表达式中。
c) 条件表达式无论写成什么样子,只看最终的结构是否是true或者false。
3、注意事项:
1) 第三种格式中只要有一个满足条件的就结束。
2) if到第一个分号“;”为止。
3) ifelse 结构 简写格式:变量=(条件表达式)?表达式1:表达式2;相当于三元运算符。
4) 三元运算符:好处:可以简化if else 代码。弊端:因为是一个运算符,所以运算完必须要有一个结果。
4、练习:
1,需求1:根据用户定义的数值不同。打印对应的星期英文。
class IfTest {public static void main(String[] args) {//需求1:根据用户定义的数值不同。打印对应的星期英文。int num = 1;if(num==1)System.out.println("monday");else if(num==2)System.out.println("tsd");elseSystem.out.println("nono");}}
2,需求2:根据用于指定月份,打印该月份所属的季节。
class IfTest {public static void main(String[] args) {//需求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+"冬季");elseSystem.out.println(x+"月份不存在");if(x>12 || x<1)System.out.println(x+"月份不存在");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+"秋季");elseSystem.out.println(x+"冬季");}}
二、选择结构
1、switch语句格式:
switch(表达式)
{
case 取值1:
执行语句;
break;
case 取值2:
执行语句;
break;
……
default:
执行语句;
break;
}
2、switch语句特点:
工作原理:用switch后小括号中的变量的值依次和case后面的值进行对比,和哪个case后面的值相同了,就执行哪个case后面的语句,如果没有相同的则执行default后面的语句。
细节:1):break是可以省略的,如果省略了就一直执行到遇到break为止;
2):switch 后面的小括号中的变量应该是byte,char,short,int四种类型中的一种;
3):default可以写在switch结构中的任意位置;如果将default语句放在了第一行,则不管expression与case中的value是否匹配,程序会从default开始执行直到第一个break出现。
4):结束switch语句的两种情况:遇到break,执行到switch语句结束。
3、练习
需求2:根据用于指定月份,打印该月份所属的季节。
class SwitchTest{public static void main(String[] args) {//需求2:根据用于指定月份,打印该月份所属的季节。//3,4,5 春季 6,7,8 夏季 9,10,11 秋季 12, 1, 2 冬季int x = 4;switch(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("nono");}System.out.println("Hello World!");}}
注意事项:
if与switch语句。
具体什么场景下,应用哪个语句呢?
如果判断的具体数值不多,而是符合byte short int char这四种类型。
虽然两个语句都可以使用,建议使用swtich语句。因为效率稍高。
其他情况:对区间判断,对结果为boolean类型判断,使用if,if的使用范围更广。
三、循环结构
代表语句:while,do while, for
1,while语句格式:
while(条件表达式) do while语句格式:
{ do
执行语句; {
} 执行语句;
}while(条件表达式);
while:先判断条件,只有条件满足才执行循环体。
do while: 先执行循环体,在判断条件,条件满足,再继续执行循环体。
简单一句话:do while:无论条件是否满足,循环体至少执行一次。
2,while与do while 举例:
class WhileDemo {public static void main(String[] args){/*定义初始化表达式;while(条件表达式){循环体(执行语句);}*/int x = 1;while(x<3){System.out.println("x="+x);x++;}int x1 = 1;do{System.out.println("do : x1="+x1);x1++;}while (x<3);int y = 1;while(y<3){System.out.println("y="+y);y++;}}}
3,for语句格式:
for(初始化表达式;循环条件表达式;循环后的操作表达式)
{
执行语句;
}
4,while与for注意事项:
注:
a) for里面的连个表达式运行的顺序,初始化表达式只读一次,判断循环条件,为真就执行循环体,然后再执行循环后的操作表达式,接着继续判断循环条件,重复找个过程,直到条件不满足为止,
b) while 与for可以互换,区别在于for为了循环而定义的变量在for循环结束就是在内存中释放,而while循环使用的变量在循环结束后还可以继续使用。
c) 最简单无限循环格式:while(true),for(;;),无限循环存在的原因是并不知道循环多少次,而是根据某些条件,来控制循环。
for和while的示例:
class ForDemo {public static void main(String[] args) {/*for(初始化表达式;循环条件表达式;循环后的操作表达式){执行语句;}*/for(int x = 0; x<3 ; x++){System.out.println("x="+x);}//System.out.println("x===="+x);int y=0;while(y<3){System.out.println("y="+y);y++;}System.out.println("y===="+y);}}
通过示例的总结如下:
1,变量有自己的作用域。对于for来讲:如果将用于控制循环的增量定义在for语句中。那么该变量只在for语句内有效。
for语句执行完毕。该变量在内存中被释放。
2,for和while可以进行互换。如果需要定义循环增量。用for更为合适。
3,什么时候使用循环结构?
当要对某些语句执行很多次时,就使用循环结构。
for执行时小小注意点:
a) 条件既不是真也不是假,编译失败。
class ForTest {public static void main(String[] args) {for(System.out.println("a"); System.out.println("b");System.out.println("c"),x++){System.out.println("d"); //编译失败,条件既不是真也不是假,编译失败。 }int x = 1;for(System.out.println("a"); x<3 ;System.out.println("c"),x++){System.out.println("d");x++;}//结果为adcdc}}
b) 无限循环的最简单表现形式:
for(;;){}
while(true){}
小小总结:
ifswitch do while while for
这些语句什么时候用?
1)、当判断固定个数的值的时候,可以使用if,也可以使用switch。但是建议使用switch,效率相对较高。
2)、当判断数据范围,获取判断运算结果boolean类型时,需要使用if。
3)、当某些语句需要执行很多次时,就用循环结构。
四、其他流程控制语句
break(跳出),continue(继续)
break语句:应用范围:选择结构和循环结构。
break:作用于switch ,和循环语句,用于跳出,或者称为结束。
break语句单独存在时,下面不要定义其他语句,因为执行不到,编译会失败。当循环嵌套时,break只跳出当前所在循环。要跳出嵌套中的外部循环,只要给循环起名字即可,这个名字称之为标号。
continue语句:应用于循环语句。
continue:只作用于循环结构,继续循环用的。
作用:结束本次循环,继续下次循环。该语句单独存在时,下面不可以定义语句,执行不到。
注:
a) 这两个语句离开应用范围,存在是没有意义的。
b) 这两个语句单独存在下面都不可以有语句,因为执行不到。
c) continue语句是结束本次循环继续下次循环。
d) 标号的出现,可以让这两个语句作用于指定的范围。
寄语:学习语句时,才发现数学是如此的重要,虽然我没有时间再回到学校学习数学了,加油吧!。。。 ——濛濛
- Java语法基础之语句
- java基础--------java语法基础之语句
- Java语法基础之for语句练习
- Java语法基础之语句—for练习
- JavaSE入门学习7:Java基础语法之语句(下)
- java基础语法循环语句
- java基础之语法
- Java之语法基础
- Java基础之语法
- Java基础之语法
- JAVA基础 之 语法基础
- Java基础之基础语法
- java基础之语法基础
- day01--Java基础语法-Java分支语句
- day1-Java基础语法--Java循环语句
- Java基础之语句
- Java基础之语句
- JavaSE基础第二部分:Java基础语法之流程控制语句
- 802.11n关键技术
- Server 2008上IIS配置过程中遇到的问题及解决办法
- 语言特性-变量作用域
- 之实况直播
- 对程序员面试题目的重要总结
- Java语法基础之语句
- Linux Shell 之 Shell中的函数调用
- 从电脑开机加电到main函数的执行【一】
- js日期时间比较函数
- 最近标杆型自媒体程苓峰发文章说自己的广告效果多么好
- jquery 自动补全
- 5.31-6.3
- CMD常用命令大全
- Cocos2D-iphone 开发之(8) 实现进度条