Java面向对象,数组,方法

Java 方法,数组,面向对象

方法

1 知识点:静态方法

	理解:特定功能的代码块
	好处:解决代码的冗余
	语法结构:
		访问修饰符 static 返回值类型 方法名([参数列表]){
			...代码块...
		}
	分类:
		无参数无返回值的方法
		带参数的方法
		带返回值的方法

2 知识点:静态方法 – 无参数无返回值的方法

语法结构:
	public static void 方法名(){
		...代码块
	}
	
注意:
	1.public是访问修饰符的一种,表示公有的
	2.void表示无返回值(关键字)
	3.方法在类中声明
	4.方法与方法之间是平级关系
	5.方法没被调用,就是个摆设	

3 知识点:静态方法 – 带参数的方法

	语法结构:
		public static void 方法名(参数列表){
			...代码块...
		}
		
	注意:
		1.形式参数/形参:声明方法时规定的参数
		2.形参必须声明类型
		3.形参属于该方法的变量,作用域就在该方法内,形参也是局部变量
		4.局部变量:方法里声明的变量
		5.实际参数/实参:调用方法时传入的数据
		6.实参和形参的类型必须兼容
		7.实参和形参可以有多个,用逗号分割

4 知识点:静态方法 – 带返回值的方法

	语法结构:
		public static 返回值类型 方法名([参数列表]){
			...代码块...
			return 数据;//1.结束当前方法 2.将数据返回给调用方
		}
		
	注意:
		1.带返回值的方法有没有参数要看具体需求
		2.声明方法时需要设置返回值类型
		3.return后接的是需要返回的具体数据
		4.方法功能单一性(一个方法的功能不要过于强大)
		5.方法声明时规定的返回值类型 和 return后的数据 必须兼容
		6.返回值只能有一个,如果想返回多个值就必须使用数组、集合、....

5 知识点:方法的重载

	概念:方法之间的关系
	条件:
		1.在同一个类中
		2.方法名必须一致
		3.参数列表的个数或者类型不一致
		4.与返回值无关
	好处:系统会根据实参类型自动匹配到对应的方法中
	应用场景:在同一个类中,多个方法功能大概一致,但是细节实现不一致,就可以考虑使用重载

6 知识点:方法的递归

	含义:方法调用方法自身
	注意:递归是一种程序设计的思想
	经验:
		1.找规律:什么情况下方法应该调用方法自身
		2.找出口:什么情况下应该解决该方法
	
	需求:设计一个方法,传入一个int值n,求n的阶乘
	分析:
		5! = 1*2*3*4*5 	-> 5! = 4! * 5
		4! = 1*2*3*4	-> 4! = 3! * 4
		3! = 1*2*3		-> 3! = 2! * 3
		2! = 1*2		-> 2! = 1! * 2
		1! = 1			-> 1! = 1
		找规律:n! = (n-1)! * n
		找出口:1! = 1

4 知识点: Java的引用数据类型

数组

接口
枚举
知识点:一维数组
理解:一组数据的容器
声明:
数据类型[] 数组名;
数据类型 数组名[];
概念:
1.数组是引用数据类型
2.数组中的数据也叫做元素
3.元素都是编号也叫做下标/索引
4.下标从0开始
5.数组元素在内存中开辟的空间是连续的
6.数组一旦初始化成功,长度不可变(意味着数组不能添加和删除)

数组的初始化:
	静态初始化:元素由程序员指定,长度由系统分配
	动态初始化:长度由程序员指定,元素由系统分配

5 知识点:一维数组

理解:一组数据的容器
声明:
数据类型[] 数组名;
数据类型 数组名[];
概念:
1.数组是引用数据类型
2.数组中的数据也叫做元素
3.元素都是编号也叫做下标/索引
4.下标从0开始
5.数组元素在内存中开辟的空间是连续的
6.数组一旦初始化成功,长度不可变(意味着数组不能添加和删除)
数组的初始化:
静态初始化:元素由程序员指定,长度由系统分配
动态初始化:长度由程序员指定,元素由系统分配
整数类型默认值:0
浮点类型默认值:0.0
字符类型默认值:’ ’
布尔类型默认值:false
引用类型默认值:null(空)

一维数组的案例
创建一个int类型的数组,长度由用户指定,数据由用户输入,输入完毕后获取最大值并输出
*/
public static void main(String[] args){

Scanner scan = new Scanner(System.in);
System.out.println("请输入数组长度:");
int len = scan.nextInt();

int[] arr = new int[len];

for(int i = 0;i<arr.length;i++){
	System.out.println("请输入第" + (i+1) + "个元素:");
	int num = scan.nextInt();
	arr[i] = num;
}

//假设下标为0的位置上的元素为最大值
int max = arr[0];
for(int i = 1;i<arr.length;i++){
	if(max < arr[i]){
		max = arr[i];
	}
}

System.out.println("最大值为:" + max);

/**
	小结:
		初始化时只知道元素,就使用静态初始化
		初始化时只知道长度,就使用动态初始化
		int类型的数组为引用数据类型,数组中的元素是基本数据类型
*/
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值