第二周总结

第五章 方法及其调用

方法:用{}将代码块包起来,可以实现某一具体功能

两个明确
1)明确返回值类型:int
2)明确参数类型以及参数个数

5.1 方法的定义

1)有具体返回值类型方法的定义

​ 格式:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-D0mJOF9g-1626509749415)(D:\QF_workspace\周总结\第二周总结.assets\image-20210717094844762.png)]

2)没有具体返回值类型的方法的定义

​ 没有具体返回值,用void代替没有返回值类型
​ 格式:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-tTvlfpoY-1626509749418)(D:\QF_workspace\周总结\第二周总结.assets\p2.png)]

5.2 方法的调用

a. 有具体返回值类型的方法的调用:
1)单独调用(不用它)
2)输出调用:不建议
3)赋值调用:推荐

   //赋值调用
		int result = sum(a,b) ;
		System.out.println(result) ;

b. 没有具体返回值类型的方法调用:
1)单独调用:只能单独调用
2)输出调用:不行
3)赋值调用:不行

	//单独调用
	printStar(m,n) ;

c. 方法使用中的注意事项
1)方法和方法是平级关系,不能进行嵌套:
在一个方法中不能定义另一个方法
2)在Java中,定义方法的时候形参必须要带数据类型
(Java是一个强类型语言)
3)调用方法的时候,实参不需要带数据类型
4)定义方法的时候: 有{括号的地方不能有分号;

5.3方法重载

1.方法重载(overload):方法名相同,参数列表不同,与返回值无关!
参数列表不同:
1)参数个数不同
2)参数类型不同

2.方法重载的目的:就是为了提高某个功能的扩展性
同一个方法,可以传递任何数据类型

:java.util.Arrays:针对数组的操作工具类
		排序功能...
				sort(byte[] byte)
				sort(double[] d)
				sort(int[] i)
				sort(float[] f)

第六章 数组(引用数据类型)

6.1 数组定义

​ 数组就是存储多个数据的容器,必须保证容器中的数据类型一致

6.2数组初始化

​ 1)动态初始化
​ 给定了数组的长度,系统默认对元素进行初始化!
​ 数据类型[] 数组名称 = new 数据类型[数组长度] ;
​ 数据类型 数组名称[] = new 数据类型[数组长度] ;

如:
		int[] arr = new int[3] ;
		int arr[] = new int[3] ;

2)静态初始化
静态初始化:我们给定的具体的元素,数组长度由系统确定
静态初始化的格式:
数据类型[] 数组名称 = new 数据类型[]{元素1,元素2,元素3…} ;
数据类型 数组名称[] = new 数据类型[]{元素1,元素2,元素3…} ;

简化格式:
数据类型[] 数组名称 = {元素1,元素2,元素3…} ;
数据类型 数组名称[] = {元素1,元素2,元素3…} ;

如:
	int[] arr = {5,6,7,8} ;

2.数组的访问通过角标值访问

​ 数组名[角标值] ,角标从0开始

6.3数组应用

a.数组的遍历

b.冒泡排序

import java.util.Scanner;
class Bubblesort{
	public static void main(String[] args){
		Scanner sc =new Scanner(System.in);
		int arr[]={4,3,2,1};
		printArray(arr);
		bubblleSort(arr);
	}
	public static void printArray(int a[]){
		System.out.print("[");
		for(int i=0;i<a.length;i++){
			if(i==a.length-1){
				System.out.println(a[i]+"]") ;
			}else{
				System.out.print(a[i]+", ") ;
				}
			}
	}
	public static void bubblleSort(int a[]){
		for(int i=0;i<a.length-1;i++){
			for(int j=0;j<a.length-1-i;i++){
			if(a[i]>a[i+1]){
				int temp=a[i];
				a[i]=a[i+1];
				a[i+1]=temp;
			}
			}
		}
		printArray(a);
	}

}

6.4形参问题

1)如果形式参数是基本类型,形式参数的改变不会影响实际参数
		
2)String类型:特殊的引用类型:它作为形式参数,效果和基本数据类型一致
形式参数的改变不影响实际参数(String本质就是常量)

3)如果形式参数是数组类型(除String类型外),
实际参数传递:形式参数的改变会直接影响实际参数

第七章 面向对象

7.1 面向对象的三大特征

​ 封装,继承,多态

编程思想

​ 面向过程:做某件事情都需要自己亲历亲为,按照步骤去完成
​ 面向对象:做某件事情不需要自己亲历亲为,只需指定特定的对象去完成即可

7.2 对象

1.类和对象的概念
1)类是对某一事物的描述,是抽象的,概念上的定义。
2)对象是实际存在的该事物的个体,是具体的、现实的。

2.成员变量和局部变量的区别:

1)书写位置不同
成员变量:类中方法外
局部变量:在方法定义中或者方法声明上
2)内存中的位置不同
成员变量:在堆内存中
局部变量:在栈内存中
3)生命周期不同
 成员变量:随着对象的创建而存在,随着对象创建完毕,等待垃圾回收器回收对象(空闲时候进行回收)才能消失
 局部变量:随着方法调用存在,随着方法调用结束而消失
4)初始化不同:
  成员变量:在堆内存中由系统默认初始化(根据成员变量的类型进行默认初始化:String:null int:0)
  局部变量: 无论是先定义还是直接初始化,必须在使用之前初始化,否则报错

7.3 封装

1.封装的概念:
将类的某些信息隐藏在类内部,不允许外部程序直接访问,
而是通过该类提供的公共方法来实现对隐藏信息的操作和访问。

2.封装的好处:
1,隐藏类的实现细节
2,方便加入控制语句
3,方便修改实现
4,只能通过规定方法访问数据

7.4方法的重载

两同三不同
1)在同一个类中,同一个方法名
2)参数列表不同(个数不同,顺序不同,类型不同)
方法的重载跟返回值无关

7.5 构造方法

1.方法名和类名相同,没有返回值类型,
每一个类都会有一个默认的无参构造方法
当写了一个有参构造,默认无参构造就会消失
2.构造方法的作用:
1)实例化对象
2)给成员变量赋值
构造方法包含无参构造和有参构造

过规定方法访问数据

7.4方法的重载

两同三不同
1)在同一个类中,同一个方法名
2)参数列表不同(个数不同,顺序不同,类型不同)
方法的重载跟返回值无关

7.5 构造方法

1.方法名和类名相同,没有返回值类型,
每一个类都会有一个默认的无参构造方法
当写了一个有参构造,默认无参构造就会消失
2.构造方法的作用:
1)实例化对象
2)给成员变量赋值
构造方法包含无参构造和有参构造

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值