数组基础
概念:存储一些数据类型相同数据的容器
名词:
元素:数组中存储的一个值
长度:数组中元素的个数
下标:元素在数组中的位置,从0-长度减1
特点:长度不能发生改变,数组是一种引用数据类型.
使用方法:1.声明 2.创建 3.使用
声明
数据类型[] 数组名;
例: int[] num;
创建
动态创建
带值的
数组名 = new 数据类型[]{值1,值2,....};
不带值的
数组名 = new 数据类型[长度
注:动态创建声明和创建可以在一行,也可以不在.
静态创建
数据类型[] 数组名 = {值1,值2,....};
注:静态创建创建声明必须在一行.
new 关键字
含义:创建
从内存来看,new是堆中创建一个新的空间.
使用
查询:(查询数组中指定位置的值)
语法:数组名[下标];
查询长度
语法:数组名.length
修改数组中指定位置的值
语法:数组名[下标] = 值;
遍历
作用:依次取出数组中的值;
语法:1.得到所有下标
2.取出老数组中的值,下标从0-长度减1;
3.使用
foreach
语法;for(数据类型 变量名:数组名){
}
例:
/**
* 数组的遍历
*/
public class Demo04 {
public static void main(String[] args) {
String[] strs = {"Java","Python","HTML","CSS","JS"};
/**
* i的值从0起,到数组长度-1
* 所以此时i的取值就是strs数组的下标的取值范围
*/
for (int i = 0; i < strs.length; i++) {
//通过下标获取其对应的值
String text = strs[i];
//打印
System.out.println(text);
}
System.out.println("---使用foreach遍历---");
for(String s:strs) {
System.out.println(s);
}
}
}
复制
作用:将老数组中的值全部转移到新数组
语法:1.遍历,取出老数组中的值
2.创建新数组并将老数组的值赋值到相应位置.
例:
public class Demo05 {
public static void main(String[] args) {
//老数组
int[] oldNums = {1,3,5,7,9,11,1};
//新数组
/**
* 注意:
* 1,新数组的长度要等于老数组的长度
* 2,新数组的数据类型要与老数组的数据类型一致
*/
int[] newNums = new int[oldNums.length];
//遍历老数组
for (int i = 0; i < oldNums.length; i++) {
//通过下标获取老数组中对应位置的值
int x = oldNums[i];
//将从老数组中取出的值赋值给新数组对应的位置
newNums[i] = x;
}
//当循环结束后,老数组中的数据已经完全复制给了新数组
/** 遍历新数组查看是否复制成功 */
for (int i : newNums) {
System.out.print(i+",");
}
}
}
扩容
作用:将老数组的长度变大]
语法:
1.遍历老数组
2.创建新数组,长度增加
3.将老数组值赋值到新数组相对应位置
4.将新数组赋值给老数组.
例:
/**
* 数组的扩容
*/
public class Demo06 {
public static void main(String[] args) {
//老数组
String[] oldStrs = {"1","Java","Python"};
//新数组
String[] newStrs = new String[oldStrs.length+5];
//遍历老数组
for (int i = 0; i < oldStrs.length; i++) {
String s = oldStrs[i];
//将老数组中取出的值,赋值给新数组对应的位置
newStrs[i] = s;
}
//当循环结束后老数组中的数据已经完全复制给了新数组
//将新数组整体给老数组
oldStrs = newStrs;
//遍历老数组查看结果
for (String string : oldStrs) {
System.out.println(string);
}
}
}
方法与数组结合
1.在形参中调用数组,在实参中传递数组
2.return返回值使用
可变形参的使用
作用:数据长度可以发生改变的形参
使用位置:形参变量的末尾
语法:数据类型...数组名
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。