ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

Java数组

2022-04-27 19:00:26  阅读:148  来源: 互联网

标签:Java i1 元素 Arrays int 数组 array


Java 数组

数组的定义

相同类型数据的有序集合

数组的创建

首先必须声明数组变量,才能在程序中使用数组

声明方法

dataType[] arrayRefVar; //首选方法

dataType arrayRefVar[];//可以使用但不是首选

//Java语言中使用new操作符来创建数组,语法如下:
dataType[] arrayRefVar = new dataType[arraysize]
    
//获取数组长度的方法
arrayRefVar.length

数组的特点

  • 其长度是确定的,数组一旦被创建,它大小是不可以改变的
  • 其元素必须是相同类型的,不允许出现混合类型
  • 数组中的元素可以是任何数据类型,包括基本类型和引用类型
  • 数组变量是引用类型,数组也可以看成是对象,数组中的每个元素相当于该对象的成员变量.数组本身就是对象,Java中对象是在堆中的,因此数组无论保存原始类型还是其他对象类型,数组对象本身是在堆中的.

数组边界

下表的合法区间:[0,length-1],如果越界就会报错.

错误

ArrayIndexOutOfBoundsException 数组下标越界异常!

Arrays类

数组工具类java.util.Arrays

Arrays类中的方法都是static修饰的静态方法,在使用的时候可以直接使用类名进行调用,而"不用"使用对象来调用(注意:是"不用"而不是"不能")

具体常用功能

  • 给数组赋值: 通过fill方法
  • 对数组排序: 通过sort方法,按升序
  • 比较数组:通过equals方法比较数组中元素值是否相等
  • 查找数组元素:通过binarySearch方法能对排好序的数组进行二分查找操作.

冒泡排序 Bubble Sorting

package com.yu.Array;

import java.util.Arrays;

public class bubbleSorting {
    public static void main(String[] args) {
        int[] a={1,5,6,2,4,6,8,0,9};
        sort(a);
        System.out.println(Arrays.toString(a));

    }
    public static int[] sort(int[] array){
        int exchange =0;
        for (int i = 0; i < array.length-1; i++) {
            for (int i1 = 0; i1 < array.length-1-i; i1++) {
                    if(array[i1+1]>array[i1]){
                        exchange=array[i1+1];
                        array[i1+1]=array[i1];
                        array[i1]=exchange;
                    }
            }

        }
        return array;
    }
}

exchange 交换

稀疏数组

定义

当一个数组中大部分元素为0,或者为同一值时的数组时,可以使用稀疏数组来保存该数组.

稀疏数组的处理方式

  • 记录数组一共有几行几列,有多少个不通知
  • 把具有不同值的元素和行列及值记录在一个小规模的数组中,从而缩小程序的规模

标签:Java,i1,元素,Arrays,int,数组,array
来源: https://www.cnblogs.com/yuxxiao/p/16200165.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有