------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! -------
一、判断结构
If语句
If语句有三种结构:
1、if(条件表达式){ /*if后的”{}”可以去除,此时if语句只判断执行他后边的一条执行语句,初学者加上“{}”。*/
执行语句
}
2、if(条件表达式){ /*三元运算符是if else的简写格式,它可以简化if else的代码,但
执行语句 是因为是运算符所以运算完必须要有一个结果,格式如下,
} 变量=(条件表达式)?表达式1:表达式2 */
else{
执行语句
}
3、if(条件表达式){ /*与前边两种结构一样,if else if同样也是单条语句,如果前边的
执行语句 条件语句满足了,就不会向下执行了*/
}
else if(条件表达式){
执行语句
}
。。。。。。
else{
执行语句
}
二、选择结构
Switch语句
Switch语句的四个特点:
1、语句的选择类型只有四种,byte、short、int、char。
2、case之间与default没有顺序。先执行第一个case,没有匹配的case执行default。
3、当语句执行到break时或者语句执行到结尾时,switch语句都会结束(语句末尾处的break可写可不写)。
4、如果case和default里边没有break,那么程序会继续向下执行可执行的语句,而不会再判断case,直到遇到break或者到语句结尾。
例,
int x = 3;
switch(x)//byteshort int char
{
default:
System.out.println("d");
//break;
case4:
System.out.println("a");
//break;
case6:
System.out.println("b");
break;
case2:
System.out.println("c");
break;
}
这条语句在程序执行时,不会优先执行default,而是执行第一个case(case 4),当执行到最后一个case时没有发现正确的选项,此时才会执行default。且由于default内的break被注释掉了,所以程序会继续向下执行,而不会在判断选项是否正确,直到遇到break,语句结束。
if和switch语句很像,在不同的场景要灵活的应用。如果判断的具体数值不多,而且符合byte short int char这四种类型,虽然两个语句都可以使用,建议使用swtich语句,因为效率稍高。其他情况:对区间判断,对结果为boolean类型判断,使用if,if的使用范围更广。
三、循环结构
循环结构有三种,分别是while循环,do while循环和for循环。
1、 while循环
循环结构如下,
while(条件表达式)
{
循环体(执行语句);
}
While循环的结构与if语句结构类似,if语句只执行一次,而while语句当满足条件表达式是会一直执行下去。
2、 do while循环
循环结构如下,
do
{
循环体(执行语句);
}
while (条件表达式);
do while语句会先执行循环体,在判断条件,条件满足,再继续执行循环体,而while语句则是先判断条件,条件满足才会执行循环体。所以do while无论条件是否满足,循环体至少执行一次。
3、 for循环
循环结构如下,
for(初始化表达式;循环条件表达式;循环后的操作表达式)
{
执行语句;
}
for语句和while语句是可以互换的,也就是说用for可以实现的功能用while同样可以实现,但是有一点不同,for语句的初始化变量是在语句内部初始化,当循环结束后变量的内存空间就会消失,从而节省系统内存。所以当变量只为循环的增量存在,控制循环次数的话应该用for循环。例,
for(int x= 0; x<3 ; x++)
{
System.out.println("x="+x);
}
int y=0;
while(y<3)
{
System.out.println("y="+y);
y++;
}
X和y的循环结果是一样的但是y的循环空间在循环结束后依然存在,而x则消失了。
4、 循环语句的其他特点
For循环语句中,初始化表达式和循环后表达式是可以没有的,只要表达式是一个合法的表达式就可以(条件表达式的值必须是真或假,如果条件表达式不写,for循环默认为true)。
当初始化表达式和循环后表达式有多个时应该用“,”隔开。例如可以这样写,
int x = 1;
for(System.out.println("a");x<3 ;System.out.println("c"))
{
System.out.println("d");
x++;
}
编译通过后打印的结果是:adcdc
还可以这样写,
for(int x=0,y=0; x<3 ;x++,y++)
{
System.out.println("d");
}
*最简单的无限循环形式:
1、if(;;){ //默认为true
}
2、while(true){
}