1、判断结构(if语句)
if语句
if语句特点:
a、每一种格式都是单条语句。
b、三元运算符就是if else 语句简写格式。当if…else运算后,有一个具体的结果时,可以简化写成三元运算符。
c、条件表达式无论写成什么样子,只看最终的结构是否是true 或者false。
a、每一种格式都是单条语句。
b、三元运算符就是if else 语句简写格式。当if…else运算后,有一个具体的结果时,可以简化写成三元运算符。
c、条件表达式无论写成什么样子,只看最终的结构是否是true 或者false。
2、选择结构(switch语句)
switch语句
格式:
switch(表达式)
{
case 取值1:
执行语句;
break;
case 取值2:
执行语句;
break;
…...
default:
执行语句;
break;
格式:
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结尾结束。
a、switch语句选择的类型只有四种:byte,short,int ,char。
b、case之间与default没有顺序。先执行第一个case,没有匹配的case执行default。
c、结束switch语句的两种情况:遇到break,执行到switch语句结束。
d、如果匹配的case或者default没有对应的break,那么程序会继续向下执行,运行可以执行的语句,直到遇到break或者switch结尾结束。
if和switch的区别:
if:
1、对具体的值进行判断。
2、对区间判断。
3、对运算结果是boolean类型的表达式进行判断。
switch:
1、对具体的值进行判断。
2、值的个数通常是固定的。
对于几个固定的值判断,建议使用switch语句,因为switch语句会将具体的答案都加载进内存。效率相对高一点。
3、选择结构(while、do while、for语句)
while语句 do while语句
格式: 格式:
while(条件表达式) do
{ {
执行语句; 执行语句;
} }while(条件表达式);
while(条件表达式) do
{ {
执行语句; 执行语句;
} }while(条件表达式);
do while特点是条件无论是否满足,循环体至少被执行一次。
for语句
格式:
for(初始化表达式;循环条件表达式;循环后的操作表达式)
{
执行语句;
}
for(初始化表达式;循环条件表达式;循环后的操作表达式)
{
执行语句;
}
for语句特点:
a、for里面的连个表达式运行的顺序,初始化表达式只读一次,判断循环条件, 为真就执行循环体,然后再执行循环后的操作表达式,接着继续判断循环条件, 重复找个过程,直到条件不满足为止。
b、while与for可以互换,区别在于for为了循环而定义的变量在for循环结束就是在内存中释放。而while循环使用的变量在循环结束后还可以继续使用。
c、最简单无限循环格式:while(true) , for(;;),无限循环存在的原因是并不知道循环多少次,而是根据某些条件,来控制循环。
b、while与for可以互换,区别在于for为了循环而定义的变量在for循环结束就是在内存中释放。而while循环使用的变量在循环结束后还可以继续使用。
c、最简单无限循环格式:while(true) , for(;;),无限循环存在的原因是并不知道循环多少次,而是根据某些条件,来控制循环。
什么时候使用循环结构呢?
a、当对某些代码执行很多次时,使用循环结构完成。
b、当对一个条件进行一次判断时,可以使用if语句。
c、当对一个条件进行多次判断时,可以使用while语句。
a、当对某些代码执行很多次时,使用循环结构完成。
b、当对一个条件进行一次判断时,可以使用if语句。
c、当对一个条件进行多次判断时,可以使用while语句。
注意:
在使用循环时,一定要明确哪些语句需要参与循环,哪些不需要。循环通常情况下,需要定义条件,需要控制次数。
在使用循环时,一定要明确哪些语句需要参与循环,哪些不需要。循环通常情况下,需要定义条件,需要控制次数。
4、嵌套循环结构(ForFor)
大圈套小圈思想:外循环控制的是行数,内循环控制的是列数(每一行的个数)。
例1:九九乘法表
class Demo
{
public static void main(String[] agrs)
{
for(int x=1;x<=9;x++)
{
for(int y=1;y<=9;y++)
{
System.out.print(y+"*"+x+"="+y*x+"\t");
}
System.out.println();
}
}
}
备注:\n:回车;\t:制表符;\b:退格;\r: 按下回车键。
windows系统中回车符其实是由两个符号组成的 \r\n。
linux中回车符是 \n。
windows系统中回车符其实是由两个符号组成的 \r\n。
linux中回车符是 \n。
例2: 输出 * * * * *
* * * *
* * *
* *
*
* * * *
* * *
* *
*
class ForForDemo2
{
public static void main(String[] agrs)
{
for(int x=1;x<=5;x++)
{
for(int y=1;y<x;y++)
{
System.out.print(" ");
}
for(int z=x;z<=5;z++)
{
System.out.print("* ");
}
System.out.println();
}
}
}
5、其他流程控制语句
break(跳出):应用于选择结构和循环结构。(当break语句单独存在时,下面不要定义其他语句,因为执行不到。break跳出所在的当前循环。如果出现了循环嵌套,break想要跳出指定的循环,可以通过标号来完成。)
continue语句:应用于循环结构。(如果continue单独存在时,下面不要有任何语句,因为执行不到。)
注:
a、这两个语句离开应用范围,存在是没有意义的。
b、这两个语句单独存在时,下面都不可以有语句,因为执行不到。
c、continue语句是结束本次循环继续下次循环。
d、标号的出现,可以让这两个语句作用于指定的范围。
a、这两个语句离开应用范围,存在是没有意义的。
b、这两个语句单独存在时,下面都不可以有语句,因为执行不到。
c、continue语句是结束本次循环继续下次循环。
d、标号的出现,可以让这两个语句作用于指定的范围。