首页 > 编程语言 >Java(14)数组

Java(14)数组

时间:2023-02-01 22:22:58浏览次数:49  
标签:Java 14 int double Arrays 数组 new array

一、数组的基本概念
1、什么是数组
数组是相同类型元素的集合。

创建数组的时候,Java就会再内存中分配一段连续的空间来存放数组的内容。

每一个数组内容都有自己的编号,这个编号从0开始的,也就是数组的下标从0开始。通过数组的下标来访问数组的内容。

2、一维数组的创建和初始化
创建一个数组:

 

T[] 数组名 = new T[N];

T:数组中元素的类型。

T[]:表示是数组类型,[]也可以放在数组名的后面。这里的[]不能有任何的数组

N:创建数组要的长度。 

 

int[] array1 = new int[10]; // 创建一个可以容纳10个int类型元素的数组
double[] array2 = new double[5]; // 创建一个可以容纳5个double类型元素的数组
String[] array3 = new String[3]; // 创建一个可以容纳3个字符串元素的数组

 

int[] array1 = new int[10]; // 创建一个可以容纳10个int类型元素的数组
double[] array2 = new double[5]; // 创建一个可以容纳5个double类型元素的数组
String[] array3 = new String[3]; // 创建一个可以容纳3个字符串元素的数组

要对数组进行初始化,有两种方式。

静态初始化:知道数组的内容,就可以静态初始化。

int[] arr = { 1,2,3,4 }; //省略情况
int[] arr = new int[] { 1,2,3,4 };//可以省略new int[]

当然,我们可以对数组的内容进行修改。将上面的array[0]改为20:

array[0] = 20;
System.out.println(array[0]);

2、数组的遍历
在Java中,对数组的遍历有两种方式:第一种是for,第二种是增强for(foreach)。

由于Java是面向对象的语言,在Java中,一切都是对象,比如数组。数组这个对象有它的属性,比如数组的长度等,基于这一点,我们可以不用刻意知道数组的长度,使用.length来获取数组的长度。

//for
int[]array = new int[]{10, 20, 30, 40, 50};
for(int i = 0; i < array.length; i++){
    System.out.println(array[i]);
}

 

//foreach
int[] array = {1, 2, 3};
for (int x : array) {
System.out.println(x);
}
//说明:
//int x :array
//数组中的数据类型+变量名,这里array数组里面的类型是int
//array是数组名
//foreach
double[] array = {1.0, 2.0, 3.0};
for (double x : array) {
System.out.println(x);
}

数组常用的方法

Arrays.toString方法

将一维数组变成字符串。二维数组使用Arrays.deepToString方法。

Arrays.copfOf方法

从0下标来时复制指定长度数组的内容到新的数组中。

Arrays.copyOfRange方法

和Arrays.copfOf方法类似,这个是指定范围的拷贝。范围是左闭右开区间。

public static void main(String[] args) {
    int[] array = new int[] { 1,2,3,4 };
    int[] ret = Arrays.copyOfRange(array,2,4);
    System.out.println(Arrays.toString(ret));//[3,4]
}

Arrays.sort方法

对数组进行升序排序。

Arrays.equal方法

判断两个数组的内容是否相同

Arrays.binarySearch方法

二分查找数组内容,使用前先sort排序数组。

 

常见异常

NullPointerException 空指针异常

ArrayIndexOutOfBoundsException 索引值越界

标签:Java,14,int,double,Arrays,数组,new,array
From: https://www.cnblogs.com/zhbx/p/17084265.html

相关文章

  • leetcode 中等(设计):[146, 155, 208, 211, 284, 304, 307, 341, 355, 380]
    目录146.LRU缓存155.最小栈208.实现Trie(前缀树)211.添加与搜索单词-数据结构设计284.顶端迭代器304.二维区域和检索-矩阵不可变307.区域和检索-数组可修......
  • 【简单版】【Java语言刷Leetcode一5道题】Day2
    ......
  • 在 JavaScript 中编写Go式错误处理的async/await
    ES7引入​​async/await​​​允许开发人员编写看起来像同步的异步JavaScript代码。在当前的JavaScript版本中,还可以使用​​Promises​​,这些功能都是为了简化异步......
  • JavaWeb
    1.基本概念1.1前言web开发:web,网页的意思:www.baidu.com静态web   html,css  提供给所有人看的数据始终不会变化!动态web  几乎所有的网站  提供给所有......
  • 2114
    一个 句子 由一些 单词 以及它们之间的单个空格组成,句子的开头和结尾不会有多余空格。给你一个字符串数组 sentences ,其中 sentences[i] 表示单个 句子 。请你......
  • JAVA(13)java character
    Character类概述Character类用于对单个字符进行操作,Character类在对象中包装一个基本类型char的值,在实际开发中,我们经常会遇到需要使用对象,而不是内置数据类型的情况,为了解......
  • java遍历文件夹文件
      遍历  D:\\书籍目录下所有的文件。含子目录文件 packagecn.shuishandt.date;importjava.io.File;publicclassTestFileTree{ publicstaticvoid......
  • Ubuntu & CentOS配置JAVA JDK环境
    Linux配置JavaJDK环境下载地址:​​https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html​​根据系统相应版本进行下载。安装配置解......
  • 算法随想Day1【数组】| LC704-二分查找、LC27-移除元素
    LC704.二分查找二分法编码时的难点,在于对数组边界问题的处理上。处理该问题的思想有两种,这两者的区别是基于数学里区间的概念去解释的。对于区间,[1,1]的取值是合理的,而[......
  • P3374 树状数组 1
    题目链接用途:以O(logn)的复杂度维护前缀和这个讲的超级清楚我就不写了(这里只贴下具体代码实现:lowbit函数:查询第x个元素的前缀和:将区间的第i个元素增加v:......