Java入门:数组与类

倒数第四天~感觉可以提早完成?(flag

数组

初始化
动态初始化(与C不同!)

数据类型[] 数组名称=new 数据类型[数组长度];
int[] array= new int [10];

静态初始化

数据类型[] 数组名称=new 数据类型[]{元素1,元素2……}

或 数据类型[] 数组名称= {元素1,元素2……}
int[] array=new int[] {5,15,25};

int[] array={5,15,25};

int[] array;
array= new int[] {5,15,25};

直接打印数组获得的是内存地址的哈希值
动态初始化时,数组元素有默认初始值0(false/null)(Java好用!有默认初始值!)

创建空数组:

int[] array= null;//空指针异常

数组长度:

int len=array.length;

变量赋值新数组:

int[] array= new int[3];
int[] array= new int[5];☑️

函数返回数组:

public static int[] returnarray(int[] array){
return array;}
Java内存划分

1.栈:存放局部变量,方法在栈中运行
2.堆:new 变量,有地址,有默认值(0,0.0,false,/u0000,null)
3.方法区:.class相关信息
4.本地方法栈
5.寄存器
数组内存图:
Java入门:数组与类_第1张图片

面向对象

面向对象:封装,继承,多态性
面向过程:详细处理每个步骤
(这门课从编程小白直接到面向对象,tql…)

输出数组接口:

import java.util.Arrays;
int[] a={1,2,3,4,5};
        System.out.println(Arrays.toString(a));
//[1, 2, 3, 4, 5]

(直接输入Arrays.toString会自动import)

类与对象

类定义:

public class 类名{
数据类型 成员变量;
public 返回类型 成员方法(){};//去掉static
}

创建类对象:
1.导包

import 包名称.类名称;

2.创建

类名称 对象名=new 类名称();
Student stu=new Student();

成员变量和成员方法的调用同C

类的内存布局:

自定义类作参数

public static 函数名(类名 变量名){}

自定义类作返回值

public static 类名 函数名(){}

成员变量vs局部变量
成员变量在整个类中通用,局部变量只在方法内存在
局部变量没有默认值,不初始化不能用
成员变量有默认值(0),同数组

局部变量位于栈内存,成员变量位于堆内存
Java的堆内存不能手动回收

Private关键字
将需要保护的成员变量和成员方法进行私有化
类外不能直接访问(不能修改),但可以通过Setter/Getter方法进行间接访问(在类的控制之下,实现保护)(setName,getName)
Boolean的Getter写作Is成员变量名(isMale)

你可能感兴趣的:(Java入门:数组与类)