----------------------
ASP.Net+Android+IOS开发、
.Net培训、期待与您交流! ----------------------
本文主要介绍JAVA中的if else语句、switch语句、for语句、switch语句及break语句、continue语句用法及注意点。
1.判断语句if else
- 第一种形式:只有if
123456789101112class
IfDemo
{
public
static
void
main(String[] args)
{
int
x =
3
;
if
( x >
2
)
//若不带{}也可以执行,默认且仅执行if之后的第一条执行语句。
{
System.out.println(
"条件成立"
);
//
}
}
}
- 第二种形式:if else
1234567891011class
IfElseDemo
{
public
static
void
main(String[] args)
{
int
x =
3
;
if
( x >
3
)
System.out.println(
"x大于3"
);
else
System.out.println(
"x不大于3"
);
}
}
语句意思:若x>3则返回 x大于3,若x>3不成立,则返回x不大于3. - 第三种形式:if() else if() else
123456789101112131415class
IfElseIfDemo
{
public
static
void
main(String[] args)
{
int
x =
3
;
if
( x >
3
)
System.out.println(
"x>3"
);
else
if
( x <
3
)
System.out.println(
"x<3"
);
else
if
( x ==
3
)
System.out.println(
"x=3"
);
else
//else语句不写也可以正常编译
System.out.println(
"x是未知值"
);
}
}
2.选择语句switch
- switch基本用法
12345678910111213141516171819202122class
SwitchDemo
{
public
static
void
main(String[] args)
{
int
x =
3
;
switch
(x)
//x只支持byte、short、int、char、String(JAVA7开始支持String,但不能为null,否则编译会出错)
{
case
1
:
System.out.println(
"x="
+
1
);
break
;
//break的作用是结束并跳出当前语句(switch),作用范围为选择语句及循环语句。
case
2
:
System.out.println(
"x="
+
2
);
break
;
case
3
:
System.out.println(
"x="
+
3
);
break
;
default
:
//当case都不满足时,执行default下的语句,也可以不写,那么就无结果。
System.out.println(
"未找到具体值"
);
break
;
//此处的break可有可无,因为后面已经没有语句了
}
}
}
- default块在语句中的顺序可任意调换,若不放在最后,必须带上break;
- 若case下的语句没有break终止,就算case满足条件,也会继续执行下面的语句,直到遇到break或者switch语句结束为止。
123456789101112131415161718192021222324class
SwitchDemo
{
public
static
void
main(String[] args)
{
int
x =
3
;
switch
(x)
{
case
1
:
case
2
:
System.out.println(
"不管x=1或者x=2,都输出这句话"
);
break
;
//若x=1或者x=2,则到这里终止跳出
case
3
:
System.out.println(
"满足条件"
);
//break; break被注释
case
4
:
System.out.println(
"当case 3满足条件但没有break时,继续输出这里"
);
case
5
:
System.out.println(
"语句执行到这还是没遇到break,继续输出"
);
break
;
//执行到这里结束,跳出
default
:
System.out.println(
"默认输出值"
);
}
}
}
总结:switch主要注意点在于表达式支持的数据类型及break的用法。if主要是如果只有一条执行语句,可不用{}。
switch与if的区别:
- switch语句不同于if语句的是switch仅能测试相等的情况,而if语句可计算任何类型的布尔表达式。即switch语句只能寻找case常量间某个值与表达式的值相匹配。
- 在同一个switch语句中没有两个相同的case常量。
- switch语句通常比if语句更有效(除了if分支非常少时,如第一下判断就为true时),当编译一个switch语句时,JAVA编译器将检查每个case常量并创造一个“跳转表”,这个表将用来在表达式值的基础上选择执行路径。因此,如果你需要在一组值中做出选择,switch语句将比与之等效的if-else语句块的多。编译器可以这样做是因为它知道case常量都是同类型的,所要做的只是将它与switch表达式的值比较是否相等。
3.循环语句之for语句
- for语句结构
for(表达式1; 表达式2; 表达式3)
{
循环体;
} - 使用for循环嵌套打印靠边的三角形
1234567891011121314151617181920/*
*
**
***
****
*/
class
ForDemo
{
public
static
void
main(String[] args)
{
for
(
int
x=
0
; x<
4
; x++)
{
for
(
int
y=
0
; y<=x; y++)
{
System.out.print(
"*"
);
}
System.out.println();
}
}
}
- 使用for嵌套打印倒三角形
1234567891011121314151617181920/*
****
***
**
*
*/
class
ForDemo
{
public
static
void
main(String[] args)
{
for
(
int
x=
0
; x<
4
; x++)
{
for
(
int
y=x; y<
4
; y++)
{
System.out.print(
"*"
);
}
System.out.println();
}
}
}
- 使用for嵌套打印正三角形
123456789101112131415161718192021222324252627282930/*
*
* *
* * *
* * * *
* * * * *
思路:
1.上面图形由两个三角形组成,一个是左边由空格组成的尖在下三角形,一个是由“* ”组成的尖在上三角形。
2.打印完左边后再同行上打印右边的三角形,之后换行执行连个三角形的第二行打印
*/
class
ForDemo
{
public
static
void
main(String[] args)
{
for
(
int
x=
0
; x<
5
; x++)
{
//打印左边的空格倒三角形
for
(
int
y=x+
1
; y<
5
; y++)
{
System.out.print(
" "
);
}
//打印右边右*空格组成的尖在上三角形
for
(
int
z=
0
; z<=x; z++)
{
System.out.print(
"* "
);
}
System.out.println();
}
}
}
- 使用for嵌套语句打印九九乘法表
1234567891011121314151617181920212223242526/*
1*1=1
1*2=2 2*2=4
1*3=3 2*3=6 3*3=9
...
思路:
1.被乘数与列相同,定义为y;成熟与行相同,定义为x
2.外循环控制行,内循环控制列
3.视1*1=1为一个个体,个体数随x的变化而变化,最大个数=x,即内循环根据y<=x执行
4.被乘数及乘数最小值都为1,即x与y最小值为1.
5.99乘法表共9行,外循环需执行9次,即外循环x<=9
*/
class
JiuDemo
{
public
static
void
main(String[] args)
{
for
(
int
x=
1
;x<=
9
;x++)
{
for
(
int
y=
1
;y<=x;y++)
{
System.out.print(y+
"*"
+x+
"="
+y*x+
"\t"
);
//\t为制表符
}
System.out.println();
}
}
}
总结:for的执行顺序为 表达式1->表达式2判断->若为true再执行循环体->表达式3->表达式2判断->循环体,知道判断为false停止循环。关于三角形打印的总结,外循环控制行,内循环控制列。
4.while、do while语句
- while语法结构
while (条件表达式)
{
循环体;
} - do while语法结构
do
{
循环体;
}
while(条件表达式); - while语句和do while语句的区别
123456789101112131415161718192021class
WhileDemo
{
public
static
void
main(String[] args)
{
int
x =
3
;
while
( x <
3
)
{
System.out.println(x);
x++;
}
//无结果
System.out.println(
"-------------------"
);
int
y =
3
;
do
{
System.out.println(y);
y++;
}
while
( y <
3
);
//结果为3
}
}
总结:do while,先执行do里面的循环体,再判断条件是否满足,满足则继续循环;而while先判断条件是否满足,满足才执行循环体。
5.最简单的两种死循环
- 最简单的for语句死循环 for(;;){},当条件表达式的默认值为true。
- 最简单的while语句死循环 while(true){}
6.break和continue区别
- break作用范围:选择结构和循环结构
- continue作用范围:循环结构
- continue特点:结束本次循环,继续下次循环。
- break和continue单独存在时,下面不可以有任何语句,因为都执行不到。且要注意他们的作用范围。