数组
数组的定义
- 本质上就是定义多个变量,是同一种类型数据的集合。其实数组就是一个容器。
- 顾名思义就是一组"数",这个"数"可以是int类型(整数),double类型(浮点数,多精度,精确到浮点后两位),float类(浮点数,单精度,精确到浮点后一位)型甚至是string类型(字符串)。
数组的构成格式
- 格式一
元素类型[] 数组名 = new 元素类型[元素个数或数组长度];
// An highlighted block
//"[ ] "括号内给出了明确的范围能存几个元素"
int[] arr = new int[5];
- 格式二
// An highlighted block
int[] arr = new int[]{3,5,1,7};
//注释大括号"{}"中的数可以更直观的看出元素的个数和范围
int[] arr = {3,5,1,7};
数组的初始化:就是给数组预先放置一些值。
1. 数组有默认值. byte,short,int ,long默认值都是0
2. float,double默认值都是0.0,
3. boolean默认值是false
4. char类型默认值是空字符
数组的优点
不论写多少数,自己可以给数组中的元素从“0”开始编号,而且可以通过循环来控制操作数组。
索引(下标)
1.在定义好数组后,打印它出来是一串字符而不是具体的数字,而这串字符其实是数字的一个地址,若要访问具体值就要用到索引**
2.每个存入的数组都会有一个对应的坐标,这就是索引,并且索引是从"0"开始的。
3.访问具体数值的格式:
// An highlighted block
//定义一个数组
int [] sace=new int[]{30,31,33,45,55};
public static void main(String[] args) {
Demo n=new Demo();
System.out.println(n.sace[1]);
//每个元素对应一个下标,“[ ]”为"1",下标从零开始,所以读取到的元素就是"31".
}
数组的特点
-
长度确定。数组一旦被创建,它的大小就是不可以改变的。
-
元素必须是相同类型,不允许出现混合类型。
-
数组中的元素可以是任何数据类型,包括基本数据类型和引用类型。
元素的赋值规则
只能给元素逐个赋值,不能给数组整体赋值。
数组范围大小一旦给定就不允许改变
- 例如给十个元素全部赋1值,只能写成
// An highlighted block
int a[10]={1,1,1,1,1,1,1,1,1,1};
而不能写成
// An highlighted block
int a[10]=1;
2.如给全部元素赋值,则在数组中说明,可以不给出数组元素的个数,例如:
// An highlighted block
int a[5]={1,2,3,4,5}
可写成
// An highlighted block
int a[]={1,2,3,4,5};
数组有一个属性:
-
length
-
length来表明数组的长度,也就是可以放置多少个数据
数组的分类(分为两类)
一维数组 | 多维数组(常见的是二维) |
---|---|
是一条线性结构 | 是一个平面结构(行列结构) |
一维数组
// An highlighted block
int a[]={1,2,3,4,5};;
二维数组(又分为两种)
- 齐整数组(每行每列都相等)
// An highlighted block
int[ ] [ ] arr=new int[ 5] [5 ];
- 非齐整数组
// An highlighted block
//定义非齐整数组,第一行一列,然后依次每一行的列数多一列
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
int n = scan.nextInt();
int[][] arr = new int[n][];
for (int i = 0; i < arr.length; i++) {
//表示每一行有多少个元素
arr[i] = int[i + 1];
//假如这一行有四个元素,列数只能从0开始数,那么j必然小于arr[i](四个元素)
for (int j = 0; j < arr[i].length; j++) {
//i ,j 坐标处的数维i+j
arr[i][j] = i + j;
System.out.print(arr[i][j] + " ");
}
System.out.println();
}
}
;
给定n数值,就会形成一定的非齐整数组,如下图(n的值为 5)
Java中的数据类型
基本类型
-
byte(字节类型 存整数)(1)
-
short (短整型) (2)
-
int (整数)(4)
-
long (长整型)(8)
-
float (浮点类型 单精度)(8)
-
double (浮点类型 多精度) (16)
-
char (字符类型 一个字符能储存一个汉字) (1)
-
boolean (布尔 ture fals) (1
引用类型
- 除了基本类型以为都是引用类型,如class,接口,数组等。
数据类型的转换
- 自动转换:低类型的数据遇到高类型的数据会自行转换为高类型的数据
如:
数值型数据的转换:byte→short→int→long→float→double。
字符型转换为整型:char→int。