Java基础,
Java基础,
第一章 数组的定义和赋值
1、数组的含义和特点
含义:
用于存放多个相同数据类型变量的容器,叫做数组.
特点:
a.引用数据类型(在内存当中存在地址值和默认值)
b.存放的是数据类型相同的数据
c.数组的长度一旦确定之后,在运行的过程当中不能改变.
2、数组的初始化方式
A.动态初始化
a.含义:
只是给出数组的长度,并没有给出数组的具体值
b.定义格式:
数据类型[] 数组名称 = new 数据类型[数组长度];
c.例如:
int[] arrayA = new int[10]; //表示定义了一个int类型的数组,可以存放10个int数据
boolean[] arrayB = new boolean[4]; //表示定义了一个boolean类型的数组,可以存放4个boolean数据
String[] arrayC = new String[5]; //表示定义了一个String类型的数组,可以存放5个String字符串数据
B.静态初始化
a.含义:
只是给出具体的数据值,长度由系统自己推算出来.
b.定义格式:
标准格式: 数据类型[] 数组名称 = new 数据类型[]{ 数值1,数值2,数值3...};
简化格式: 数据类型[] 数组名称 = { 数值1,数值2,数值3...}; //推荐使用
c.例如:
标准格式案例:
int[] arrayA = new int[]{13,16,12,14}; //表示定义一个int数组,数值分别是13,16,12,14.长度系统自己算
简化格式案例:
int[] arrayB = {13,16,12,14}; //表示定义一个int数组,数值分别是13,16,12,14.长度系统自己算
C.应用场景:
如果你不知道数组当中,具体放哪些内容.但是你知道有多少.采用"动态初始化"
如果你知道数组当中的具体内容,不去数数组数据的个数.采用"静态初始化",推荐使用"简化的格式"
D.数组当中的元素访问
格式:
数组名称[索引值]
例如:
int[] arr = {13,15,12,11}; //定义了一个int类型的数组arr.值是 13,15,12,11
arr[2] //获取到的是数组索引值为2的元素.arr[2]=12
注意:
数组的索引: 数组当中数据的编号.编号从0开始.最大编号是数组的长度-1
3、数据类型的默认值(了解)
A.基本数据类型
a.整数 byte,short,int,long 0
b.浮点数 float,double 0.0
c.字符 char '\u0000'
d.布尔 boolean false
B.引用数据类型
所有的引用数据类型默认值都是 null
第二章 数组的内存图
1、Java的内存分配
A.栈(Stack) 存放局部变量,方法的运行是在栈当中
B.堆(Heap) 存放new出来的东西,有地址值和默认值
C.方法区(Method Area)
D.本地方法栈(Native Method Stack)
E.寄存器(PC Register)
2、两个数组指向同一个地址(理解即可)
A.生活实例:
你和你的同桌共用一个水杯,他喝了一口,你看到少了一口,再往里面加一口,他看到多了一口.然后再喝一口
B.含义:
两个引用数据类型,指向同一个堆内存的地址.
如果其中一个引用数据类型,对堆内存当中的数据进行了修改.
那么两个引用数据类型,将同时发生修改.
3、数组操作的两个常见小问题
A.数组索引越界异常
a.单词: ArrayIndexOutOfBoundsException 数组索引越界异常
b.原因: 访问了不存在索引.(可能是负数,可能是大于等于数组长度的数据)
c.解决: 修改索引值.改为存在的索引
B.空指针异常
a.单词: NullPointerException 空指针异常
b.原因: 没有new
c.解决: 补上new
第三章 数组的基本操作
1、数组的长度
获取数组长度的方式:
数组名称.length
例如:
int[] arr = {15,12,17,14,11}; //定义了一个int类型的数组
System.out.println(arr.length); //打印的结果是 5
注意:
数组的长度,也就是数组当中元素的个数.
2、数组的遍历
A.遍历的含义:
把数组当中的元素,无重复无遗漏的打印出来.就叫遍历.
B.格式:
for(int i=0;i<arr.length;i++){
System.out.println(arr[i]);
}
C.快捷键:
数组名称.fori
array.fori
3、求最值的操作
步骤:
a.在循环前. 赋值 int max = arr[0];
b.在循环中. 交接 判断,每一个比较. max = arr[i];
c.在循环外. 打印 System.out.println(max);
第四章 数组和方法结合的返回值与参数问题
1、数组作为方法的参数传入
本质:
如果数组作为方法的形式参数传入.写在方法的小括号上面.传递的是地址值
例如:
//这里方法的形式参数是 int[] arr
public static void printArray(int[] arr){
}
//如果去调用方法
int[] arr = {11,22,33,44};
printArray(arr); //传入的是arr.本质是地址值
2、数组作为方法的返回值返回
本质:
如果数组作为方法的返回值返回.写在方法名的前面.返回的是地址值
例如:
//这里的方法返回值写 int[]
public static int[] jiSuan(){
int[] arr = {10,20};
return arr;
}
//如果此时此刻调用方法
int[] result = jiSuan();
相关文章
- 暂无相关文章
用户点评