一、IDEA安装
1.IDEA的定义:IDEA全称IntelliJ IDEA,是用于Java语言开发的集成环境,它是业界公认的目前用于Java程序开发最好的工具。
2.集成环境:把代码编写,编译,执行,调试等多种功能综合到一起的开发工具。
3.IDEA的下载和安装 :下载:https://www.jetbrains.com/idea/
安装:傻瓜式安装,建议修改安装路径。
4.安装步骤:
(1)打开exe文件,点击下一步:
(2)修改安装路径自己选择(可以不用修改),默认的在c盘目录下,修改完成之后点击下一步
(3)选择一个64位的桌面图标(因为jdk为64位的,在jdk9以后就没有32位的),继续点击下一步
(4)点击Install 安装
(5)finish完成安装
(6)idea基本配置:
二、IDEA的基本使用
1.创建一个空项目(JavaSE_Code)
①新建一个项目:
②选择空项目
③修改项目名称以及项目存储路径
④点击完成,等待一会儿弹出一个模块,新建一个模块 ,根据自己jdk所在的文件配置好jdk,点击下一步
⑤修改模块的名字:(idea_test)点击完成
⑥继续点击ok
⑦在idea_test模块下的src下创建一个包(com.itheima)
⑧在com.itheima包下新建一个类(HelloWorld)
⑨在HelloWorld类中编写代码
⑩ 在idea中执行程序(代码区右键run)
三、IDEA中内容辅助键和快捷键
1.快速生成语句:
①快速生成main()方法:psvm,回车
②快速生成输出语句:sout,回车
2.内容辅助键:
Ctrl+Alt+space(内容提示,代码补全等)
3.快捷键
(1)注释:
①单行:选中代码,Ctrl+/,再来一次,就是取消
②多行:选中代码,Ctrl+Shift+/,再来一次,就是取消
(2)格式化:Ctrl+Alt+L格式化代码(自动调节代码格式)
五、IDEA中模块操作
1.模块分类:
(1)新建模块:①点击file;②再点击项目结构;③选择模块点击加号;④选择新建模块;⑤选择java语言点击下一步;⑥更改模块名称点击完成;⑦点击ok,新建模块就完成了;
(2)删除模块:选中模块,右击模块delete移除即可;
(3)导入模块:①点击file;②再点击项目结构;③选择模块点击加号;④选择导入模块;⑤选择导入模块;⑥连续点击next(选择Overwrite)最后点击完成即可。
六、数组
1.数组概述:数组(array)是一种用于存储多个相同类型数据的存储模型
2.数组格式:
①格式一:数据类型 [ ] 变量名
范例: int[ ] arr
定义了一个int类型的数组,数组名是arr
②格式二:数据类型 变量名[ ]
范例: int arr[ ]
定义了一个int类型的变量,变量名是arr数组
3.数组的初始化
(1)初始化:就是为数组中的数组元素分配内存空间,并为每个数组元素赋值
(2)类别:动态初始化,静态初始化
(3)动态初始化:初始化时只指定数组长度,由系统为数组分配初始值
①格式:数据类型[ ] 变量名=new 数据类型[数组长度]
范例:int [ ] arr = new int[3];
左边:
int:说明数组中的元素类型是int类型;
[ ]:说明这是一个数组
arr:这是数组名称
右边:
new:为数组申请内存空间
int:说明数组中的元素类型是int型
[ ]:说明这是一个数组
3:数组长度,其实就是数组中的元素个数
(4)初始化时会添加存储空间默认的值:
①整数:默认值0
②浮点数:默认值0.0
③布尔值:默认值false
④字符:默认空字符
⑤引用数据类型:默认值null
4.数组元素的访问:
(1)数组变量的访问方式:
格式:数组名 (System.out.println(arr);//输出的是地址)
(2)数组内部保存的数据的访问方式:
格式:数组名[索引] (System.out.println(arr[0]);//输出的是数组中的数据)
①索引:数组中数据的编号方式
②作用:索引用于访问数据中的数据使用,数组名[索引]等同于变量名,是一种特殊的变量名
③特征:a.从0开始编号;b.索引是连续的;c.索引逐一增加,每次加一
5.内存分配:
(1)栈内存:存储局部变量
定义在方法中的变量,例如:arr;使用完毕后,立即消失
(2)堆内存:存储new出来的内容(实体、对象)
每个new出来的东西都有一个地址使用完毕,会在垃圾回收器有空闲时被回收
(3)单个数组的内存图
①个数组中的元素赋值:arr[0]=100;arr[0]=200;
(4)多个数组的内存图:
int[ ] arr=new int[2];
int[ ] arr2=new int[3];
arr[1]=100;
arr2[0]=200;
arr2[2]=300;
(5)多个数组指向相同内存图
int[] arr = new int[3];
arr[0] = 100;
arr[1] = 200;
arr[2] = 300;
System.out.println(arr);
System.out.println(arr[0]);
System.out.println(arr[1]);
System.out.println(arr[2]);
//定义第二个数组指向第一个数组
int[] arr2 = arr;//是将arr的地址赋给arr2
arr2[0] = 111;
arr2[1] = 222;
arr2[2] = 333;
//输出两个数组的名及元素
System.out.println(arr);
System.out.println(arr[0]);
System.out.println(arr2);
System.out.println(arr2[0]);
6.静态数组的初始化:
(1)定义:初始化是指定每个数组元素的初始值,由系统决定数组长度
(2)格式:数据类型[ ]变量名=new 数据类型[ ]{数据1,数据2,数据3,……};
范例:int[ ] arr=new int[ ]{1,2,3};
(3)简化格式:数据类型 [ ] 变量名 = { 数据1 , 数据2 , 数据3 , ……} ;
范例:int[ ] arr={1,2,3};
7.数组操作的两个小问题:
(1)索引越界:访问了数组中不存在的索引对应的元素,造成索引越界问题
(2)空指异常:访问的数组已经不再指向堆内存的数据,造成空指针异常
null:空值,引用数据类型的默认值,表示不指向任何有效对象
8.数组常见基本操作:
(1)遍历:
①数据较少的时候:
int[] arr = {11,22,33,44,55};
System.out.println(arr[0]);
System.out.println(arr[1]);
System.out.println(arr[2]);
System.out.println(arr[3]);
System.out.println(arr[4]);
②数据较多的时候:
//通过 for循环实现获取数据,索引 0-4
for(int x=0; x<5; x++) {
System.out.println(arr[x]); }
(2)获取数组元素的数量:
①格式:数组名.length
范例:arr.length
int[] arr = {11,22,33,44,55};
for(int x=0; x<arr.length; x++) {
System.out.println(arr[x]); }
(3)最值的获取:
①定义一个变量,用于保存最大值(或最小值)
②取数组中第一个数据作为变量的初始值
int max = arr[0];
③与数组中剩余的数据逐个比对,每次比对将最大值保存到变量中
for(int x=1; x<arr.length; x++) {
if(arr[x] > max) {
max = arr[x];
}
}
④循环结束后打印变量的值
System.out.println("max:"+max);