Java的基础语法(四): 语句

8.语句

(1).流程控制语句

分类: 顺序结构, 选择结构, 循环结构

①. 顺序结构: 从上往下,依次执行

②. 选择结构: if语句和switch语句

if语句:

格式1:
if(比较表达式){
  语句体;  
}
流程:
判断比较表达式的值,true则执行语句体,false不执行

格式2:
if(比较表达式1){
  语句体1;  
}else{
  语句体2;        
}
流程:
判断比较表达式1的值,true则执行语句体1,false则执行语句体2

格式3:
if(比较表达式1){
  语句体1;  
}else if(比较表达式2){
  语句体2;        
}...else{
  语句体n; 
}
流程:
判断比较表达式1的值,true则执行语句体1,if语句结束,false
则比较表达式2的值,true则执行语句体2,if语句结束,false则执行语句体n

注意: if语句和三元运算符的区别:

首先,三元可以实现的,if语句都可以实现,反之则不成立

其次,三元是一个运算符,其执行完毕后肯定会产生一个结果,而无法产生一个输出语句;if语句可以实现产生一条输出语句

switch语句
格式:
switch(表达式){
  case 值1:
  语句体1;
  break;  
  case 值2:
  语句体2;
  break;  
  ...
  default:
  语句体n;
  break;  
}
流程:
case所罗列的值会依据顺序依次和表达式的值作比较,若为true,则执行该语句体,遇到break或者}右大括号,则switch语句结束.若case值都没有匹对的,则执行default对应的语句体n

注意:

a. switch的表达式可以接受的数据类型:

基本类型: byte, short, char, int

引用类型: 枚举(JDK1.5以上), String字符串(JDK1.7以上)

b. case后面的值只能是常量,不能是变量,而且case的值不能再一个switch语句中出现相同的

c. 最后一个break可以省略,但不建议;其他break绝对不能省略,否则会出现case穿透

d. default无论在什么位置,它都是最后执行,建议是放在最后,便于阅读

switch和if的使用场景:
switch建议判断固定值的时候用;
if建议判断区间或者范围的时候用

③. 循环结构

分类: for语句, while语句, do...while语句

for语句
格式:
for(初始表达式;条件表达式;循环后操作表达式){
  循环体;
}
流程:
1.执行初始表达式
2.执行条件表达式
true,继续执行
false,结束循环
3.执行循环体语句
4.执行循环后操作表达式
5.回到第2步继续

举个栗子:
统计1-100以内的偶数之和
int sum = 0;
for(int i=0;i<=100;i+=2){
  sum += i;
}
另一种实现:
for(int i=0; i<=100; i++){
if(i%2==0){
sum += i;
}

while语句
基本格式:
while(判断条件语句){
  循环体语句;
}
完整格式:
初始化语句;
while(判断条件语句){
  循环体语句;
  控制条件语句;
}

流程:
1.执行初始化语句
2.执行判断条件语句
true,继续执行
false,结束循环
3.执行循环体语句
4.执行控制条件语句
5.回到第2步继续
do...while语句
基本格式:
do{
  循环体语句;
}while(判断条件语句);

完整格式:
初始化语句;
do{
  循环体语句;
  控制条件语句;
}while(判断条件语句);

流程:
1.执行初始化语句
2.执行循环体语句
3.执行控制条件语句
4.执行判断条件语句
true,继续执行
false,结束循环
5.回到第2步继续

注意: 三种循环语句的区别

1.do...while循环至少会执行一次循环体; 而for和while循环必须先判断条件是否成立,然后决定是否执行循环体语句

2.for语句执行后,初始化定义的变量会被释放,不能再使用; 而while语句执行后,初始化的变量可以继续使用

两种简单的死循环方式:

①.while(true){
  循环体语句;
}

②.for( ; ; ){
  循环体语句;
}

循环嵌套使用:

输出  *
     **
     ***
     ****  形状

for(int i=1; i <=4; i++){
  for(int j=1; j <=i; j++){
    sout("*");
}
  sout();//换行
}

----------------------------华丽的分割线-----------------------------

9*9乘法表

for(int i=1; i <=9; i++){
  for(int j=1; j <=i; j++){
    sout(j+"*"+i+"="+(j*i)+'\t');//\t转义符号,相当于Tab键
}
  sout();//换行
}

总结:外循环控制行数,内循环控制列数

小拓展:转义字符
'\t ':Tab键
'\r ':回车
'\n ':换行
'\" ':双引号
'\' ':单引号

(2).控制跳转语句

分类:break, continue, return

①.break语句

只能在switch语句和循环语句中使用,作用是 跳出循环

②.continue语句

只能在循环语句中使用,作用是 终止本次循环,继续下次循环

③.return语句

作用是 返回,用来结束方法的

关于方法,,下篇会开始BB....

哈哈哈...码不动了,,吃饭去

 

猜你喜欢

转载自www.cnblogs.com/Baker-Street/p/11921720.html