Java基本语法--程序流程控制

if语句

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

   执行语句

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

执行语句:

} else {

执行语句;

}
public class IfDemo {
	public static void main(String[] args) {
		int x = 3;
		
		if(x>1) {
			System.out.println("yes");
		} else{
			System.out.println("no");
		}
		
		/*
		 if else结构简写格式:变量=(条件表达式)?表达式1:表达式2;
		 
		 三元运算符:
		 	好处:可以简化if else代码
		 	弊端:因为是一个运算符,所以元算万必须要有一个结果。
		 */
		
		int a = 9,b;
		b = (a>1)?100:200;
		
		System.out.println("over");
	}
}

注意:
1、如果if语句中只有一条语句,那么可以不写大括号。
2、如果if语句没写大括号,if就只能控制离它最近的单条语句。
格式三:
if(条件表达式) {

执行语句;

} else if(条件表达式) {

执行语句;

} ......
 else {

执行语句;
}
public class IfTest {
	public static void main(String[] args) {
		
		//根据用户定义的数值不同,打印对应的星期英文。
		
		int num = 2;
		if (num == 1) {
			System.out.println("monday");
		}
		else if(num == 2) {
			System.out.println("tuesday");
		}
		else {
			System.out.println("输入错误");
		}
		
		//根据用户输入的指定月份,打印该月份所属的季节。
		//3,4,5春季  6,7,8夏季  9,10,11秋季  12,1,2冬季
		int x = 7;
		if (x>12 || x<1) {
			System.out.println("没有该月份");
		}
		else if (x>=3 && x<=5) {
			System.out.println(x+"月"+":"+"春季");
		}
		else if (x>=6 && x<=8) {
			System.out.println(x+"月:夏季");
		}
		else if(x>=9 && x<=11) {
			System.out.println(x+"月:秋季");
		}
		else {
			System.out.println(x+"月:冬季");
		}
	}
}

if语句特点:

1、条件表达式后面不能加分号,否则无论表达式为true或者false,都不执行任何语句。
2、第二种格式与三元运算符的区别:三元运算符运算完一定要有值出现。好处是:可以写在其他表达式中。
3、条件表达式无论写成什么样子,只看最终的结构是否是true或者false

switch语句

格式:
switch(表达式) {

case 取值1:
执行语句;
break;

case取值2:
执行语句;
break;

......

default:
执行语句;
break;

}
public class SwitchDemo {
	public static void main(String[] args) {
		int x =8;
		switch (x)		//被选择的表达式的值(x),只接受byte short int char四种类型
		{
			case 4:
				System.out.println("a");
				break;
			case 6:
				System.out.println("b");
				break;
			default:						//case与default之间没有顺序。但是执行的时候先执行case
				System.out.println("no");
											//如果case和default没有对应的break,那么程序会向下执行,运行可以执行的语句,知道遇到break或者switch结尾结束
			case 8:
				System.out.println("c");
				
			case 3:
				System.out.println("d");
				break;
		}
	}
}



switch语句特点:

1、switch语句选择的类型只有四种:byte,short,int,char。
2、case与default没有顺序。先执行第一个case,没有匹配的case执行default。
3、结束switch语句的两种情况:①遇到break,②执行到switch语句结束。
4、如果匹配的case或者default没有对应的break,那么程序会继续向下执行,运行可以执行的语句,直到遇到break或者switch结尾结束。
5、进入switch语句后,执行顺序是先执行case,然后从上到下,最后再执行default。即使default放在case上面,执行顺序也不变。

if和switch语句的应用:

if:
1.对具体的值进行判断。
2.对区间判断。
3.对运算结果是boolean类型的表达式进行判断。
switch:
1.对具体的值进行判断。
2.值的个数通常是固定的。对于几个固定的值判断,建议使用switch语句,因为switch语句会将具体的答案都加载进内存,效率相对高。

循环结构

while,do while循环

格式一:
while(条件表达式) {

执行语句;

}
格式二:
do {

执行语句;
} while(条件表达式);
public class WhileDemo {
	public static void main(String[] args) {
		/*
		 定义初始化表达式:
		 while(条件表达式) {
		 	循环体(执行语句);
		 	}
		 */
		int x = 4;
		while(x<3) {
			System.out.println("x="+x);
			x++;
		}
		
		int y = 4;
		do {
			System.out.println("y="+y);
			y++;
		} while (x<3);
		
		/*
		 while:先判断条件,只有条件满足才执行循环体
		 do while:先执行循环体,在判断条件,条件满足,再继续执行循环体。
		 */
	}
}

for循环

格式
for(初始化表达式;循环条件表达式;循环后的操作表达式) {

执行语句;(循环体)

}
public class ForDemo {
	public static void main(String[] args) {
		
		 
		
		for(int x = 0; x<3 ; x++) {
			System.out.println("x="+x);
		}
		
		int y = 0;
		while(y<3) {
			System.out.println("y="+y);
			y++;
		}
		
		/*
		 变量有自己的作用域,对于for来讲,如果将用于控制循环的增量定义在for语句中。那么该变量只在for语句内有效
		for语句执行完毕,该变量在内存中被释放。
		for和while可以进行互换,如果需要定义循环增量,用for更为合适。
		
		当要对某些语句执行很多次时,就使用循环结构。
		 */
		
	}
}
注意:
1、while与for可以互换,区别在于for为了循环而定义的变量在for循环结束就在内存中释放,而while循环使用的变量在循环结束后还可以继续使用。
2、一定要注意不要写while(x<3);这样的语句,后面的分号就是循环体,代表不执行任何语句,这个循环就成了一个死循环。
3、最简单无限循环格式:while(true),for(;;),无限循环存在的原因是并不知道循环多少次,而是根据某些条件,来控制循环。
4、在使用循环时候,一定要明确哪些语句需要参与循环,哪些不需要。循环通常情况下,需要定义条件,需要控制次数。

for嵌套循环

语句嵌套形式,其实就是语句中还有语句。循环嵌套
public class ForForDemo {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		for(int x = 0; x<3 ; x++) {  //打印矩形,控制矩形的行数
			for(int y = 0; y<4 ; y++) {  //控制矩形每一列的个数
				System.out.print("*");
			}
			System.out.println();
		}
		
		
		for(int a = 0; a < 5 ; a++) {
			for(int b = 5; b > a ; b--) {
				System.out.print("*");
			}
			System.out.println();
		}
		
		for(int m = 0; m < 5 ; m++) {
			for(int n = 0; n < m+1 ; n++) {
				System.out.print("*");
			}
			System.out.println();
		}
	}

}
其他流程控制语句
break(跳出) :
应用范围:选择结构和循环结构。
continue(继续):
应用范围:循环结构。
continue语句是结束本次循环继续下次循环。











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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值