------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! -------
(一) 条件语句
if 条件语句:代码按照顺序从上往下逐行执行。
格式有三种
if (){};
if(){};else(){};
if(){};else if(){};else if(){};........最后可以有else 也可以没有。
执行顺序:
根据条件表达式的返回值是true还是false决定程序的流程。如果是true,就执行语句体;如果是false,就什么都不做。
作用域 :定义的变量的作用域,在它所属的那对{}内有效。
注意事项:
A:条件表达式:无论条件表达式是简单还是复杂,结果必须是boolean类型。
B:if语句后面可以不写{},但是,如果这样的话,它就只能控制后面的一条语句,如果想控制多条,就必须加{}。推荐:无论是控制一条还是多条,请都加上{}。
C:在if语句的{}前面不要写分号,否则,会对程序的结果有影响。一般来说:出现{}的时候,就不会有分号,有分号的时候,不会有{}
D:else后面是不能直接跟条件表达式。
E:最后的一个else可以不写,但是,一般建议加上。除非,你明确不需要。
F:if语句的第三种格式,一旦某个地方满足,if语句就不往下执行了。
案例测试:
考试成绩分等级。
90-100 A等。
80-89 B等。
70-79 C等。
60-69 D等。
60以下 E等。
代码如下:
class IfTest
{
publicstatic void main(String[] args)
{
intscore = 187;
Stringlevel;
if(score>=90&& score<=100)
{
level= "A等";
}
elseif(score>=80 && score<90)
{
level= "B等";
}
elseif(score>=70 && score<80)
{
level= "C等";
}
elseif(score>=60 && score<70)
{
level= "D等";
}
elseif(score>=0 && score<60)
{
level= "E等";
}
else
{
level= "分数有误";
}
System.out.println("分数:"+score+level);
}
}
(二)选择语句
switch的语句:根据条件的成立与否,而决定要执行哪些语句的结构。
格式:
switch(只能是byte ,short,int ,char类型的值)1.5以后可以是枚举1.7后可以是String
{
case 常量1 :语句1;break;
case 常量2 :语句2;break;
.....可以有多个
default :语句;break;
}
执行流程:
从上往下,用表达式的值去和case后面的值进行匹配,如果有匹配的,就去执行该case所包含的语句。如果没有匹配的,就会去执行default里面的内容。
注意事项:
A:default可以省略吗?
可以。 但是,一般不省略,它相当于if的else语句,可以控制所有的非正常情况。假如你非常明确可以省略,那就省略。
B:break可以省略吗?
放在最后面的default的break是可以省略的。放在case语句中的break是可以省略的,但是可能结果有问题。所以,一般不省略。
C:default可以不放在最后面吗?
可以,但是一般都放在最后面。
D:switch语句什么时候结束吗?
遇到break或者执行到switch语句的末尾。
(三)循环语句
循环结构是根据判断条件的成立与否,决定循环主体的执行次数。
循环结构的组成
循环体,就是要做的事情;
初始化条件,一般定义的是一个初始变量;
判断条件,用于控制循环的结束;控制条件,用于控制变量的变化,一般都是一个++/--操作
1,for循环语句
格式:
for(初始化条件;判断条件;控制条件)
{
循环体;
}
执行流程
a,先执行初始化条件;
b,执行判断条件
c,根据判断条件的返回值 true:执行循环体。false:就结束循环
d:最后执行控制条件。返回到b继续
2,while循环语句
格式:
初始化条件;
while(判断条件)
{
循环体;
控制条件;
}
执行流程:
a:先执行初始化条件;
b:执行判断条件
c:根据判断条件的返回值:
true:执行循环体
false:就结束循环
d:最后执行控制条件。返回到b继续
3,do......while循环语句
格式:
初始化条件;
do{
循环体;
控制条件;
}while(判断条件);
执行顺序:
a,先执行初始化条件
b,执行循环体和控制条件
c,执行判断条件
d,根据返回值
true:返回b。
false:就结束循环
4,break;continue用法
break可以用于选择语句switch中和循环语句中;用于结束这个语句。
continue只能用于循环中;用于停止本次循环执行下一次。
语句可以带标号?
如果是带标号的break,continue,它控制的就是标号对应的循环
5,应用场景
(1)变量:发现有一个数据是变化的时候,就要用变量。
(2)if语句:如果是一个范围的判断,boolean类型的表达式的判断,几个数据的判断。
(3)switch语句:几个数据的判断。一般这种情况,有限选择switch。
(4)for语句:如果次数或者范围特别明确。(水仙花)
(5)while语句:如果次数或者范围不明确。(珠穆朗玛峰)
6,案例
//需求1:打印正三角形
//外循环控制行数,内循环控制列数
class forDemo1
{
publicstatic void main(String[] args)
{
for(intx = 0; x<5; x++){
for(int y = 0; y<x; y++){
System.out.print("*");
}
System.out.println();
}
}
//需求2 :打印正三角形
//外循环控制行数,内循环控制列数
class forDemo1
{
publicstatic void main(String[] args)
{
for(intx = 1; x<=9; x++){
for(int y =1; y<=x; y++){
System.out.print(y+"*"+x+"="+y*x+"\t");
}
System.out.println();
}
}