IDEA安装及使用
安装
使用
创建一个空的项目
添加一个java模块
创建一个多级包
创建一个类
IDEA中项目结构
IDEA中内容辅助键和快捷键
内容辅助键 --- alt + /
Ctrl+Alt+space(内容提示,代码补全等)
快捷键:
注释:
单行:选中代码,Ctrl+/,再来一次,就是取消
多行:选中代码,Ctrl+Shift+/,再来一次,就是取消
格式化
Ctrl+Alt+L
Alt + Enter 导入包,自动修正代码
ctrl + y 删除光标所在行
ctrl + d 复制光标所在行的内容,插入光标位置下面
ctrl + z 撤销操作
ctrl + shift + z 反撤销操作
数组定义格式
数组就是存储数据长度固定的容器,存储多个数据的数据类型要一致
定义格式
数据类型[] 数组名//int [] arr;
数据类型 数组名[]//int arr[];
数组动态初始化
数组动态初始化就是只给定数组的长度,由系统给出默认初始化值
格式
数据类型 [] 数组名 = new 数据类型[数组长度];//int [] arr = new int[3];
等号左边:
int: 数组的数据类型
[]: 代表这是一个数组
arr: 代表数组的名称
等号右边:
new: 为数组开辟内存空间
int: 数组的数据类型
[]: 代表这是一个数组
3: 代表数组的长度
数组元素访问
索引
每一个存储到数组的元素,都会自动的拥有一个编号,从0开始。
这个自动编号称为数组索引(index),可以通过数组的索引访问到数组中的元素
访问数组元素格式
数组名 [索引];
public static void main(String[] args) {
int[] arr = new int[3];
//输出数组名
System.out.println(arr); //[I@880ec60
//输出数组中的元素
System.out.println(arr[0]);
System.out.println(arr[1]);
System.out.println(arr[2]);
}
内存分配
java程序的内存分配
栈区:存的是局部变量
堆区:存的是new出来的东西
方法区:面向对象进阶的讲
本地方法区:和系统相关
寄存器:给cpu使用
栈区:
存储的是局部变量(定义在方法中的变量)
局部变量使用完之后,立即回收
堆区:
存储的是new出来的东西,实体,对象
1,每一个对象都有地址值
2,每一个对象的数据都有默认值
byte short int long 0
float double 0.0
char 空字符
boolean false
引用数据类型 null
3,使用完毕之后,会在垃圾回收器空闲的时候被回收
String[] arr = new String[5];这一行代码做了那几件事情
1,在栈区中声明变量存储数据名
2,在堆区中开辟空间存储数组元素
3,给数据中的元素赋默认值
4,返回堆区中的地址给数组名
数组静态初始化
在创建数组时,直接将元素确定
完整版格式
数据类型 [] 数组名 = new 数据类型[]{元素1,元素2,...};
简化版格式
数据类型 [] 数组名 = {元素1,元素2,...};
public static void main(String[] args) {
//定义数组
int[] arr = {1, 2, 3};
//输出数组名
System.out.println(arr);
//输出数组中的元素
System.out.println(arr[0]);
System.out.println(arr[1]);
System.out.println(arr[2]);
}
//静态初始化,初始化一个String类型的字符串数组,输出数组中的元素
数组操作的两个常见小问题
索引越界异常
访问了不存在的索引
空指针异常
数组已经不再指向堆区中的数据了,你还在使用数组名去访问元素