java if语句 for 循环_java if语句switch语句 for循环语句流程控制实例

java if语句流程控制实例

流程控制

1.顺序结构

顺序结构就是程序从上到下逐行地执行,中间没有任何判断和跳转

如果main方法的多行代码之间没有任何流程控制,则顺序总是从上向下依次执行,排在前面的代码

先执行,排在后面的代码后执行,这意味着,如果没有流程控制,Java方法里语句是一个顺序执行

流,则上向下依次执行每条语句

2.if分支语句

分支结构:

(1).if(logic statement){

statement;

}

(2).if(logic statement){

statement;

}else{

statement;

}

(3)if(logic statement){

statement;

}

eles if(logic statement){

statement;

}

//可以有零个或多个else if语句

else{

statement;

}

public class ifTest{

public static void main(String[] args){

int age=30;

if(age>40){

System.out.println(age+”大于40″);

}

else{

System.out.println(age+”小于40″);

}

}

}

//定义变量c,并为其赋值

int c=5;

if(c>4)

//如果c大于4则执行下面的执行体,将只有c–行代码为执行体

c–;

//下面十一号普通代码,不属于执行体

System.out.println(“c大于4″);

//此处的else将没有if语句,因此编译出错

else

//否则,执行下面的执行体,只要一行代码作为代码块

System.out.println(“c不大于4″);

public class IfErrorTest{

public static void main(String[] args){

int age=30;

if(age>20){

System.out.println(“青年人”);

}

else if(age>40){

System.out.println(“中年人”);

}

else if(age>60){

System.out.println(“老年人”);

}

}

}

//青年人

public class IfErrorTest{

public static void main(String[] args){

int age=30;

if(age>20){

System.out.println(“青年人”);

}

else if(age>40&&(!age>20)){

System.out.println(“中年人”);

}

else if(age>60&&!(age>20)&&(!age>20)&&(!age>40)){

System.out.println(“老年人”);

}

}

}

public class IfCorrectTest{

public static void main(String[] args){

int age=30;

if(age>60){

System.out.println(“老年人”);

}

else if(age>40){

System.out.println(“中年人”);

}

else if(age>20){

System.out.println(“青年人”);

}

}

}

3.switch分支语句

switch语句由一个一个控制表达式和多个case标签组成,和if语句不同的是,switch语句后面的控制表达式

的数据类型只能是short,char,byte,int四种类型,枚举类型和java.lang.String(Java7以后才允许),不能是boolean类型

switch(expression){

case condition:

{

statement(s)

break;

}

case condition:

{

statement(s)

break;

}

case condition:

{

statement(s)

break;

}

default:{

statement(s)

}

}

执行原理:

这种分支语句的执行原理是先对expression求值,然后依次匹配condition1,condition2,…等值,遇到匹配的值

即执行对应的执行体,如果所有case标签后的值都不能与expression表达式的值相同,则执行default标签后的代码块

public class SwitchTest{

public static void main(String[] args){

//声明变量score,并为其赋值为’c’

char score=’c';

//执行switch分支语句

switch(score){

case ‘A’:

System.out.println(“A”);

break;

case ‘B’:

System.out.println(“B”);

break;

case ‘C’:

System.out.println(“C”);

break;

case ‘D’:

System.out.println(“D”);

break;

default:

System.out.println(“default”);

}

}

}

java7增强了switch语句的功能,允许switch语句控制表达式为java.lang.String类型的变量或者表达式

注意。只能是String类型不能是,StringBuffer或者StringBuilder类型

4.while循环

循环语句可以在满足循环条件下,反复执行某一段代码,这段代码被重复执行的代码称为循环体,当反复执行这个循环体的时候,

需要在合适的时候把循环条件改为假,从而结束循环,否则循环将一直执行下去,形成死循环

循环语句可能包含如下4个部分:

(1)初始化语句(init_statement):

一条或者多条语句,这些语句用于完成一些初始化工作,初始化语句在循环开始之前执行

(2)循环条件(test_expression):这是一个boolean表达式,这个表达式能决定是否执行循环体

(3)循环体(body_statement):这个部分是循环主体,如果循环条件允许,这个代码块将被重复执行,如果这个代码

块只有一行语句,则这个代码的花括号可以省略

(4)迭代语句(iterator_statement):这个部分在一次循环体执行结束后,对循环条件求值之前执行,通常用于控制

循环条件中的变量,使得循环在合适的时候结束

init_statement

while(test_expression){

statement;

test_statement;

}

public class WhileTest{

public static void main(Strig[] args){

//循环的初始化条件

int count=0;

//当count小于10时,执行循环体

while(count<10){

System.out.println(count);

//迭代语句

count++;

}

System.out.println(“循环结束”);

}

}

5.do while循环

do while循环与while循环的区别在于:while循环先判断循环条件,如果条件为真则执行循环体,而do while循环

则先执行循环体,然后才判断循环条件,如果循环条件为真,则执行下一次循环,否则终止循环

init_statement;

do{

statement;

[iterator_statement];

}while(test_expression);

public class DoWhileTest{

public static void main(Strig[] args){

//定义变量count

int count=1;

//执行do while循环

do{

System.out.println(count);

//循环迭代语句

count++;

}while(count<10);

System.out.println(“循环结束”);

}

}

即使test_expression循环条件为假do while循环也会执行循环体,因此do while循环的循环体至少执行一次

//定义变量count2

int count2=10;

//执行do while循环

do

//这行代码把循环体和迭代部分合并成一行代码

System.out.println(count2++);

while(count2<10);

System.out.println(“循环结束”);

6.for循环

大部分情况下,for循环可以替代while循环,do while循环

for(init_statement;test_expression;iterator_statement){

statement;

}

程序执行for循环时,先执行循环的初始化语句init_statement,初始化语句只在开始执行一次

每次执行循环体之前,先计算机test_expression循环条件的值,如果循环条件返回true,则执行循环体

,循环体执行后执行循环迭代语句,因此,对于for循环而言,循环条件总比循环体多执行一下,因为最后

一次执行循环条件返回false,将不再执行循环体

注意:

for循环的循环迭代语句并没有与循环体放在一起,因此即使在执行循环体时遇到continue语句结束本次循环

循环迭代语句也一样会得到执行

注意:

for循环和while循环,do while循环不一样,由于while,do while循环的循环迭代语句紧跟这循环体

因此如果循环体不能完全执行,如使用continue语句来执行本次循环,则循环迭代语句不会被执行,但for

循环的循环迭代语句并没有与循环体放在一起,因此不管是否使用continue语句来结束本次循环,循环迭代

语句一样会被执行

//死循环

public class ForErrorTest{}

public static void main(Strig[] args){

//循环的初始化条件,循环条件,循环迭代语句都在下面一行

for(int count=0;count<10;count++){

System.out.println(count);

//再次修改了循环变量

count*=0.1;

}

System.out.println(“循环结束!”);

//死循环

public class DeadForTest{

public static void main(Strig[] args){

//省略for循环的三个部分,循环条件将一直为true

for(;;){

System.out.println(“xxxxxx”);

}

}

}

7.嵌套循环

8.控制循环结构

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值