第四周内容总结

这篇博客总结了Java编程中的流程控制语句,包括if...else...与三元运算的区别,深入探讨了switch语句的使用,强调了循环结构如for、while和do...while,并讲解了break、continue和return的跳转控制。此外,还介绍了方法的定义与调用、数组的运用,包括冒泡排序和内存分配。最后,讨论了面向对象的基本概念,如类、对象、封装和面向对象的特性。
摘要由CSDN通过智能技术生成

1.if…else…和三元运算的区别

共同点

都是针对两种情况进行判断,都有表达式;

不同点

	if...else..流程控制语句,范围很大,不仅可以操作数据值,还可以操作输出语句去完成逻辑判断;而三元运算符仅仅是运算符,操作两个具体的数据值;
	三元运算符能实现的一定能使用if...else...流程语句
	if...else...流程语句能实现的,不一定能使用三元!

2.if…else…嵌套

使用键盘录入数据,录入三个数据,求三个数据中的最大值?
	
	
	if....else....一种嵌套   (不推荐,知道可以实现解决一些问题)
	if(表达式1){
		if(表达式2){
			语句1;
		}else{
			语句2;
		}
	}else{
		if(表达式3){
			语句3;
		}else{
			语句4;
		}
		
	}
	

一、流程控制语句

1.流程控制语句之switch(考点很多)

选择结构之switch

	switch(变量名){
	case 值1:
		语句1;
		break ;
	case 值2;	
		语句2;
		break ;
	....
	....
	....
	default:
		语句n;
		break ;
	}
	

执行流程

	switch后面的变量需要和case进行匹配,case 值1:成立,执行语句1,
遇见break,switch语句结束;
	如果不匹配,继续执行case 值2:成立,执行语句2,break结束

面试题之-----switch语句后面的变量名可以是什么样的数据类型

switch语句后面的这个变量名可以是什么样的数据类型呢?
		本身能够跟的基本数据类型:byte,short,char,int
		Jdk5以后可以是枚举(引用类型) enum
		JDK7以后可以跟String类型

switch语句的注意事项

1)case语句后面只能是常量(在Java类语言中)
2)在case语句里面,一旦匹配成功,一定要书写break;否则会造成case穿透,case匹配成功了,就会执行里面的语句,遇见break语句结束;
3)switch中的default语句可以在语句中的任何位置,不影响语句的执行流程
	正常的格式,在语句末尾,break可以是省略的;
	如果在语句中,break带上,否则case穿透了 (考点)
4)switch语句的结束条件:
			第一种情况,就是语句break结束; case语句后面的break或者default语句的break
			第二种情况,就是语句默认执行到末尾结束!

例题


/*
	键盘录入一个月份的值,判断季节
			3,4,5  春季
			6,7,8  夏季
			9,10,11 秋季
			12,1,2 冬季
*/
//导包
import java.util.Scanner ;
class SwitchTest2{
   
	
	public static void main(String[] args){
   
		
		//创建键盘录入对象
		Scanner sc = new Scanner(System.in) ;
		
		//提示并录入数据
		System.out.println("请输入一个月份的值:") ;
		int month = sc.nextInt() ;
		
		//方式1:if...else if...else
		/*
		if(month <=0 || month>12){
			System.out.println("录入的是非法数据!") ;
			//可以写范围,可以使用||的关系去完成!
		}else if(month == 3 ||  month==4 || month == 5){
			System.out.println("春季") ;	
		}else if(month == 6 || month ==7 || month == 8){
			System.out.println("夏季") ;
		}else if(month == 9 || month ==  10 || month ==11){
			System.out.println("秋季") ;
		}else{
			System.out.println("冬季") ;
		}
		*/
		
		
		//方式2:使用switch语句完成
		
		//使用switch的基本格式完成
		/*
		switch(month){
		case 3:
			System.out.println("春季") ;
			break ;
		case 4:
			System.out.println("春季") ;
			break ;
		case 5:
			System.out.println("春季") ;
			break ;
		case 6:
			System.out.println("夏季") ;
			break ;
		case 7:
			System.out.println("夏季") ;
			break ;
		case 8:
	
			System.out.println("夏季") ;
			break ;
		case 9:
			System.out.println("秋季") ;
			break ;
		case 10:
			System.out.println("秋季") ;
			break ;		
	
		case 11:
			System.out.println("秋季") ;
			break ;
		case 1:
			System.out.println("冬季") ;
			break ;		
		case 2:
			System.out.println("冬季") ;
			break ;	
		case 12:
			System.out.println("冬季") ;
			break ;	
		default:
			System.out.println("对不起,地球没有该月份") ;
			break ;	
			
		}
		*/
		
		//利用switch的case穿透
		
		switch(month){
   
		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 1:
		case 2:
		case 12:
			System.out.println("冬季") ;
			break ;
		default:
			System.out.println("对不起,地球没有该月份!") ;
			break ;
			
		}

使用switch语句来模拟“单选选择题”

键盘录入的时候,不能录入字符类型的 (可以使用录入String类型) ,
switch(变量名):jdk7以后跟String,但是想办法将录入的数据---转换成char类型
	本身能够跟的类型 byte short,int,char
	单项选择题	   ---- 也可以使用键盘录入对象名.nextLine()--->录入字符串
			A  B   C   D
分析:
		1)模拟一个选择题出阿里
			 65 xxx
			 66 xxx
			 67 xxx
			 68 XXX
		2)键盘录入int类型
		3)将int类型数据 ----强转类型转换char类型 ,65--->'A'
		
		4)使用switch(字符类型){
			
			case 'A':
				语句1;
				break;
			case 'B':
				语句2;
				break ;
			

例题

import java.util.Scanner ;
class SwitchTest3{
   
	public static void main(String[] args){
   
		//1)模拟一个选择题
		System.out.println("杨哥喜欢的女明星?") ;
		System.out.println("65 刘亦菲") ;
		System.out.println("66 高圆圆") ;
		System.out.println("67 张佳宁") ;
		System.out.println("68 孙俪") ;
		/*
		System.out.println("A 刘亦菲") ;
		System.out.println("B 高圆圆") ;
		System.out.println("C 张佳宁") ;
		System.out.println("D 孙俪") ;
		*/
		
		//2)创建键盘录入对象,录入int类型数据
		Scanner sc = new Scanner(System.in) ;
		//提示录入
		System.out.println("请输入您的选择:") ;
		int choice = sc.nextInt() ;
		//String choiceStr = sc.nextLine() ;
		
		//3)将choice变量----转换成char类型
		char choiceNum = (char)choice ;
		
		//4)使用switch来接收choiceNum,case语句里面可以使用'A','B'进行匹配
		switch(choiceStr){
   
		//case "A":
		case 'A'
				System.out.println("对不起,答案错误!") ;
				break ;
		//case "B":
		case 'B'
				System.out.println("恭喜您,答案正确!") ;
				break ;
		//case "C":
		case 'C'
				System.out.println("对不起,答案错误!") ;
				break ;
		//case "D":
		case 'D':
				System.out.println("对不起,答案错误!") ;
				break ;		
		}
		
	}
}

2.循环结构语句(重点去会使用)

for循环格式

		当需求中有这种循环的思想,就需要使用循环语句去实现
		for循环格式
		
			for(初始化语句;条件表达式;控制体语句){
				
					//实际开发中,此处需要去完成一些逻辑判断
					循环体语句;
			}
			
	执行流程:
		1)初始化语句,对变量进行赋值,
		2)条件表达式判断结果是否成立,成立,则执行循环体语句,进行控制体语句++或者--
		3)继续判断条件表达式是否成立,成立,继续上面这种操作...
		...
		...
		如果控制体语句造成了条件表达式不成立,语句结束!
		
需求:输出10次"helloworld"

	class Demo{
		public static void main(String[] args){
		//for(初始化语句;条件表达式;控制体语句){
					//循环体语句;
			//}
			
		for(int x = 1 ; x <=10;x++){//x=1,1<=10,x++,2<=10,继续循环体
			//循环体语句;

			System.out.println("helloworld") ; 
			
		}

求和思想

/*	
	需求:
	
		1)在控制台上输出1-10的数据
		2)求1-10之间的和 (求和思想或者求阶乘思想一致)	
	分析:												 
		a)需要定义最终结果变量 int sum = 0 ;从0开始			
		b)for循环:  1-10之间的和: 1-10到的数据范围明确了(使用for)  变量x
				sum  = sum + x ;
				或者sum += x ;
				
		c)输出最终结果变量即可;			
*/
class ForDemo{
   
	public static void main(String[] args){
   
		
		//1)在控制台上输出1-10的数据
		//原始做法:
		System.out.println(1) ;
		System.out.println(2) ;
		System.out.println(3) ;
		
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值