您的位置:首页 > 其它

流程控制语句详解

2018-01-08 20:28 148 查看

一.语句

1.使用分号分隔的代码就称作为一条语句,语句是否结束是以分号为标准的。

2.没有写任何代码,只是一个分号的时候,也是一条语句,称作空语句。

二.顺序语句

1.按照代码顺序从上往下执行所有的代码就是顺序语句。

三.if(判断语句)

1.if判断语句的格式:

(1)格式一:适用于只有一种情况的时候使用

if(判断的条件){
符合条件执行的代码;
}

(2)格式二:适用于两种情况下去使用

if(判断条件){
符合条件执行的代码;
}else{
不符合条件执行的代码;
}

(3)格式三:适用于多种情况下去使用

if(判断条件1){
符合条件1执行的代码
}else if(判断条件2){
符合条件2执行的代码
}else if(判断条件3){
符合条件3执行的代码
}......else{
都不符合上述 的条件执行的代码
}

2.if语句要注意的细节:

(1)如果符合条件后只有一个语句需要执行,那么可以省略大括号。但是建议不要省略,因为结构不清晰。

(2)if语句的判断条件后不能添加分号,否则会影响到执行的效果。

3.if else语句有点类似于三元运算符,其实三元运算符是if else的一种简写格式。

4.if语句常见的错误:

(1)忘记必要的括号:

如果代码块中只有一条语句的时候,可以省略花括号,但是当花括号将多条语句括在一起时,花括号就不能再省略。

(2)if语句后出现分号

double radius = 0;
double area;
if(radius > 0);{
area = radius*radius*3.14;
System.out.println("The area"+"is"+area);
}

注意:这是一个逻辑错误,编译和运行都不会报错,只是不会出现想要的结果。相当于判断符合条件后,执行一个空语句。(分号代表一条语句,什么都不写就是一条空语句)

double radius = 0;
double area;
if(radius > 0){}{
area = radius*radius*3.14;
System.out.println("The area"+"is"+area);
}

5.实例:

if语句只会选择条件最先成立的那条路,所以下述实例只会打印出一句hello.

class Demo1{
public static void main(String[] args){
int num = 50;
if(num > 10){
System.out.println("hello");
}else if(num > 20){
System.out.println("world");
}else if(num > 30){
System.out.println("TYUT");
}else{
System.out.println("HaHa");
}
}
}

运行结果如下图所示:



四.switch(选择判断语句)

1.switch语句的格式:

switch(option你的选择){

case 值1:
符合值1执行的代码;
break;
case 值2:
符合值 2执行的代码;
break;
case 值3:
符合值 3执行的代码;
break;
case 值4:
符合值 4执行的代码;
break;
......
default:
你的选择都不符合上述的选项时执行的代码;
}

2.switch语句要注意的事项:

(1)switch语句使用的变量只能是byte、char、short、int、String数据类型。String数据类型是从jdk7.0的时候才开始支持的。

(2)case后面跟的数据必须是一个常量。

(3)在switch语句中,case与default之间没有先后顺序,不管代码的顺序如何,永远都是会先判断case语句,然后没有符合的情况下才会去执行default语句。

(4)switch语句停止的条件是遇到了break关键字或者是结束switch语句的大括号。

(5)如果匹配的case或者default没有对应的break,那么程序会继续向下执行,运行可以执行的语句,直到遇到break或者switch结尾结束。

注意:此处的程序继续向下执行,指的并不是从程序的开头执行,而是按照代码的顺序从这个语句开始从上往下执行所有的代码,直到遇到break或者是结束switch语句的大括号为止。

3.switch语句的优缺点:

(1)优点:switch语句的结构清晰。

(2)缺点:如果判断的条件是一个区间范围,那么使用switch操作就非常的麻烦了。

注意:

(1)if--else if--else if--else语句与switch语句非常的相似。

(2)case后跟的是冒号:。

(3)每个case中的执行语句后一定要加上break;。

(4)case就像选择题的答案之一。break就是如果该答案正确那么就可以跳出switch了,意思就是说已经找出了正确的答案了,那么这道题也就做完了。如果case没有匹配接着进行下一个case匹配,直到匹配为止。最后如果都没有匹配上,那么switch给提供了一个默认的答案,就是default。

五.while循环语句

1.while语句格式:

while(循环的条件){
循环语句;
}

2.while循环语句要注意的事项:

(1)while循环语句一般是通过一个变量控制其循环的次数。

(2)while循环语句的循环体代码如果只有一个语句的时候,那么可以省略大括号。但是也是不建议省略。

(3)while循环语句的判断条件后面不能跟有分号,否则会影响到执行效果。

3.实例:

(1)实例1:

在控制台上打印5句hello world。

class Demo3{
public static void main(String[] args){
int count = 0;
while(count < 5){
System.out.println("Hello world!");
count++;
}
}
}

注意:count++在输出语句的上面或者下面结果都是一样的,因为都是先判断再+1。

(2)实例2:

class Demo3{
public static void main(String[] args){
int x = 0;
while(x < 5){
System.out.println("Hello world!");
}
}
}

上述代码如果是在dos里编译和运行,是不会停止的,除非系统死机,这是死循环,因为x < 5永远为真。

(3)实例3:

class Demo3{
public static void main(String[] args){
int count = 0;
while(count < 5);{
System.out.println("Hello world!");
}
}
}

上述代码编译运行后,里面的输出语句不会执行,因为while(count < 5);,分号相当于空语句,到分号为止while循环语句已经结束,相当于while(count < 5){ },是一个死循环,因为变量永远是0,执行了空代码。

(4)实例4:打印出1-100之间的奇数。

方式一:

class Demo4{
public static void main(String[] args){
int x = 1;
while(x < 100){
System.out.println(x);
x = x+2;
}
}
}

方式二:

class Demo5{
public static void main(String[] args){
int x = 1;
while(x < 100){
if(x%2 != 0){
System.out.println(x);
}
x++;
}
System.out.println();
}
}

(5)实例5:计算1+2+3+……+100的总和

class Demo5{
public static void main(String[] args){
int num = 1;
int sum = 0;	//定义一个变量用于保存每次相加的结果
while(num <= 100){
sum += num;
num++;
}
System.out.println("sum = "+ sum);
}
}

运行结果如下图所示:



六.do while循环语句

1.现实开发中很少用,主要还是用while,因为while语句更符合人的正常思维逻辑。

2.格式:

do{

}while(判断条件);

3.while循环语句与do-while循环语句的区别:

while循环语句是先判断后执行循环语句的;do-while循环语句是先执行,后判断,不管条件是否满足至少会执行一次。

注意:do-while循环语句中不管条件是否满足至少会执行一次,但是它的判断条件不受这句话的影响,也就是说不管是用while还是do-while,他们的判断条件都是一样的,如果while是count<5,那么换成do-while它的判断条件还是count<5。

4.实例:

(1)实例1:使用do-while循环在控制台上打印5句hello world。

class Demo6{
public static void main(String[] args){
int count = 0;
do
{
System.out.println("Hello world");
count++;
}while(count<5);	//切记不要忘记加分号。
}
}

运行结果如下图所示:



(2)实例2:使用do-while循环语句算出1-100之间偶数的总和。

class Demo7{
public static void main(String[] args)
{
int num = 1;
int sum = 0;	//定义一个变量用于保存每次相加的总和
do{
if(num%2==0){
sum += num;
}
num++;
}while(num<101);

System.out.println("sum = "+ sum);
}
}

运行结果如下图所示:




七.for循环语句

1.for循环语句的格式:

for(初始化语句;判断语句;循环后的语句){
循环语句;
}

2.for循环语句要注意的事项:

(1)for( ; ; )这种写法是一个死循环语句,相当于while(true);for循环括号中的两个分号不能省略,省略一个就会报错。

(2)for循环语句的初始化语句只会执行一次,只是在第一次循环的时候执行而已。

(3)for循环语句的循环体语句只有一句的时候,可以省略大括号不写,但是不建议省略。

(4)以后在开发中如果看到二维图形一定是两层for循环,先进行纵向分析,外层循环控制纵向,分析有多少行;再进行横向分析,内层循环控制横向,分析有多少列。

3.for循环语句的执行流程:

class Demo7{
public static void main(String[] args) {
for (int x = 0; x < 5; x++) {
System.out.println("hello java");
}
}
}

执行for 循环,当读到x=0 的时候,在内存中开辟了空间,定义变量x 赋值为0。接着进行条件判断 x<5,为真,这个时候对满足条件后执行了循环体的内容System.out.println("hello java");当循环体执行完毕之后,执行x < 5;后的表达式即 x++ 。x自增后变为了1 ,再次进行判断 x<5 (int x=0 只执行一次),如果为真就再次运行System.out.println("hello
java");如果为假,for循环结束。



4.实例:

(1)实例1:使用for循环语句在控制台上打印出5句hello world

class Demo8{
public static void main(String[] args){
for(int count = 0;count<5;count++){
System.out.println("Hello world");
}
}
}

运行结果如下图所示:

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  流程控制语句