java语法基础四学习笔记提纲

一、Eclipse的安装与使用

  • eclipse导入已有工程的步骤

  • eclipse导入一个源文件乱码问题的解决方法。

  • eclipse删除一个工程

  • 运行程序,误选了Java透视图,如何调整为Java EE的透视图

  • 创建一个新的workspace,以前的设置会重置。把workspace下的metadata文件夹删了,会重置设置。

  • 在eclipse下查看类库的源码。

  • 创建代码模板

二、数组

1、数组概述

2、注意

  • 数组属于引用数据类型的变量,数组中的元素的类型可以是基本数据类型,也可以使引用数据类型。

  • 创建数组对象会在内存中开辟一整块连续的空间。

  • 数组的长度一旦确定就不可以修改。

3、数组的分类:

  • 按照维数:一维、二维、….、多维

  • 按照数组元素的类型:基本数据类型元素的数组、引用数据类型元素的数组。

4、一维数组的使用

  • 一维数组的声明和初始化

    1. int[] ids;//声明
    2. //静态初始化:数组的初始化和数组元素的赋值操作同时进行。
    3. ids = new int[]{1001,1002,1003,1004};
    4. //动态初始化:数组的初始化和数组元素的赋值操作分开进行。
    5. String[] names = new String[5];
    6. //也是正确的写法
    7. int[] arr4 = {1,2,3,4,5};//类型推断:注意第3行的情况不可以省,要放在同一行才可以。
    8. int a[] = new int[3];
    9. int b[] = new int[]{1,2,3};
    10. //错误写法:总结:就是前面的中括号不能有值,后面的中括号和大括号不能同时有值
    11. int[] arr1 = new int[];
    12. int[5] arr2 = new int[5];
    13. int[] arr3 = new int[2]{1,2,3};


总结:数组一旦初始化完成,其长度就确定了的,就不可修改。

  • 如何调用数组的指定位置的元素

    • 通过角标的方式调用
    • java中的角标从0开始。
  • 如何获取数组的长度

    • 属性:length
  • 如何遍历数组
    1. for(int i = 0; i < names.length; i++){
    2. System.out.println(names[i]);
    3. }
  • 数组元素的默认初始值

    • 数组元素是整型:0
    • 数组元素是浮点型:0.0
    • 数组元素是boolean类型:false
    • 数组元素是char类型:是0不是’0’,是ASCII码为0。或者是’\u0000’
    • 数组元素是引用数据类型时:null
  • 数组的内存解析

    jvm中的栈、堆、方法区、静态域的概念

day06_java数组学习笔记 - 图1
day06_java数组学习笔记 - 图2

5、二维数组的使用

  • 概念:对于二维数组的理解,我们可以看成是一维数组array1又作为另一个一维数组array2的元素而存在。

    数组属于引用数据类型,数组的元素也可以使引用数据类型,一个一维数组A的元素如果还是一个一维数组类型的,则,此数组A称为二维数组。

  • 二维数组的声明和初始化
    1. int[] arr = new int[]{1,2,3};//一维数组
    2. //静态初始化
    3. int[][] arr1 = new int[][]{{1,2,3},{4,5},{6,7,8}};
    4. //动态初始化1
    5. String[][] arr2 = new String[3][2];
    6. //动态初始化2
    7. String[][] arr3 = new String[3][];
    8. //也是正确的
    9. int[] arr4[] = new int[][]{{1,2,3},{4,5},{6,7,8}};
    10. int[] arr5[] = {{1,2,3},{4,5},{6,7,8}};
    11. int a[][] = new int[4][4];
    12. int b[][] = new int[][]{{1,2,3},{4,5,6},{7,8,9}};
    13. int c[][] = new int[4][];
    14. //错误情况
    15. String[][] arr4 = new String[][4];
    16. String[4][3] arr5 = new String[][];
    17. int[][] arr6 = new int[4][3]{{1,2,3},{4,5},{6,7,8}};
  • 二维数组元素的调用

  • 获取数组的长度

  • 如何遍历二维数组:嵌套for循环

  • 数组元素的默认初始化值

    1. //二维数组的使用
    2. //规定:二维数组分为外层数组元素,内层数组的元素
    3. int[][] arr = new int[4][3];
    4. 外层元素:arr[0],arr[1]等
    5. 内层元素:arr[0][0],arr[1][2]等
    6. public class ArrayTest3 {
    7. public static void main(String[] args){
    8. int[][] arr = new int[4][3];
    9. System.out.println(arr[0])//[I@6d06d69c 16进制的地址值
    10. System.out.println(arr[0][0]);//0
    11. System.out.println(arr);//[[I@6d06d69c 16进制的地址值
    12. double[][] arr3 = new double[4][];
    13. System.out.println(arr3[1]);//null
    14. System.out.println(arr3[1][0]);//空指针异常
    15. }
    16. }
    17. 总结:针对于初始化方式一:比如如:int[][] arr = new int[4][3];
    18. 外层元素的初始化值为:地址值
    19. 内层元素的初始化值为:与一维数组初始化情况相同
    20. 针对于初始化方式二:比如:int[][] arr = new int[4][];
    21. 外层元素的初始化值为:null
    22. 内层元素的初始化值为:不能调用,否则报错。
  • 二维数组的内存结构
    day06_java数组学习笔记 - 图3

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