------- <a href="http://www.itheima.com" target="blank">android培训</a>、<a href="http://www.itheima.com" target="blank">java培训</a>、期待与您交流! ----------
25.01_Java语言基础(数组概述和定义格式说明)
- A:为什么要有数组(容器)//方便存储很多的数据,简单操作,方便计算
- B:数组概念//数组就是一个容器,就是存储
- C:数组定义格式
数据类型[] 数组名 = new 数据类型[数组的长度];
25.02_Java语言基础(数组的初始化动态初始化)
- A:什么是数组的初始化
- B:如何对象数组进行初始化
- a:动态初始化 只指定长度,由系统给出初始化值
- int[] arr = new int[5];
- b:静态初始化 给出初始化值,由系统根据给定的值决定长度
- int[] arr = new int[]{1,2,3,4,5};
- int[] arr = {1,2,3,4,5};
- a:动态初始化 只指定长度,由系统给出初始化值
- C:动态初始化的格式:
- 数据类型[] 数组名 = new 数据类型[数组长度];
- D:案例演示
- 对数组的解释
- 输出数组名称和数组元素
<code class="hljs cs has-numbering"><span style="font-size:14px;"> </span></code><pre class="html" name="code"><span style="font-size:14px;"> int[] arr = { 1, 2, 3, 5 }; System.out.println(arr);//[I@175078b//[:数组I:Integer@:分割175078b:哈希值 相关内存地址 每次运行都不同 for (int i : arr) {//遍历 System.out.println(i);//1 2 3 5 } </span>
25.03_Java语言基础(Java中的内存分配以及栈和堆的区别)
- A:栈//运行方法的
- B:堆//凡是new出来的,存储的是实体容器
- C:方法区//存储方法的,class文件
- D:本地方法区//JVM调用Windows中的功能使用
- E:寄存器//操作与CPU有关内容
25.04_Java语言基础(数组的内存图解1一个数组)
- A:画图演示
- 一个数组
- 一个数组
25.05_Java语言基础(数组的内存图解2二个数组)
- A:画图演示
- 二个不同的数组
- 二个不同的数组
25.06_Java语言基础(数组的内存图解3三个数组)????
- A:画图演示
- 三个数组,有两个数组的引用指向同一个地址
- 三个数组,有两个数组的引用指向同一个地址
25.07_Java语言基础(数组的初始化静态初始化及内存图)
- A:静态初始化的格式:
- 格式:数据类型[] 数组名 = new 数据类型[]{元素1,元素2,…};
- 简化格式:
- 数据类型[] 数组名 = {元素1,元素2,…};
- B:案例演示
- 对数组的解释
- 输出数组名称和数组元素
- C:画图演示
- 一个数组
- 一个数组
25.08_Java语言基础(数组操作的两个常见小问题越界和空指针)
- A:案例演示
- a:ArrayIndexOutOfBoundsException:数组索引越界异常
- 原因:你访问了不存在的索引。
- b:NullPointerException:空指针异常
- 原因:数组已经不在指向堆内存了。而你还用数组名去访问元素。
- int[] arr = {1,2,3};
- arr = null;
- System.out.println(arr[0]);
- a:ArrayIndexOutOfBoundsException:数组索引越界异常
25.09_Java语言基础(数组的操作1遍历)
- A:案例演示
- 数组遍历:就是依次输出数组中的每一个元素。
- 数组的属性:arr.length数组的长度
- 数组的最大索引:arr.length - 1;
25.10_Java语言基础(数组的操作2获取最值)
- A:案例演示
- 数组获取最值(获取数组中的最大值最小值)
- 数组获取最值(获取数组中的最大值最小值)
25.11_Java语言基础(数组的操作3反转)
- A:案例演示
- 数组元素反转(就是把元素对调)
- 数组元素反转(就是把元素对调)
25.12_Java语言基础(二维数组概述和格式1的讲解)
- A:二维数组概述
- B:二维数组格式1
- int[][] arr = new int[3][2];
- C:二维数组格式1的解释
-
D:注意事项
- a:以下格式也可以表示二维数组
- 1:数据类型 数组名[][] = new 数据类型[m][n];
- 2:数据类型[] 数组名[] = new 数据类型[m][n];
- B:注意下面定义的区别
<span style="font-size:14px;">int x; int y; int x,y; int[] x; int[] y[]; int[] x,y[]; x是一维数组,y是二维数组 </span>
- a:以下格式也可以表示二维数组
- E:案例演示
- 定义二维数组,输出二维数组名称,一维数组名称,一个元素
- 定义二维数组,输出二维数组名称,一维数组名称,一个元素
25.13_Java语言基础(二维数组格式1的内存图解)
- A:画图演示
- 画图讲解上面的二维数组名称,一维数组名称,一个元素的值的问题
- 画图讲解上面的二维数组名称,一维数组名称,一个元素的值的问题
25.14_Java语言基础(二维数组格式2的讲解及其内存图解)
- A:二维数组格式2
- int[][] arr = new int[3][];
- B:二维数组格式2的解释
- 二维数组中,包含三个一维数组,但是每个一维数组中存储多少元素,没有定义
25.15_Java语言基础(二维数组格式3的讲解及其内存图解)
- A:二维数组格式3
- int[][] arr = {{1,2,3},{4,5},{6,7,8,9}};
- B:二维数组格式3的解释
- 定义二维数组,二维中3个小数组,第一个小数组存储1,2,3,第二个小数组存储4,5,第三个小数组存储6,7,8,9
<span style="font-size:14px;">•看程序写结果, •public static void main(String[] args) { int a = 10; int b = 20; System.out.println("a:"+a+",b:"+b); change(a,b); System.out.println("a:"+a+",b:"+b); int[] arr = {1,2,3,4,5}; change(arr); System.out.println(arr[1]); } public static void change(int a,int b) { System.out.println("a:"+a+",b:"+b); a = b; b = a + b; System.out.println("a:"+a+",b:"+b); } public static void change(int[] arr) { for(int x=0; x<arr.length; x++) { if(arr[x]%2==0) { arr[x]*=2; } } </span>
25.16_Java语言基础(思考题Java中的参数传递问题及图解)
- A:案例演示