IDEA创建Java项目和导入Module

具体步骤在这个文档里
https://pan.baidu.com/s/18xkvq5joJi5e-o12xZ3mlw

数组的定义和使用

1、数组的定义格式有哪些?
数组的定义格式
第一种:数据类型[]数组名
示例:int[]arr double[] arr char[] arr

第二种:数据类型数组名[]
示例:int arr[] double arr[] char arr[]
推荐使用第二种

◆数组的动态初始化格式

数组的动态初始化格式
数据类型 数组名[]=new 数据类型[数组长度];
示例:int arr[]=new int[5];
数组动态初始化格式的

每个内容代表含义详解

等号左边:
int:数组的数据类型
[]:代表这是一个数组
arr:代表数组的名称
等号右边:
new:为数组开辟内存空间
int:数组的数据类型
[]:代表这是一个数组
5:代表数组的长度

访问数组元素的格式是什么?
数组名[索引];

什么是索引?
索引是给每个元素起一个编号,通过编号可以获取指定元素

索引从几开始?
从0开始编号,最大取到数组长度-1

◆数组的静态初始化格式

数组静态初始化格式
完整版格式:数据类型 数组名[]=new 数据类型[]{元素.…}

简化版格式 :数据类型 数组名[]={元素};

推荐使用简化版格式

数组的两种初始化格式的区别
动态初始化:只给定数组长度,由系统分配默认初始化值;
静态初始化:创建数组时,直接将元素确定;

数组操作的两个常见小问题

1、什么情况下会出现索引越界异常?
2、什么情况下会出现空指针异常?

■数组索引越界异常
出现原因:访问了不存在的数组索引解决方案:改成正确的索引范围即可 (数组索引范围为0~数组长度减一)

数组空指针异常
出现原因:数组引用为null时,再去操作数组

boolean arr[]=null; 
System. out. println(arr[0]);

解决方案:给数组一个真正的堆内存空间引用即可

数组的遍历

◆如何获取数组长度
◆如何遍历数组

获取数组长度
数组名.length

遍历数组的注意事项
注意循环次数是否在索引范围内,否则会发生索引越界

  int arr[]={1,2,3};

        for (int i = 0; i < arr.length; i++) {
            System.out.println(arr[i]);
        }
        

使用foreach遍历数组


        int arr[]={1,2,3};
        for (int i : arr) {
            System.out.println(i);
        }

注意foreach格式
for(要输出的数据类型 变量 : 要遍历的类型 变量)
{
System.out.println(变量);
}

获取数组最大值

获取数组最值的思路
最大值:
1.定义一个最大值变量,记录数组中第一个元素
2.遍历数组,分别和最大值变量进行对比3.如果当前元素比最大值变量要大,那么将当前元素为最大值变量重新赋值

最小值:
1.定义一个最小值变量,记录数组中第一个元素
2.遍历数组,分别和最小值变量进行对比
3.如果当前元素比最小值变量要小,那么将当前元素为最小值变量重新赋值

求数组最小值

double arr[]={2.3,4.5,6.4,5.6,7.9,1.8,8.5}; 
double min=arr[0]; 
for(inti=1;i<arr.length;i++){
if(min>arr[i]){
min=arr[i]
}
}
 System. out. println(min);

求数组最大值

double arr[]={2.3,4.5,6.4,5.6,7.9,1.8,8.5}; 
double max=arr[0]; 
for(inti=1;i<arr.length;i++){
if(max<arr[i]){
max=arr[i]
}
}
 System. out. println(min);

Java中的内存分配

◆Java中的内存分配介绍
◆数组的内存图解

八、JavaSE基础语法 数组&内存分配_数组长度

Java中常见的内存分配有以下两种

(Stack)栈内存:存储局部变量的,使用后立即消失

(Heap)堆内存:存储的是new出来的内容,使用后变成垃圾口

数组的默认初始化值

整数类型:0
浮点类型:0.0
字符类型:空字符
布尔类型:false
引用类型:null

注意事项
数组下标索引 是从0开始 到数组长度-1 结束

扩展 使用foreach 遍历二维数组

  int a[][]={{1,2,3},{4,5,6}};

        for(int x[]:a){                       //外层循环变量是一个一维数组
            for(int n:x){
                System.out.print(" "+n);
            }
        }