流程控制语句

流程控制语句

三大类:
	1)顺序结构语句
	2)选择结构语句
	3)循环结构语句
	
	
跳转控制语句
break;
continue;
return:

顺序结构语句

main方法:需要被jvm调用
	进入main方法
		代码由上而下依次进行加载

选择结构语句(if/switch)

选择结构语句之if:
		有三种格式:
			1)if(表达式){语句;}    //有分号的地方不能有左大括号   应用场景:对一个条件进行判断,成立则进来执行,不成立则不执行
			2)if(表达式){语句1;}else{语句2;}   //针对两种情况进行判断   
			3)if(表达式1){语句1;}else if(表达式2){语句2;}....else {语句n;}
			
			
注意事项:if else  既可以对数据直接操作 也可以操作语句  而三元运算符只能操作数据 相对来来说前者的范围更大一些 

//测试程序 
测试:非法数据
	正确数据
	边界数据
	

导包的快捷键:alt+enter 
面试题:switch后面的表达式可以是什么样的数据类型?
最基本的:byte short int char
JDK5以后可以是枚举类型
JDK7以后可以是string类型
在Java中 case后面只能跟常量
 
switch语句中的注意事项:
1)case语句的后面只能是常量,不能是变量.
2)关于break的意思:结束中断
	switch语句的结束条件
	1)遇见break结束!
	2)默认执行到末尾!
	3)default 语句可以放在switch中的任意位置(即不放在语句末尾);必须要跟上break,如果在语句末尾,则可以省略 
	4)如果default不在语句末尾,则不能省略break,因为省略会造成case穿透
面试题	
	int x=3;
	int y=4;
	switch (x){
	default:
	y++;
	case 3:
	y++;      //5
	case 5:
	y++;      //6
	}
	问y的值是多少?(注意有case匹配则不会执行default!)
	
键盘录入数据,模拟一个单项选择题
快捷键:
	Ctrl +d---复制
	ctrl+x-----删除行
	ctrl+shift+/:添加多行注释  取消多行注释就是再按一次
	Ctrl+/添加单行注释  取消就是再按一次
	改类名 改包名:shift+f6
	
键盘录入是可以录入字符串类型的(无法录入char类型)
public String nextLine():正式用法System.out.prinyln(请您输入字符串数据);
String str=sc.nextLine();
"100"   //并不是整数,而是数字字符串

关于键盘录入中的细节
1)分别录入两个int类型,输出
2)分别录入两个String 类型(字符串类型),输出
3)先录入String类型,再录入int类型
4)先录入int类型,在录入String类型,会把String类型数据丢掉(原因是先录入int---按回车符号-----把回车看做了字符串 ---直接录入)

case穿透也可以利用达到某些功能....

!!!在src 上创建类名时,前面加上包名,它会直接将包名和类名都创建好

循环语句的使用
for循环
while循环
do while 循环

for循环的格式
	for(初始化语句;条件判断语句;步长语句){
	循环体语句;
	}
	流程:先执行初始化语句赋值,接着进行判断,在执行步长语句,在进行判断,接着执行步长,循环直到条件不成立结束循环.
统计思想
需求:统计所有的水仙花数有多少个?
1)定义一个统计变量:从0开始
每循环一次,就执行一次统计即++即可 
while循环的格式
	基本格式
	while(条件表达式){
	循环体语句;
	步长语句;
	}
流程:判断条件是否成立,成立则执行循环体,在执行步长语句;直到条件不成立循环结束.
面试题:
	whilefor的区别
	1)格式不同
	2)从内存角度考虑
		for循环的格式:for循环语句外面不能够访问变量的,循环结后,里面的变量会被GC(Java中的垃圾回收器)回收
		while循环的扩展格式:循环结束,依然可以访问变量,在内从中占用空间
		所以推荐使用for循环
	3)如果知道循环次数,推荐使用for循环
	

在程序中出现的死循环(在循环的过程中,没有控制语句):
需求:键盘不断录入数据,玩猜数字小游戏(1~100之间)
Java中的类-----Math:针对数学运算的常用类,

for(;;){
System.out.prinyln("这是一个死循环");
}

while(true){
System.out.println("我来了");   //使用死循环进行键盘不断录入,推荐使用while死循环

}

Java.lang.Math:
	内置的方法
		public static double random():获取一个随机数 0.0~1.0之间且取不到1.0
		double d=Math.random();
		int num=(int)Math.random()*100+1;  //取不到100,所以+1
		
break:switch 语句中;循环语句中;


do while 循环
	格式
		初始化语句;
		do{
		循环体语句;
		步长语句;
		}while(条件语句);
		
唯一的区别:循环体至少出现一次;即使条件不成立
		
		
for 循环的嵌套
	for(初始化语句;条件表达式;步长语句){
	for(初始化语句;条件表达式;步长语句){
	循环体语句;
	}
	}
	
应用场景:
	需求:
		控制台输出*(45)
			使用for循环的嵌套,外层循环控制行数,内层循环控制列数
			
	需求:
		控制台输出*(45)
			第一行输出一颗*
			第二行输出2*
			第四行输出4*
			
		
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值