您的位置:首页 > 编程语言 > Java开发

Java基础之流程控制

2015-07-20 23:12 411 查看
程序流程控制语句主要分为:顺序流程、判断流程、选择流程、重复流程(循环流程)几大类。

一、顺序流程

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

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)case和default语句顺序不固定,如果想要语句在default后面就结束,在后面加break关键字;如果default在语句的最后面,break关键字可以省略。

        (2)switch语句中的检测条件,支持的数据类型有:byte、short、int、char、enum(枚举)(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)标号的出现,可以让这两个语句作用于指定的范围。只能用于循环结构。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: