java中关于数组那点事

------- android培训 java培训 、期待与您交流! ----------
 数组就是相同数据类型的元素按一定顺序排列的集合,就是把有限个类型相同的变量用一个名字命名,然后用编号区分他们的变量的集合,这个名字成为数组名,编号成为下标。组成数组的各个变量成为数组的分量,也称为数组的元素,有时也称为下标变量。数组是在 程序设计 中,为了处理方便, 把具有相同类型的若干 变量 按有序的形式组织起来的一种形式。这些按序排列的同类数据 元素 的集合称为数组。 ——这是百度对数组的定义

首先,数组的定义:
  元素类型[] 数组名 = new 元素类型[] {元素1,元素2,........}        例如int[] arr = new int[5]
public static void main(String[] args) {
//定义一个可以存放3个数组的容器,注意,数组的脚标从0开始
int[] arr = new int[3];
//位数组赋值
arr[0] = 1;
arr[1] = 2;
arr[2] = 3;
System.out.println(arr[0]);
}
也可以这样写
public static void main(String[] args) {
int arr[] = {1,2,3};
System.out.println(arr[0]);
}
后者直接体现了数组的值和个数。数据明确的情况下可以前面中,不明确时用后者。
public static void main(String[] args) {
int arr[] = {1,2,3};
arr = null;
System.out.println(arr[1]);
}


用数组的常见错误:

public static void main(String[] args) {
int arr[] = {1,2,3};
System.out.println(arr[3]);
}
//ArrayIndexOutOfBoundsException:数组越界;访问数组时,访问到数组中不存在的脚标。
public static void main(String[] args) {
int arr[] = {1,2,3};
arr = null;
System.out.println(arr[1]);
}
//NullPointerException:空指针;当引用没有任何指向值为null的情况,该引用还在用于操作实体。

数组的操作

获取数组中德数据,通常会用到遍历


用for循环遍历数组
public static void main(String[] args) {
int arr[] = { 1, 2, 3, 9, 5, 8, 6, 32, 52, 100 };
//arr.length方法获取数组的长度
for (int i = 0; i < arr.length; i++) {
System.err.println(arr[i]);
}
}

获取数组中的最值

获取数组中德最大值
public static int getMax(int[] arr) {
int max = arr[0];
for (int i = 0; i < arr.length; i++) {
if(arr[i]>max){
max= arr[i];
}
}
return max;
}
获取数组中德最小值
public static int getMin(int[] arr) {
int min = arr[0];
for (int i = 0; i < arr.length; i++) {
if(arr[i]<min){
min= arr[i];
}
}
return min;
}

数组的排序

从小到大排序数组(选择排序法)
public static void sort(int[] arr) {
for (int i = 0; i < arr.length-1; i++) {
for (int j = i+1; j < arr.length; j++) {
if(arr[1]>arr[j]){
int temp = arr[i];
arr[j] = temp;
}
}
}
}

从小到大排序数组(冒泡排序)
public static void sort_1(int[] arr) {
for (int i = 0; i < arr.length - 1; i++) {
for (int j = 0; j < arr.length - i - 1; j++)//-x:让每一次比较的元素减少, -1避免越界 
                        {
if (arr[j] > arr[j + 1]) {
int temp = arr[j];
arr[j] = arr[j + 1];
arr[j + 1] = temp;
}
}
}
}
还有一个更简单的排序,这是java为我们提供的
java.util.Arrays.sort(arr)
------- android培训java培训、期待与您交流! ----------

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值