控制流程语句:
一、顺序语句
按照代码顺序执行的语句称作为顺序语句。
二、(if语句)条件判断语句:
格式一: 只能适用于一种情况下去使用。
if(判断条件){
符合条件执行的代码;
}
格式二: 适用于两种情况下去使用。
if(判断条件){
符合条件执行的代码;
}else{
不符合条件执行的代码;
格式2的作用于三元运算符非常的相象.如何选择使用呢?
布尔表达式?"值1":"值2";
三元运算符的优点: 结构清晰简单。
三元运算符运算完毕之后的结果必须要使用一个变量存储,或者是直接使用其结果。而且必须要返回一个值。
格式3: 适用于多种情况下下去使用。
if(判断条件1){
符合条件1执行的代码;
}else if(判断条件2){
符合条件2执行的代码;
}else if(判断条件3){
符合条件3执行的代码;
}… else{
都不符合上述条件执行的代码;
}
if语句要注意的细节:
1. 如果符合条件只有一个语句需要执行,那么可以省略大括号。不建议省略,因为结构不清晰.
2. if判断条件后面不要加上分号,否则会影响执行的效果。
三、(switch语句) 判断选择语句:
switch语句的格式:
switch(我的选择){
case 值1:
选择符合值1要执行的代码;
break;
case 值2:
选择符合值2要执行的代码;
break;
case 值3:
选择符合值3要执行的代码;
break;
….
default:
你的选择都不符合上述条件的时候执行的代码;
break;
}
switch语句要注意的细节:
1. switch语句只能使用byte、 char、 short 、 int数据类型数据,从jdk7.0开始也可以使用String类型了。
2. case语句后面只能跟常量。
3. switch语句的停止条件: 在switch语句中如果选择已经匹配上了一个选项,那么switch语句只有遇到了break关键字
或者是结束switch语句的大括号才会停止执行,否则会按照代码的顺序从上往下执行所有的代码,而且并不会再
判断条件是否符合。
4. switch语句不管代码顺序如何永远都会先判断case语句是否有符合 的,然后才会判断default语句,
选用if语句与switch语句的判断条件:
switch语句的优点: switch的结构清晰。
switch语句的缺点: case后面只能跟常量,不能跟判断表达式,那么如果条件是一个范围的话,那么使用
switch语句就非常的麻烦。
四、while循环语句:
while循环语句的格式:
while(判断的条件){
需要循环执行的代码;
}
while循环语句要注意的细节:
1. while循环语句的循环次数一般是通过变量去控制的。
2. while循环语句后面如果加上了分号,那么会影响循环的效果。
3. 如果循环语句只有一个语句的时候,可以省略大括号,但是不建议省略。
例子: 需求:计算出1~100的总和。 1+2+3+…100 =
class Demo8
{
public static void main(String[] args)
{
int num = 1;
int sum = 0; //定义一个变量保存每次相加的结果。
while(num<=100){
sum = sum + num;
num++;
}
System.out.println("sum="+sum);
}
}
五、do-while循环语句:
格式:
do{
循环语句;
}while(循环条件);
while循环语句与do-while循环 语句的区别:
while循环语句是先判断,符合条件后执行。
do-while循环语句是先执行,然后再判断,不管条件是否满足,至少会执行一次。
六、for循环语句:
for循环语句的格式:
for(初始化语句 ; 条件判断语句 ; 循环后执行的语句){
循环体语句;
}
for循环语句要注意的细节:
1. 初始化语句只是在第一次循环的时候执行一次。
2. for(;;)这种写法是一个死循环的写法,相当于while(true).
3. 如果循环体语句只有一句的时候,可以省略大括号不写,但是不建议省略。
例子:
需求: 在控制台上打印一个矩形。
******
******
******
******
class Demo15 {
public static void main(String[] args)
{
for(int j = 0 ; j<4; j++){ // j=0 , j=1 ---> 行数
for(int i = 0 ; i<6; i++){ //i=0, 1 ,2 ,3,4,5 . 6 ---> 列数
System.out.print("*");
}
System.out.println();
}
}
需求:打印一个正立的直角三角形。
*
**
行数确定了, 列数没有确定?
分析找出规律:
i = 0 ; i<5 ; j=0 , j<=0; 一个星号
i = 1 ; i<5; j=0 , j<=1 两个星号
i = 2; i <5; j=0, j<=2 三个星号
class Demo16{
public static void main(String[] args)
{
for(int i = 0 ; i< 5; i++){ //行数
for(int j = 0 ; j<=i ;j++ ){ //列数
System.out.print("*");
}
System.out.println();
}
}
}
例子:需求2: 打印一个九九乘法。
class Demo18
{
public static void main(String[] args)
{
for(int i = 1 ; i<=9 ; i++){
for(int j = 1 ; j<=i ;j++){
System.out.print(i+"*"+j+"="+i*j+"\t");
}
System.out.println();
}
}
}
七、break关键字:
break关键字的适用范围: 只能在switch语句或者是循环语句中使用。
break关键字的作用:
1. break关键字用于switch语句的时候的作用是结束一个switch语句。
2. break关键字用于循环语句的时候,其作用就是结束当前所在的循环。
笔试题目: break默认是作用于当前所在的循环,能否让break作用于其他的循环语句?
可以通过标签配合使用即可。
要 注意的细节;
1. 标签的命名只要符合标识符的命名规则即可。
2. break关键字后面不能直接跟其他语句。
例子:
class Demo19
{
public static void main(String[] args)
{
AAA:for(int j = 0 ; j<2; j++){ // j = 0
BBB:for(int i = 0 ; i< 3; i++){ // i=0
System.out.println("hello world");// 1
break AAA;
}
}
八、continue关键字:
continue的适用范围是循环语句中。
continue关键字的作用: 跳过本次的循环体语句,继续下一次循环。
continue关键字要注意的细节:
1. continue关键字也可以配合标签使用。
2. continue关键字后面也是不能直接跟语句的。