Java数组和Arrays 类
1、创建数组的三种方式:
①动态初始化:数组的初始化和数组元素的赋值操作分开进行
dataType[ ] arrayRefVar = new dataType [ arraySize ] ;
Emp [] emps=new Emp[3];
Emp emp1=new Emp(null,"a1",12,"0");
Emp emp2=new Emp(null,"aa2",13,"1");
Emp emp3=new Emp(null,"aaa3",14,"0");
emps[0]=emp1;
emps[1]=emp2;
emps[2]=emp3;
②类型推断: dataType[ ] arrayRefVar = { value1,value2,..., valueN };
Emp emp1 = new Emp(null, "a", 23, "男");
Emp emp2 = new Emp(null, "aa", 23, "男");
Emp emp3 = new Emp(null, "aaa", 23, "男");
Emp[] emps = {emp1, emp2, emp3};
③静态初始化:数组的初始化和数组元素的赋值操作同时进行
dataType[ ] arrayRefVar = new dataType [ ] {value1,value2,..., valueN };
Emp emp11=new Emp(8,"sdh",133,"1");
Emp emp22=new Emp(9,"sds",134,"0");
Emp[] emps11 = new Emp[] {emp11,emp22};
总结:有且总有一个体现元素个数的位置
2、数组的特点:
①数组是序排列的
②数组属于引用数据类型的变量。数组的元素,既可以是基本数据类型,也可以是引用数据类型
③创建数组对象会在内存中开辟一整块连续的空间
④数组的长度一旦确定,就不能修改。
3、数组的分类:
① 维数:一维数组、二维数组、。。。
② 数组元素的类型:基本数据类型元素的数组、引用数据类型元素的数组
4、一维数组元素的默认初始化值
> 数组元素是整型:0
> 数组元素是浮点型:0.0
> 数组元素是char型:0或'\u0000',而非'0'
> 数组元素是boolean型:false
> 数组元素是引用数据类型:null
5、数组常见的异常类型
①.数组角标越界异常:ArrayIndexOutOfBoundsException
②.空指针异常:NullPointerException
二维数组的声明与初始化
正确的方式: int[] arr = new int[]{1,2,3};//一维数组
//静态初始化
int[][] arr1 = new int[][]{{1,2,3},{4,5},{6,7,8}};
//动态初始化1
String[][] arr2 = new String[3][2];
//动态初始化2
String[][] arr3 = new String[3][];
//也是正确的写法:
int[] arr4[] = new int[][]{{1,2,3},{4,5,9,10},{6,7,8}};
int[] arr5[] = {{1,2,3},{4,5},{6,7,8}};//类型推断
二维数组元素的默认初始化值
* 规定:二维数组分为外层数组的元素,内层数组的元素
* int[][] arr = new int[4][3];
* 外层元素:arr[0],arr[1]等
* 内层元素:arr[0][0],arr[1][2]等
*
* 数组元素的默认初始化值
* 针对于初始化方式一:比如:int[][] arr = new int[4][3];
* 外层元素的初始化值为:地址值
* 内层元素的初始化值为:与一维数组初始化情况相同
*
* 针对于初始化方式二:比如:int[][] arr = new int[4][];
* 外层元素的初始化值为:null
* 内层元素的初始化值为:不能调用,否则报错。
Arrays 类
java.util.Arrays 类能方便地操作数组,它提供的所有方法都是静态的。
具有以下功能:
- 给数组赋值:通过 Arrays.fill 方法。
- 对数组排序:通过 Arrays.sort 方法,按升序。
- 比较数组:通过 Arrays.equals 方法比较数组中元素值是否相等。
- 查找数组元素:通过 Arrays.binarySearch 方法能对排序好的数组进行二分查找法操作
- 将数组变成字符串(public static String toString(数组))Arrays.toString()

Java数组和Arrays 类的更多相关文章
- Java数组05——Arrays类
Arrays类讲解 package array; import java.util.Arrays; public class ArrayDemon07 { public static ...
- java数组中Arrays类
使用Arrays类之后要先导入包,即在开头添加这行: import.java.util.Arrays 1,排序:Arrays.sort(数组名) 排序后为数组升序. 2,将数组转换成字符串:Array ...
- Java常用API(Arrays类)
Java常用API(Arrays类) 什么是Arrays类? java.util.Arrays 此类包含用来操作数组的各种方法,比如排序和搜索等.其所有方法均为静态方法,调用起来 非常简单. 这里我们 ...
- Java数组声明创建和使用以及多维数组、Arrays类、稀疏数组
目录 数组概述 数组声明创建 内存分析 java内存分析 堆 栈 方法区 三种初始化 静态初始化 动态初始化 数组的默认初始化 数组的四个基本特点 数组边界 小结: 数组使用 数组基础使用 For E ...
- jdk1.8 对数组及arrays类对数组的操作与增强
数组的初始化有两种方式 静态初始化: 初始化时由程序员显示置顶每个数组的初始值,由系统决定数组长度.如: int[] a1 = new int[] {1,2,3,4}; 动态初始化:初始化时由程序员只 ...
- Java基础 【Arrays 类的使用】
package com.zuoyan.sort; import java.util.Arrays; public class ArraysClassDemo { public static void ...
- Java中的Arrays类使用详解
首先先创建一个打印数组的方法,方便后面直接使用 public static void output(int []a) { for(int i=0;i<a.length;i++) { System ...
- java中的Arrays类
今天刚接触了数组,学到了几个比较常用的方法 Fill方法:给数组赋值 sort方法:给数组升序 equals方法:比较数组中元素 值是否相等 binarySearch方法:对排序好的数组进行二分查找法 ...
- [java初探05]__数组的简单认识及Arrays类的常用方法
数组是具有相同数据类型的一组数据的集合.在程序设计中,这样的集合称之为数组.数组的每个元素都具有相同的数据类型,在Java中数组也被看为一个对象. 在里,了解了数组的定义之后, 我们知道了,数组并不是 ...
随机推荐
- 使用GO语言通过Stream Load实现Doris数据导入
Doris github地址欢迎加Star apache/incubator-doris: Apache Doris(Incubating) is an MPP-based interactive S ...
- 0基础学习docker
进入docker容器命令 docker exec -it 容器id bash 获取镜像 # 1.获取镜像,镜像托管仓库 docker search centos # 查询centos镜像 docker ...
- HCNP Routing&Switching之MUX VLAN
前文我们了解了代理ARP相关话题,回顾请参考https://www.cnblogs.com/qiuhom-1874/p/16188230.html:今天我们再来聊一聊vlan隔离相关话题MUX VLA ...
- Flutter 状态管理框架 Provider 和 Get 分析
文/ Nayuta,CFUG 社区 状态管理一直是 Flutter 开发中一个火热的话题.谈到状态管理框架,社区也有诸如有以 Get.Provider 为代表的多种方案,它们有各自的优缺点. 面对这么 ...
- go convert slice to struct
Question: in golang how to convert slice to struct scene 1:use reflect convert slice to struct func ...
- Flutter异步与线程详解
一:前言 - 关于多线程与异步 关于 Dart,我相信大家都知道Dart是一门单线程语言,这里说的单线程并不是说Dart没有或着不能使用多线程,而是Dart的所有API默认情况下都是单线程的.但大家也 ...
- Ruby 趣学笔记(二)
Ruby 趣学笔记(二) 本文写于 2020 年 5 月 7 日 类的继承 之前忘记写了,Ruby 的继承写法是: class IPhone < Phone def initialize(id, ...
- 一图详解java-class类文件原理
摘要:徒手制作一张超大的类文件解析图,方便通过浏览这个图能马上回忆起class文件的结构以及内部的指令. 本文分享自华为云社区<[读书会第十二期]这可能是全网"最大".&qu ...
- 710. Random Pick with Blacklist - LeetCode
Question 710. Random Pick with Blacklist Solution 题目大意:给一个N,表示一个范围[0,N),给一个黑名单列表blacklist,其中blacklis ...
- 150_1秒获取Power BI Pro帐号
博客:www.jiaopengzi.com 请点击[阅读原文]获取帐号 一.背景 当你来到这篇文章的时候,我想你已经在网上搜索了一圈了.网上有一大把教你如何注册Power BI帐号的方法,我们这里就不 ...