Java流程控制

1. if..else语句

基本语法:

		if(布尔表达式)
		{
			程序代码
		}
		else
		{
			程序代码
		}

注意:布尔表达式不能为数字类型,和C/C++不同,如if(0) 或if(1)是非法的

import java.util.Scanner;
public class isLeapYear
{
	/**
	 * 判断是否为闰年
	 */
	public boolean isLeap(int year)
	{
		boolean istrue;
		if (year % 400 == 0 || (year % 4 == 0 && year % 100 != 0))
			istrue = true;
		else
			istrue = false;

		return istrue;
	}

	public static void main(String[] args)
	{
		System.out.println("Please enter your year:");
		Scanner sc = new Scanner(System.in);
		int year = sc.nextInt();
		isLeapYear a = new isLeapYear();
		System.out.println(a.isLeap(year));

	}

}


2.switch语句

基本语法:

switch(expr)
{
case value1:
	statements;
	break;
case value2:
	statements;
	break;
default:
	statements;
	break;
}
注意:

(1)expr表达式类型必须是可以自动转换为int的基本类型,所以合法类型只能是byte、short、char、int

(2)valueN 除了必须是上述合法类型外还必须只能是常量且各个case子句中的valueN表达式值不同

(3)在switch语句中最多只能有一个default子句,当expr表达式值不与任何case子句匹配时,程序执行default子句,如果没有default子句程序直接退出switch语句

 (4)在决定流程分支的条件表达式的类型与int类型兼容,则使用switch语句更简洁,可读性更强,而if..else语句功能比switch语句功能更强大,能灵活控制各种复杂流程分支

                int input=0;
		switch(input)
		{
		case 0:
			System.out.println("input值等于0");
			//注意当前没有break;
		case 1:
			System.out.println("input值等于1");
			break;//执行到这里才退出	
		default:
			System.out.println("input值没有匹配的");
		}


3. while语句

基本语法:

while(循环条件)//当循环条件的布尔表达式的值为true时重复执行循环否则终止循环
{
程序代码
}

 注意: 

(1)循环条件包含多条语句,必须将其放在大括号内,若只有一条则不必

(2)while语句循环一开始就计算循环条件表达式,若开始值false则1次也不执行

(3)循环体可以为空,语法上是合法的

(4)确保提供终止循环条件,避免死循环

		//初始化
		int a=1;
		int b=2;
		System.out.println("while不需要加大括号");
		while(a<b)//不需要加大括号
		{
			System.out.println(a);
			a++;
		}
		
		//初始化
	    a=1;
	    b=2;
		System.out.println("while需要加大括号");
		while((a<2 && b>0))//加大括号
		{
			System.out.println(a+"  "+b);
			a++;
			b--;
		}
		
		//初始化
	    a=1;
	    b=2;
		System.out.println("while死循环");
		while(a<b)
		{
			System.out.println(a+"  "+b);
			a++;//注释掉这句会死循环
		}

		//循环体为空
		System.out.println("while循环体为空");
		while(++a<b);//注意这里的;号
		System.out.println(a+"  "+b);

4.do..while语句

基本语法:

do
{
程序代码
}while(循环条件)
注意:循环条件先执行再判断,任何情况下至少执行一次,即使条件开始就为false

		// 初始化
		int a = 1;
		int b = 2;

		do
		{
			System.out.println(a);
		} while (b < a);

5. for语句

基本语法:

		for(初始化部分;循环条件;迭代部分)
        {
            循环体
        }
执行顺序,初始化部分->判断循环条件->执行循环体->迭代部分

如果循环条件的布尔表达式值为false则退出for语句,否则依照上述执行顺序,如

		for (int a = 0, b = 0; a < 2; b = ++a, System.out.println("b "+ b))
			System.out.println("a " + a);


JDK1.5以后加入了foreach语句其格式如下:

	for(元素类型 元素变量:遍历对象)
	{
	     引用了变量的java语句;
	}
注意: foreach不是关键字,而是将这种特殊的for语句格式称之为“foreach”语句
		String arr[] = {"hello","world","我是=  =!"}; 
		for (String x : arr) 
		System.out.println(x); 

6. 流程跳转语句

break:从switch语句、循环语句的代码块退出

		int a = 1;
		while (true)
		{

			if (a > 5)
				break;// 退出循环

			System.out.println(a);
			a++;

		}

continue:跳过本次循环,执行下一次循环

		int a = 1;
		while (true)
		{

			if (a > 5)
				break;// 退出循环

			if (3 == a)
			{
				a++;
				continue;//跳出本次循环
			}

			System.out.println(a);
			a++;

		}

return:退出本方法,跳到上层调用方法,如果本方法的返回类型不是void就需要提供返回值
	public int method(int x)
	{
		if(x>0)return 1;
		if(x==0)return 0;
		return -1;
	}


参考文献:

                   Java从入门到精通  高宏静

                   Java面向对象编程  孙卫琴


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值