----------------------Android培训、Java培训、java学习型技术博客、期待与您交流! ----------------------
流程控制:
1,判断语句
if语句特点:
1)每一种格式都是单条语句。
2)第二种格式与三元运算符的区别:三元运算符运算完要有值出现。好处是可以写在其他表达式中。
3)条件表达式无论写成什么样子,只看最终的结构是否是true或者false;
if-else 条件分支控制
If语句
格式:
1、if(条件语句)
{
执行语句;
}
2、if(条件语句)
{
执行语句;
}
else
{
执行语句;
}
3、if(条件语句)
{
执行语句;
}
else if(条件语句)
{
执行语句;
}
……
else
{
执行语句;
}
例子:
class IfDemo
{
public static void main(String[] args)
{
/*
使用if else语句来实现分段函数
y= 2*x (x>=0)
y= x (x<0)
*/
int x=1,y;
if(x>=0)
y=2*x;
else
y=x;
// y = (x>=0)? 2*x : x;
System.out.println("y="+y);
}
}
注:其中if else结构可以简化成:变量 = (条件表达式)? 表达式1 : 表达式2 ;
如上面的代码中就可以简化为: y = (x>=0) ? 2*x : x ;
利:简化代码。
弊:因为是三元运算符,运算完必须要有一个结果。
2,选择语句:
Switch语句:
格式:
switch(值)
{
case 取值1:
执行语句;
break;
case 取值2:
执行语句;
break;
……
default :
执行语句;
break;
}
例子:
class SwitchDemo
{
public static void main(String[] args)
{
//根据变量的值获取是一周的第几天
int x = 4;
switch(x)
{
case 1:
System.out.println("星期一");
break;
case 2:
System.out.println("星期二");
break;
case 3:
System.out.println("星期三");
break;
case 4:
System.out.println("星期四");
break;
case 5:
System.out.println("星期五");
break;
case 6:
System.out.println("星期六");
break;
case 7:
System.out.println("星期日");
break;
default:
System.out.println("错误数据");
break;
}
}
}
注:switch结构始终从第一个case语句开始选择,条件满足执行case后面的代码,然后break语句结束switch选择。
当所有的case语句都不满足条件是执行default语句,所以default语句不可省略。当default语句放在最后时,后面可以不用跟break语句。
3,循环结构:
代表语句:while , do while ,for
while语句格式:
while(条件表达式)
{
执行语句;
}
do while语句格式:
do
{
执行语句;
}while(条件表达式);
while:先判断条件,只有条件满足才执行循环体。
do while:先执行循环体,再判断条件,条件满足,再执行循环体。
do while特点是条件无论是否满足,循环体至少被执行一次。
for
格式:
for(初始化表达式;循环条件表达式;循环后的操作表达式)
{
执行语句;
}
a,for里面的连个表达式运行的顺序,初始化表达式只读一次。判断循环条件,
为真就执行循环体,然后再执行循环后的操作表达式,接着继续判断循环条件,
重复整个过程,知道条件不满足为止。
b,while与for可以互换,区别在于for为了循环而定义的变量在for循环结束就是在内存中
释放。而while循环使用的变量在循环结束后还可以继续使用。
c,最简单无限循环格式:while(true),for(;;),无限循环存在的原因是并不知道循环多少次,而是根据
某些条件,来控制循环。
for和while的区别:
1,变量有自己的作用域。对于for来讲:如果将用于控制循环的增量定义在for语句中。
那么该变量只在for语句内有效。
2,for和while可以进行互换。如果需要定义循环增量。用for更为合适。
总结:
什么时候使用循环结构?
当要对某些语句执行很多次时,就使用循环结构。
例子:
1~100之间7的倍数的个数,并打印。
步骤:
1,定义循环(遍历)语句,选择for语句。
2,再循环中判断,只要是7的倍数即可,使用if即可,判断用x%7==0;
3,定义一个count计数器,每次符合条件时计数器+1,循环结束打印count即可。
class forforDemo
{
public static void main(String[] args)
{ /*
for(int x=0;x<3;x++)
{
for (int y=0;y<4 ;y++ )
{
System.out.println("ok");
}
}*/
for(int x=0;x<3;x++)
{
for (int y=0;y<4 ;y++ )
{
System.out.print("*");
}
System.out.println();//只有一个功能就是换行。
}
System.out.println("-------------------------------------------------");
int z=5;
for (int x=0;x<5 ;x++ )
{
for (int y=0;y<z ;y++ )
{
System.out.print("*");
}System.out.println();
z--;
}
}
}
其他流程控制语句
break(跳出),continue(继续)
break语句:应用范围:选择结构和循环结构。
continue语句:应用于循环结构。
1)这两个语句离开应用范围,存在是没有意义的。
2)这个两个语句单独存在下面都不可以有语句,因为执行不到。
3)continue语句是结束本次循环继续下次循环。
4)标号的出现,可以让这两个语句作用于指定的范围。
class OtherDemo
{
public static void main(String[] args)
{
//break;
w:for(int x=0;x<3;x++)
{
for(int y=0;y<4;y++)
{
System.out.println("x="+x);
break w;
}
}
//continue:只能作用于循环结构,继续循环。特点:结束本次循环,继续下一次循环。
for(int x=1;x<=10;x++)
{
if(x%2==1)
continue;
System.out.println("x="+x);
}
w:for(int x=0;x<3;x++)
{
for(int y=0;y<4;y++)
{
System.out.println("x="+x);
continue w;
}
}
}
}