数组:
变量的作用:存储单个数据
数组的作用:存储多个数据
数组的定义:
一段连续的内存空间,线性序列,多个相同的数据类型的数据的有序结合
特点:
数组可以引用各种数据类型,引用数据类型(string)和基本数据类型(int,double,char,boolean)
数组是定长的,长度一旦确定不可改变
数组可以存储多个数据类型
数组是有序的,有索引的
索引:
索引就是连续的内存空间中每一个小空间的序号,从0开始,每次 1
每个数组的第一个空间索引是:0
每个数组的最后个空间索引:数组名.length-1,假设有4个数据分别是0,1,2,3那最后的索引空间名就是4-1
数组长度:
数组名.length
操作数组中的数据
根据索引操作
数组名[索引] arr1 [0]
数组的定义语法:
声明:
数据类型[] 数组名;-->推荐
数据类型 数组名[];
数据类型:规定存储的数据的类型
初始化:第一次创建
动态初始化:先创建数组后赋值
数据类型[] 数组名 =new 数据类型[长度]--->arr1 = new int[5];
arr1 = new int[]{1,2,3};
如果数组只创建不赋值会存在默认值
整数->0 小数->0.0 布尔:false 字符:空字符 引用**string:null
静态初始化:创建数组的时候同时赋值
数据类型[] 数组名= new数据类型[]{值列表}---->double[] arr2 = new double[]{1.1,2.2,3.3,4.4};
数据类型[] 数组名 ={值列表}---->double[] arr2 = {1.1,2.2,3.3,4.4};
public class class001_array {
public static void main(string[] args) {
// 声明
int[] arr1;
//动态初始化
arr1 = new int[3];
//静态初始化
double[] arr2 = new double[]{1.1,2.2,3.3,4.4};
string[] arr3 = {"你好","中国"};
//为数组赋值
arr1[0] = 101;
arr1[1] = 102;
arr1[2] = 103;
//变量重新赋值, arr1引用指向的不同的数组
arr1 = new int[5];
arr1 = new int[]{1,2,3};
//arr1 = {1,2,3}不能这样写;
数据的遍历:
- 普通for循环:
条件i是索引,需要根据索引操作数组名的中的数据
- 增强for循环(for...each):
for(数据类型 变量名:数组名|集合名){
变量名:存储数组中的每一个数据
}
public class class002_each {
public static void main(string[] args) {
char[] arr = {'a','b','c','d'};
//for : i作为索引
for(int i=0;i<=arr.length-1;i ){
system.out.println(arr[i]);
//for..each
for(char ch:arr)
增强for与普通for循环使用区别:
* 普通for循环遍历的是索引,操作索引,使用索引,根据索引操作数组中的数据
* 增强for只能从前到后的获取每一个数据,但是不能操作使用索引
二维数组
一维数组:一维数组就是数组中直接存放数据
二维数组:数组中存放
数组
二维数组:了解
声明:
数据类型[][] 数组名;
数据类型 数组名[][];
数据类型[] 数组名[];
初始化:
动态初始化:先创建数组在赋值
数据类型[][] 数组名=new数据类型[外层的二维数组的长度][内层的一维数组的长度]---->int[][] arr1 = new int[3][2]
数据类型[][] 数组名=new 数据类型[外层的二维数组的长度][];---->double[][] arr2 = new double[2][]
静态初始化:创建数组的同时赋值
数据类型[][] 数组名 = new数据类型[][]{ {},{},{}}---->char[][] arr3 = new char[][]{ {'1','2','3'},{'4','5'},{'6'}};
数据类型[][] 数组名={ {},{},}---->char[][] arr3 = { {'1','2','3'},{'4','5'},{'6'}};
二维数组遍历
双重for循环嵌套
普通for嵌套普通
普通for嵌套增强
增强for嵌套普通
增强for嵌套增强
int[][] arr = { {3,2,1},{7,8},{9}};
//普通for嵌套增强
//i 作为二维数组的索引
for(int i=0;i< arr.length;i ){
for(int num:arr[i])
//增强for嵌套增强
for(int[] array:arr){
for(int i:array){