01_Java语言基础(数组概述和定义格式说明)
- A:为什么要有数组(容器)
数组是存储多个变量(元素)的东西
这多个变量的数据类型要一致 - B:数组概念
数组是存储同一种数据类型多个元素的集合。页可以看成是一个容器。
数组既可以存储基本数据类型,也可以存储引用数据类型。 - C:数组定义格式
数据类型[] 数组名 = new 数据类型[数组的长度];
02_Java语言基础(数组的初始化动态初始化)
- A:什么是数组的初始化
为数组中数组元素分配内存空间,并为每个数组元素赋值。 - B:如何对象数组进行初始化
- new 是一个关键字,用来创建实体对象。
- 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 数据类型[数组长度];
03_Java语言基础(Java中的内存分配以及栈和堆的区别)
- A:栈:存储局部变量(方法中和方法上的变量)
- B:堆:存储new出来的东西
- C:方法区
- D:本地方法区(和系统有关)
- E:寄存器(cpu使用)
04_Java语言基础(数组操作的两个常见小问题越界和空指针)
* a:ArrayIndexOutOfBoundsException:数组索引越界异常
* 原因:你访问了不存在的索引。
* b:NullPointerException:空指针异常
* 原因:数组已经不在指向堆内存了。而你还用数组名去访问元素。
* int[] arr = {1,2,3};
* arr = null;
* System.out.println(arr[0]);
05_Java语言基础(数组的操作遍历)
* 数组遍历:就是依次输出数组中的每一个元素。
* 数组的属性:arr.**length**数组的长度
* 数组的最大索引:arr.length - 1;
6_Java语言基础(数组的操作查表法)
* 数组查表法(根据键盘录入索引,查找对应星期)
7_Java语言基础(数组的操作基本查找)
* 数组元素查找(查找指定元素第一次在数组中出现的索引)
8_Java语言基础(二维数组概述和格式1的讲解)
- A:二维数组概述
- B:二维数组格式1
- int[][] arr = new int[3][2];
- C:二维数组格式1的解释
D:注意事项
- a:以下格式也可以表示二维数组
- 1:数据类型 数组名[][] = new 数据类型[m][n];
- 2:数据类型[] 数组名[] = new 数据类型[m][n];
- B:注意下面定义的区别
int x; int y; int x,y; int[] x; int[] y[]; int[] x,y[]; x是一维数组,y是二维数组
- a:以下格式也可以表示二维数组
9_Java语言基础(二维数组格式讲解)
- 二维数组格式2
- int[][] arr = new int[3][];
10_Java语言基础(二维数组格式的讲解及其内存图解)
- A:二维数组格式3
- int[][] arr = {{1,2,3},{4,5},{6,7,8,9}};
11_Java语言基础(二维数组练习1遍历)
* 需求:二维数组遍历
* 外循环控制的是二维数组的长度,其实就是一维数组的个数。
* 内循环控制的是一维数组的长度。
12_Java语言基础(二维数组练习2求和)
-
需求:公司年销售额求和
某公司按照季度和月份统计的数据如下:单位(万元)
第一季度:22,66,44
第二季度:77,33,88
第三季度:25,45,65
第四季度:11,66,99
13_Java语言基础(思考题Java中的参数传递问题及图解)
看程序写结果,并画内存图解释 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; } } }