数组

声明

  1. 声明
    • 数组声明后不会分配内存,必须new
    1. 类型[] 数组名 //建议使用
    2. 类型 数组名[]
  2. 数组名 = new 类型[大小]
e.g.
1
int [] arr = new int[8];

使用

  • 数组下标从0开始

赋值

  • 数组名[下标]=数据

    e.g.
    1
    arr[5]=8;

访问

  • 数组名[下标]

    e.g.
    1
    System.out.println(arr[5]);

初始化

动态初始化

  • 先声明,再赋值

静态初始化

  • 声明的同时赋值

    类型[] 数组名 = {数据1, 数据2, 数据3,…}

    e.g.
    1
    int[] arr = {1, 5, 9, 8, 7};

二维数组

  • 二维数组即二维表,二维数组的每一行都是一个一位数组

声明

  • 同一维数组声明

    类型[][] 数组名 = new 类型[行数][列数]

    e.g.
    1
    int [][] arr = new int[5][5]

使用

赋值
  • 数组名[i][j] = 数据

    e.g.
    1
    arr[3][5]=9;

初始化

动态初始化
  • 先声明,再赋值
静态初始化
  • 类型[][] = { {第一行数据}, {第二行数据}, {第三行数据}, …}

字符串

声明

  1. String 变量名 = "数据"; //建议使用
  2. String 变量名 = new String("数据");

比较

  • 基本类型可使用==比较大小,String类型必须使用equals方法

    字符串1.equals(字符串2)

    e.g.
    1
    str1.equals(str2);

常用方法

方法 功能 返回类型
length() 求字符串长度 int
toCharArray() 将字符串转为char数组 char []
charAt(int i) 求第i个下标的字符 char
indexOf(String s) 求s在本字符串的起始位置 int
trim() 取出前后空格 String
### 其他
  • String每次改变内容,都会开辟新内存空间,更改地址。
  • String是作为值传递的。

StringBuffer

  • 动态分配内存地址的String类,提高效率

StringBuilder

  • 单线程下,StringBuilder比StringBuffer快