Java入门——数组
1.一维数组
1.含义及声明
含义:一组数据的容器
声明:数据类型 [] 数组名
2.注意
(1).变量只能存单个数据,数组可以存多个数据;
(2).数组是引用类型;
(3).数组中的数据叫做元素;
(4).每个元素都有编号,叫做下标(索引),下标从0开始;
(5).数组一但初始化后,在内存里会开辟一连串连续的空间,且空间长度不可变;
(6).数组作为一个容器,容器就应该有增删改查的功能,但由于数组的长度不可变,所以数组没有增加删除的功能,只有查询和修改的功能。
2.初始化
1.静态初始化
数组初始化时由程序员指定数据,数组长度由系统根据数据的个数开辟空间。
public static void main(String[] args){
//静态初始化1
String[] names = new String[]{
"小明","小张","小李","小张","小白"};
//静态初始化2
//String[] names;
//names = new String[]{"小明","小张","小李","小张","小白"};
//静态初始化3
//String[] names = {"小明","小张","小李","小张","小白"};
//根据下标获取元素
String n = names[3];
System.out.println(n);
//根据下标设置元素
names[3] = "小罗";
//获取数组中的元素的个数
int len = names.length;
System.out.println("数组的长度为:" + len);
//遍历方法1(从数组开头遍历到结尾) ->for循环遍历
for(int i = 0;i < names.length;i++){
System.out.println(names[i]);
}
//遍历方法2(从数组开头遍历到结尾) ->foreach(增强for循环)遍历
for(String element : names){
//循环依次取出元素赋值给element变量
System.out.println(element);
}
//使用到下标时,使用for循环遍历;
//不使用到下标时,使用foreach循环遍历;
}
2.动态初始化
数组初始化时由程序员指定长度,元素由系统自动分配
默认值:整数类型:0
浮点类型:0.0
字符类型:’ ’
布尔类型:false
引用类型:null
public static void main(String[] args){
//动态初始化1
String[] names = new String[5];
//动态初始化2(先声明,再初始化)
//String[] names;
//names = new String[5];
//根据下标获取元素
String n = names[3];
System.out.println(n);
//根据下标设置元素
names[0] = "小罗";
names[1] = "小张";
names[2] = "小刘";
names[3] = "小李";
names[4] = "小白";
//names[5] = "小邱";//ArrayIndexOutOfBoundsException - 数组下标越界异常
//获取数组中的元素的个数
int len = names.length;
System.out.println("数组的长度为:" + len);//5
//遍历方法1(从数组开头遍历到结尾) ->for循环遍历
for(int i = 0;i < names.length;i++){
System.out.println(names[i]);
}
//遍历方法2(从数组开头遍历到结尾) ->foreach(增强for循环)遍历
for(String element : names){
//循环依次取出元素赋值给element变量
System.out.println(element);
}
//使用到下标时,使用for循环遍历;
//不使用到下标时,使用foreach循环遍历;
}
foreach循环语句:不用下标就可以遍历整个数组。
语法结构:for(元素类型 循环变量的名字:检测元素的数组){
…代码块…
}
3. 排序算法
1.冒泡排序
int [] is = {
69,89,58,47,77};
/*冒泡排序*/
for(int i = 0;i < is.length-1;i++){
for(int j = 0;j <is.length-1-i;j++){
if(is[j]>is[j+1]){
int temp = is[j];
is[j] = is[j+1];
is[j+1] = temp;
}
}
}
//foreach循环遍历
for(int num : is){
System.out.println(num);
}
4.数组的查找
1.顺序查找
顺序查找就是对数组从头到尾遍历。
public class Test02{
public static void main(String[] args){
int [] is = {
69,89,58,47,77};
int num = 77;
//顺序查找(通过for循环来实现)
for(int i = 0;i <is.length;i++){
if(is[i] == num){
System.out.println("查找到了");
}
}
}
}
2.二分法查找
二分法查找就是把数组一分为二去查找,但前提是要先对数组进行排序。
import java.util.Arrays;
//导入Arrays包,用到了里边的排序语句Arrays.sort();
public class Test02{
public static void ma