标签: 学习笔记


1.数组
变量:只能存储一个数据
数组:存储同一种类型的多个数据
数组不属于基本数据类型,属于引用数据类型
分为一维数组和二维数组:长度一旦确定就不能修改
也可以按照类型来分,分为基本类型数组和引用类型数组

int[] a //java常用,但是记住声明的时候不要加上长度。
或者
int a[]
//分为动态初始化
int[] arr=new int[5];
//静态初始化,不需要加上长度

int[] arry={1,2,3}

int arry =new int[]{1,2,3,4}

2.默认值
int 默认为0
char 空格
boolean 默认为false
double 默认0.0

3.遍历
数组的遍历,增强for循环,遍历的类型,遍历得到的变量,遍历的对象

for(String num:nums)

4.方法完成特定的代码由方法的访问修饰(public) 返回类型(int,void) 方法名(参数类型 参数名称)

方法定义的时候使用的参数叫形参
使用的时候叫实参
方法的返回值,要写返回类型,可以使基本类型,也可以是引用类型,需要使用return返回对应的类型和数据。

形参也有两种情况,空着或者不空着

方法的调用,除了main方法,其他都需要手动调用才能执行。方法如果没有在main或其他方法中调用,是不会执行的。

5.存储
jvm:执行java程序时,把内存分为线程私有区和共享区

堆区:存放数组的值,栈区存放数组名和数组在堆区的地址,调用的时候需要引用这个地址,故叫引用型数据变量

方法中参数的传递:
当传递的是基本变量类型的时候,传递的是变量,对形参的改变不会导致传递的变量改变。
当传递的是引用数据类型的时候,传递的是地址,共用的是同一个存储空间

6.重载
方法名称不用变,方法调用的时候不用区分那个函数,根据参数自动调用方法
方法的重载:判断依据:

  • 在同一个类中
    方法名称相同
    参数列表不同:
    参数个数不同
    参数类型不同
    参数类型不同,且各个参数顺序不同
    方法的返回值不能作为重载的依据
    jdk5新特性:可变参数(也可以重载)
public static int add(int ... y) {
    int sum=0;
	for (int i=0;i<y.length;i++) {
		sum+=y[i];
	}
	return sum;
}
//
public static int add(int x,int ... y){
    int sum=x;
    for(int i=0;i<y.length;i++){
        sum+=y[i];
    }
    return sum;
}
add(int x,int[] y)//这样不构成重载,会报错,因为数组和... y类似

eclipse的断点调试

自动导入包 ctr+shift+o或者把鼠标放在包上

7.杨辉三角

package hello_eclipse;

public class yanghui {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		int[][] arr=new int[10][];
		arr[0]=new int[]{1};
		arr[1]=new int[]{1,1};
		for(int i=2;i<10;i++) {
			arr[i]=new int[i+1];//必须赋值,因为声明的时候对应的行地址会存储null,不赋值会报错。而int[5][5]则不会,默认赋值,并且行地址不为空
			arr[i][0]=1;
			arr[i][i]=1;
			for(int j=1;j<i;j++) {
				arr[i][j]=arr[i-1][j-1]+arr[i-1][j];
			}
			
		}
		for(int i=0;i<10;i++) {
			for(int j=0;j<arr[i].length;j++) {
				System.out.print(arr[i][j]+" ");
			}
			System.out.println();
		}
		

	}

}

8.优缺点
数组的优点:
查询效率高
缺点:
删除,插入效率低