java数组初识

数组的标识:数据类型后面加个中括号[]

数组一共有四种声明的方法:

1、int arr={1,2,3,4,5,6,7,8,9};
2、int[] arrA={1,2,3,4,5,6,7,8,9,10};
3、int[] arrB=new int[6];//标识可以存储六个值
4、int[] arrD = null;

int[3] 数组里面显示的是0

double[3]数组里面显示的是0.0

//会显示数组中的内容,不是这个数组所在的位置

System.out.println("arrA:"+Arrays.toString(arrA));//变量使用必须要赋值

//运行这段语句的时候,输出下列字段

System.out.println(arrA);

//数据类型标识 @ "内存地址" 数组存储多个值,就是把这些值放到一个地方然后数组这个变量只记住这些个值存储在那个位置里

arrA:[I@4554617c

arrB:[I@74a14482

arrD:null

-------------------------------------------------------

                        int[] arr = {1,2,3,4,5,6};//计数是从1开始的

//值所在数组的位置          0 1 2 3 4 5        编号0 下标 索引

System.out.println(Arrays.toString(arrA)); //输出数组内容

arrA[arrA.length-1]=100;//获取最后一个元素并且修改掉内容

System.out.println(Arrays.toString(arrA)); //输出修改后数组内容

System.out.println("数组的长度:"+arrA.length);//length数组的长度

for (int i = 0; i < arrA.length; i++){
    System.out.println("arrA["+i+"]"+arrA[i]);
}

//如何获取数组的最后一个元素(也就是最后一个下标)

System.out.println("最后一个下标:"+(arrA.length-1));
//超过范围会报错,负数或者大于下标都会报错
//下标越界异常。。。。冒号后面就是越界位置
//ArrayIndexOutOfBoundsException: 5
int[] arrA = {2,36,5,8,96}
System.out.println(arrA[0]);
arrA[0]=33;
System.out.println(arrA[0]);
System.out.println(arrA[1]);
System.out.println(arrA[2]);
System.out.println(arrA[3]);
System.out.println(arrA[4]);
import java.awt.*;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.Scanner;

public class Ex {
    public static void main(String[] args) {
        //1、做累加
        {
            int[] arr1 = {1,5,6,38,4,3,19,65};
            int sum = 0;
            for (int i = 0; i < arr1.length; i++) {
                sum+=arr1[i];
            }
            System.out.println("sum:"+sum);
        }
        //2、求最大值和最小值
//(1)排序的做法
        {
            int[] arr1 = {1,5,6,38,4,3,19,65};
            System.out.println("排序前:"+Arrays.toString(arr1));
            Arrays.sort(arr1);
            System.out.println("排序后:"+Arrays.toString(arr1));
            System.out.println("最小值:"+arr1[0]);
            System.out.println("最大值:"+arr1[arr1.length-1]);
        }
//(2)设置最大最小值做法
        {
            int[] arr2 = {2,3,8,0,7,9,5,4};
            int max=arr2[0],min=arr2[0];
            for (int i = 0; i < arr2.length; i++) {
                if (max<arr2[i]){
                    max=arr2[i];
                }
                if (min>arr2[i]){
                    min=arr2[i];
                }
            }
            System.out.println("max="+max);
            System.out.println("min="+min);
        }
        //3、判断一个元素是否在数组中
        {
            int[] arr3 = {1,2,3,4,5};
            int find=3;
            int index=-1;
            for (int i = 0; i < arr3.length; i++) {
                if (arr3[i]==find){
                    index=i;
                    break;
                }
            }
            System.out.println("index:"+index);
            //4、替换元素
            int[] arr4 = {2,3,6,5,4,8};
            arr4[3]=65;
            System.out.println(arr4[3]);
        }
        //5、增加
        {
            int[] arr = {1,2,3};
            List<Integer> list1 = new ArrayList<Integer>();
            list1.add(1);
            list1.add(2);
            list1.add(3);
            list1.add(2,4);
            System.out.println(list1);
        }
        {//合并,整合两个数组
            int[] arrA = {1,2,3},arrB = {4,5,6};
            int[] arrC = new int[arrA.length+arrB.length];
            for (int i = 0; i < arrA.length; i++) {
                arrC[i]=arrA[i];
            }
            for (int i = 0; i < arrB.length; i++) {
                arrC[i+arrA.length]=arrB[i];
            }
            System.out.println(Arrays.toString(arrC));
        }
        //6、删除
        {
            //删除数组中的某一个元素的方法:
            //把最后一个元素代替制定的元素,然后数组缩容
            Scanner sc = new Scanner(System.in);
            int[] arr = {1,5,6,2,4,8,3,9,7};
            System.out.println(Arrays.toString(arr));
            System.out.println("输入删除第几个元素:");
            int n = sc.nextInt();
            sc.close();
            //把最后一个元素代替制定的元素
            arr[n-1]=arr[arr.length-1];
            //数组缩容
            arr = Arrays.copyOf(arr, arr.length-1);
            System.out.println(Arrays.toString(arr));
        }

//-------------------------------------------------------
        //生成随机数0-1(不包括1)之间的一个double类型
        double random = Math.random()*100;
        //类型转换 小数点类型转换为整数类型,那么就没有小数点了
        int x=(int)random;
        System.out.println(random);
        System.out.println(x);
//-------------------------------------------------------
        //按照这行写法就可以得到你想要的随机数
        for (int i = 0; i < 10; i++) {
            int y = (int) (Math.random()*100);
            System.out.println("y="+y);
        }
    }
}

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值