Day05-方法

总结

我是最棒的!基础不牢,地动山摇!

方法

方法就是可以处理某一类事情功能,可以看成是独立完成某一功能的封装好的一段代码

可以反复多次调用

定义

class Test{
    /**
 public修饰符控制访问权限
 static修饰为静态方法
 void 为返回值类型
 test 为方法名
 (int a) 是方法的参数列表
*/
	public static void test(int a){
    	//方法体
    	System.out.println(a);
	}

	public static void main(String[] args){
        //有static修饰符,直接调用方法,如果没有则需要创建对象
        //需要注意的是调用方法的代码块和被调用的方法static修饰符要同时有或者没有
        test(1);
    }
}

方法的签名

方法名+参数列表就是方法的签名

每个方法都有独一无二的方法签名

方法的返回值类型

可以是8种基本数据类型,也可以是引用类型,还可以是void

return注意事项

  1. 只要返回值类型不是void ,那么就必须返回一个数据,这个数据的类型必须跟返回值类型一致

  2. 如果返回值类型是void ,那么就不能返回任何值。但是可以使用return,只是不能返回值而已。

  3. 如果返回值类型是void ,不能直接打印输出,因为该方法没有任何返回值。

  4. 如果返回值类型是void ,不能声明变量接受,因为该方法没有任何返回值。

  5. 如果方法有返回值类型,且return语句在条件语句中,必须要满足条件语句不管执行那一个都得返回一个值,不然的话就会报错,因为如果不满足该方法就没有返回值了

  6. 一个类中只能有一个独一无二的方法签名

  7. 返回值类型必须与方法内部要返回的数据的类型一致。必须和调用时的要接受时的数据类型一致。

  8. 方法的返回值不能同时返回两个,只能返回一个

方法重载

方法名相同,参数列表不同

参数列表包括参数的类型,参数的顺序,参数的

数组

定义

//以int数组来举例

//静态声明数组,数组元素确定
int[] arr = {1,2,3};
//动态声明数组,数组元素不确定,其中5为数组的长度
int[] arr = new int[5];

赋值取值及遍历

int[] arr = new int[5];
//遍历取值并赋值
for(int i=0;i<arr.length;i++){
    arr[i]=i;
}

注意事项

  1. 下标都是从0开始到length-1结束

  2. 数组一旦创建,它的元素个数就固定了.(扩容:创建新数组,将原数组的元素全部复制,放到新数组中去。缩容:创建新数组,将原数组删除元素后的元素复制,放到新数组中。)

  3. 创建数组的元素个数不能为负数,如 int[] arr = new int[-5];X 不行

  4. 如使用数组元素的时候,下标超出了0~arr.length-1的范围,就会报数组下标越界的错误

[外链图片转存失败(img-OF6wOgIs-1565189762617)(file:///C:\Users\tyx666\AppData\Local\Temp\msohtmlclip1\01\clip_image001.png)]

  1. 如果使用数组的时候,该数组名没有了指向,或者作为成员变量时没有被赋值,那么会报空指针异常的错误

[外链图片转存失败(img-lYVHWohZ-1565189762618)(file:///C:\Users\tyx666\AppData\Local\Temp\msohtmlclip1\01\clip_image002.png)]

二维数组

实质上就是数组中的元素还是数组

下面是一个实例

public class DoubleArray {

	public static void main(String[] args) {
		//二维数组
		int[][] arr = new int[2][2];
		
		//打印二维数组的地址
		System.out.println(arr);
		
		//打印两个一维数组的地址
		System.out.println(arr[0]);
		System.out.println(arr[1]);
		
		//打印两个数组中的元素值
		System.out.println(arr[0][0]);
		System.out.println(arr[0][1]);
		System.out.println(arr[1][0]);
		System.out.println(arr[1][1]);
	}

}

堆栈图分析

局部变量在栈中,成员变量在堆中

基本数据类型存在栈中,引用数据类型在堆中
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值