数组
数组可以存放多个同一种类型的数据,即数组就是一组数据
简单来说 数组就像一栋楼,[] 中的下标代表的是房间号,hers[i]里面的值代表的是房间里面的东西
double[] hers = {2,3,4,5,6,7};
for(int i = 0 ; i < 6; i++){
System.out.println(hers[i]);
}
使用方法
数据类型 数组名[] = new 数据类型[空间大小]
注意事项和细节
1.数组是多个相同类型数据的组合,实现对这些数据的统一管理。
2.数组中的元素可以是任何数据类型,包括基本类型和引用类型,但是不能混用。
3.数组的默认值
* int、short、byte、long 默认值0
* double 、float 默认值0.0
* char 默认值 \u0000
* boolean 默认值 false
* String 默认值 null
4.使用步骤:1.声明数组并开辟空间 2.给数组各个元素赋值 3.使用数组
5.数组的下表是从0开始的。
6.数组的下标必须在指定范围内使用,否则报:下标越界异常
7.数组属引用类型 ,数组型数据是对象(object)
数组在默认情况下是引用传递,赋的值是地址,赋值方式为引用赋值。
// 这是一个地址,arr2变化会影响到arr1,
// 为什么会影响,因为俩个数组指向的地址都是同一个
int[] arr1 = {1,2,3};
int[] arr2 = arr1;
// 解决方法 开辟一个新的空间
int[] arr3 = new int[arr1.length];
for(int i = 0; i < arr1.length; i++){
arr3[i] = arr1[i];
}
// 数组的反转 思路 : 取一个变量 ,将其中一个值赋予个变量,在赋值代换
int[] arr = new int[10];
int len = arr.length;
for(int i = 0; i < len; i++){
int temp = arr[i];
arr[i] = arr[len-i-1];
arr[len-i-1] = temp;
}
数组的缩减
import java.util.Scanner; public class Hello { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); int [] reduce = new int[5]; for(int i = 0; i < 5; i++) reduce[i]=i+1; while (true){ if(reduce.length == 1) break; int [] res = new int[reduce.length-1]; for(int i = 0; i < res.length; i++){ res[i] = reduce[i]; } //将res的地址赋予给reduce,从而进行减少操作 reduce = res; for(int i = 0; i < res.length; i++){ System.out.print(res[i] + "\t"); } System.out.println(""); System.out.println("请输入字符"); char key = scanner.next().charAt(0); System.out.println("你输入的是"+key); if(key == 'n') break; else{ System.out.println("继续操作"); } } } }
冒泡排序
将一组无序的数据,俩俩比较,最终以一定的规律形成一个有序的序列
import java.util.Scanner;
public class Hello {
public static void main(String[] args) {
/**
* 对下面这组数据进行从小到大
* 冒泡排序主要是每一轮筛选当前轮最大的数,需要比较的个数依次减一
*/
Scanner scanner = new Scanner(System.in);
int[] reduce = {19,18,17,16,15};
for(int i = 0; i < 5; i++){
for(int j = 0; j < 4 - i ; j++){
if(reduce[j] > reduce[j+1]){
int temp = reduce[j+1];
reduce[j+1] = reduce[j];
reduce[j] = temp;
}
}
}
for (int i = 0; i < 5; i++) System.out.print(reduce[i] + "\t");
// 15 16 17 18 19
}
}
二维数组
二维数组使用细节和注意事项
1. 一维数组的声明方式有:int[] x 或者 int x[]
2. 二维数组的声明方式有:int[][] x 或者 int x[][] 或者 int[] x[]
//二维数组其实就相当于一张表格
// 当不确定有多少个元素的时候
int [][] arr = new int[3][];
for(int i = 0; i < arr.length; i++){
arr[i] = new int[i+1];
}
文章评论