Java基础之流程控制

程序流程控制语句主要分为:顺序流程、判断流程、选择流程、重复流程(循环流程)几大类。

一、顺序流程

顺序流程是最简单也是最容易看的一种流程,它是根据代码书写的顺序来从上而下,逐行执行的。

package order;

public class OrderProcess {
	public static void main(String[] args) {
		//定义一个变量,并赋给初始值
		int n=10;
		//输出n
		System.out.println("输出为:"+n);
	}
}
上面就是一段简单的顺序流程代码。

二、判断流程

判断流程主要与if关键字有关,分为单支判断、双支判断、多支判断、嵌套判断这几类。

1、单支判断

格式:if(条件表达式){

                     执行的代码块;

                    }

示例:判断一个数是否大于0.

package process;

public class JudgeProcess {
	 //目的:控制整数在大于0时输出 
	public static void main(String[] args) {
		//定义一个int型变量,并赋初值
		int n=10;
		if(n>0){//判断整数是否大于0
			System.out.println("输出为:"+n);
		}
	}
}

2、双支判断

格式:if(条件表达式){

                     执行的代码块;

                    }else{

 执行的代码块;

                    }

示例:判断奇偶数。

package process;

public class JudgeProcess {
	 //目的:判断一个数是否为奇偶数 
	public static void main(String[] args) {
		//定义一个int型变量,并赋初值
		int n=10;
		if(n%2==1){//判断整数是否为奇数,是则执行if下语句,否则执行else下语句
			System.out.println(n+"是奇数。");
		}else{
			System.out.println(n+"是偶数。");
		}
	}
}

输出为:10是偶数。

3、多支判断

格式:if(条件判断表达式){

        执行的代码块1;

                    }else  if(条件判断表达式){

                 执行的代码块2;

    }

                      ……

                     else{

                    执行的代码块n;

                      }

示例:判断一个字符是大写字母、小写字母、数字还是特殊字符。

package process;

public class JudgeProcess{
	//目的:判断一个字符是大写字母、小写字母、数字还是特殊字符。
	public static void main(String[] args) {
		//定义一个字符并赋值
		char ch='h';
		if(ch>='A'&&ch<='Z'){//判断是否为大写字母
			System.out.println("大写字母");
		}else if(ch>='a'&&ch<='z'){//判断是否为小写字母
			System.out.println("小写字母");
		}else if(ch>='0'&&ch<='9'){//判断是否为数字
			System.out.println("数字");
		}else{
			System.out.println("特殊字符");
		}
	}
}
输出为:小写字母

二、选择流程

格式:switch(条件){

case 匹配值一:执行语句一;

case 匹配值一:执行语句二;

case 匹配值一:执行语句三;

case 匹配值一:执行语句四;

case 匹配值一:执行语句五;

……

default:执行语句n;

   }

程序执行时,会用每一个case匹配条件,如果匹配上了,就会执行后面的语句,直到语句结束。

    语句结束有两种情况:一种是遇到break关键字;另一种是执行到语句结尾(右大括号)。

注:(1)casedefault语句顺序不固定,如果想要语句在default后面就结束,在后面加break关键字;如果default在语句的最后面,break关键字可以省略。

        (2)switch语句中的检测条件,支持的数据类型有:byteshortintcharenum(枚举)(jdk1.5之后)、String(字符串,jdk1.7之后支持)

示例:给定一个月份,判断是什么季节。

//给定一个月份,判断是什么季节。
class Jijie 
{
	public static void main(String[] args) 
	{
		//定义一个整数,并初始化值
		int n=7;
		mouth(n);//调用函数输出给定月份对应的季节
	}
	public static void mouth(int n){		
		switch(n){
			case 3:	
			case 4:
			case 5:
				System.out.println("春季");break;
			case 6:
			case 7:
			case 8:
				System.out.println("夏季");break;
			case 9:
			case 10:
			case 11:
				System.out.println("秋季");break;
			case 12:
			case 1:
			case 2:
				System.out.println("冬季");break;
			default:
				System.out.println("给定的月份有误!");
		
		}
	}
}
输出为:夏季


判断语句和选择语句的区别:(1)判断语句检测的条件都是布尔型的,switch检测的不是;

    (2)判断语句适合用作区域的判断,switch适合用值的匹配;

    (3)判断语句每个if都跟一个条件表达式,都要获取一次值,switch只需获取一次值。

三、重复流程(循环流程)

    所谓的循环,就是用来让一行代码或多行代码重复的执行。java中的循环语句分为三种:分别是while循环、do...while循环、for循环。

1、while循环

    格式:while(条件表达式){      //条件表达式的结果是boolean类型

            重复执行的代码;

            }

    特点:先判断条件表达式是否成立,条件成立(true)则执行while循环体代码;条件不成立,则不执行循环体中的代码。

    循环正常执行的三要素:循环的初始值;循环的上限;循环条件的修改。

示例:输出1-50之间所有的偶数。

class Demo 
{
	//目的:输出1~50之间所有的偶数。
	public static void main(String[] args) 
	{
		//定义一个变量,值为1
		int n=1;
		while(n<=50){//开始循环,循环的上限为小于等于50
			//在循环中判断是否为偶数
			if(n%2==0)
				System.out.print(n+"\t");
			//修改循环条件的值
			n++;
		}
	}
}

结果为:


2、do...while循环

    格式:do{

      //重复执行的代码

}while(条件表达式);

    特点:先执行循环体中的代码,再判断循环条件是否成立。条件满足,继续执行循环体中的代码;条件不满足,不会再执行循环体中的代码(先执行,后判断;循环体中的代码最少会执行一次)

示例:输出1-50之间的所有奇数。

class Demo 
{
	//目的:输出1~50之间所有的奇数。
	public static void main(String[] args) 
	{
		//定义一个变量,值为1
		int n=1;
		do{//开始循环,
			//在循环中判断是否为奇数
			if(n%2==1)
				System.out.print(n+"\t");
			//修改循环条件的值
			n++;
		}while(n<=50);//判断循环条件,循环的上限为小于等于50
	}
}

结果为:


while循环和do..while循环的区别:

(1)while循环属于先判断后执行的循环语句;

(2)do..while循环属于先执行后判断的循环语句,循环体至少执行一次。

3、for循环

格式:for(循环初始值 ;  循环条件 ; 循环条件修改) {

     重复执行的代码;

}

特点:for循环的特点:和while循环一样,属于先判断后执行的循环语句。

执行步骤:(1)先执行循环初始值

    (2)判断循环条件是否成立:成立,执行循环中的代码块;不成立,停止循环。

            (3)循环条件修改完成后,会再次判断循环条件是否成立。

注意:for循环语句中的循环三要素可以省略,但分号不能省略。

示例:输出1~50之间所有整数。

class Demo 
{
	//目的:输出1~50之间所有整数。
	public static void main(String[] args) 
	{
		//开始循环,判断循环条件,一次循环后,将i++,再判断循环条件
		for(int i=0;i<=50;i++){
				System.out.print(i+"\t");
		}
	}
}
结果为:


while循环和for循环:相同:都属于先判断后执行的循环语句。

                                     不同:while循环在循环执行结束之后,循环的初始值还可以继续使用;for循环在循环执行结束之后,循环的初始值不能继续使用。

四、其他控制流程语句——break、continue

break(跳出)语句:应用范围:选择结构和循环结构。

        continue(继续)语句:应用于循环结构。


注:  (1)这两个语句离开应用范围,存在是没有意义的。

        (2)这个两个语句单独存在时,下面都不可以有语句,因为执行不到。

        (3)continue语句是结束本次循环继续下次循环。

        (4)标号的出现,可以让这两个语句作用于指定的范围。只能用于循环结构。









评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值