java语法基础四学习笔记提纲
一、Eclipse的安装与使用
eclipse导入已有工程的步骤
eclipse导入一个源文件乱码问题的解决方法。
eclipse删除一个工程
运行程序,误选了Java透视图,如何调整为Java EE的透视图
创建一个新的workspace,以前的设置会重置。把workspace下的metadata文件夹删了,会重置设置。
在eclipse下查看类库的源码。
创建代码模板
二、数组
1、数组概述
2、注意
数组属于引用数据类型的变量,数组中的元素的类型可以是基本数据类型,也可以使引用数据类型。
创建数组对象会在内存中开辟一整块连续的空间。
数组的长度一旦确定就不可以修改。
3、数组的分类:
按照维数:一维、二维、….、多维
按照数组元素的类型:基本数据类型元素的数组、引用数据类型元素的数组。
4、一维数组的使用
一维数组的声明和初始化
int[] ids;//声明//静态初始化:数组的初始化和数组元素的赋值操作同时进行。ids = new int[]{1001,1002,1003,1004};//动态初始化:数组的初始化和数组元素的赋值操作分开进行。String[] names = new String[5];//也是正确的写法int[] arr4 = {1,2,3,4,5};//类型推断:注意第3行的情况不可以省,要放在同一行才可以。int a[] = new int[3];int b[] = new int[]{1,2,3};//错误写法:总结:就是前面的中括号不能有值,后面的中括号和大括号不能同时有值int[] arr1 = new int[];int[5] arr2 = new int[5];int[] arr3 = new int[2]{1,2,3};
总结:数组一旦初始化完成,其长度就确定了的,就不可修改。
如何调用数组的指定位置的元素
- 通过角标的方式调用
- java中的角标从0开始。
如何获取数组的长度
- 属性:length
- 如何遍历数组
for(int i = 0; i < names.length; i++){System.out.println(names[i]);}
数组元素的默认初始值
- 数组元素是整型:0
- 数组元素是浮点型:0.0
- 数组元素是boolean类型:false
- 数组元素是char类型:是0不是’0’,是ASCII码为0。或者是’\u0000’
- 数组元素是引用数据类型时:null
- 数组的内存解析
jvm中的栈、堆、方法区、静态域的概念
5、二维数组的使用
- 概念:对于二维数组的理解,我们可以看成是一维数组array1又作为另一个一维数组array2的元素而存在。
数组属于引用数据类型,数组的元素也可以使引用数据类型,一个一维数组A的元素如果还是一个一维数组类型的,则,此数组A称为二维数组。
- 二维数组的声明和初始化
int[] arr = new int[]{1,2,3};//一维数组//静态初始化int[][] arr1 = new int[][]{{1,2,3},{4,5},{6,7,8}};//动态初始化1String[][] arr2 = new String[3][2];//动态初始化2String[][] arr3 = new String[3][];//也是正确的int[] arr4[] = new int[][]{{1,2,3},{4,5},{6,7,8}};int[] arr5[] = {{1,2,3},{4,5},{6,7,8}};int a[][] = new int[4][4];int b[][] = new int[][]{{1,2,3},{4,5,6},{7,8,9}};int c[][] = new int[4][];//错误情况String[][] arr4 = new String[][4];String[4][3] arr5 = new String[][];int[][] arr6 = new int[4][3]{{1,2,3},{4,5},{6,7,8}};
二维数组元素的调用
获取数组的长度
如何遍历二维数组:嵌套for循环
数组元素的默认初始化值
//二维数组的使用//规定:二维数组分为外层数组元素,内层数组的元素int[][] arr = new int[4][3];外层元素:arr[0],arr[1]等内层元素:arr[0][0],arr[1][2]等public class ArrayTest3 {public static void main(String[] args){int[][] arr = new int[4][3];System.out.println(arr[0])//[I@6d06d69c 16进制的地址值System.out.println(arr[0][0]);//0System.out.println(arr);//[[I@6d06d69c 16进制的地址值double[][] arr3 = new double[4][];System.out.println(arr3[1]);//nullSystem.out.println(arr3[1][0]);//空指针异常}}总结:针对于初始化方式一:比如如:int[][] arr = new int[4][3];外层元素的初始化值为:地址值内层元素的初始化值为:与一维数组初始化情况相同针对于初始化方式二:比如:int[][] arr = new int[4][];外层元素的初始化值为:null内层元素的初始化值为:不能调用,否则报错。
二维数组的内存结构

引用类型的变量,存储的值就两种情况,要么是地址值,要么是null;


