Java十分钟掌握数组与常见异常

数组的定义

1:单个变量能存储信息

2:用来存储具有相同数据类型的数据集合,可以使用共同的名字来引用数组中存储的数据。

特点

数组可以存储任何类型的数据,包括原始数据类型和引用数据类型,但是一旦指定了数组的类型之后,就只能用来存储指定类型的数据。

数组的使用

  • 声明一个数组变量来存放该数组

语法

数据类型 [] 数组名

数据类型 数组名[]

//声明一个int类型 名为 numebr 的数组
int [] number;
int number [];
//以上两种方法都可以
  • 创建一个新的数组对象并将其赋值给上一步所创建的数组变量:

1:使用new运算符

int [] number = new [5];
// 意思是把number这个数组的长度设置为5,
//但是数组的长度一旦被设置,就无法更改

2:直接初始化数组

int [] number = {1,2,3,4,5,6}
//也可以直接用进行赋值,写入相同类型的数值即可

3:访问或修改此数组中存储的数据

a:如果需要访问数组中的元素,需要使用数组名[下标]的形式访问

b:注意数组的最大下标是:数组的长度-1;最开始的下标是:0

c:数组的长度可以通过使用数组的属性length获取,每一个数组对象都会有length属性来表示数组的长度,也即数组元素的个数

//输出number数值第2个数字
System.out.println(number[1])

4:遍历数组:

若要把数组内的所有元素都输出一边,可以采用for循环的方式

int [] numebr = {1,2,3,4,5}
for(int i=0;i<number.length;i++){
		System.out.println(number[i])
}
  • 创建二维数组

二维数组的创建同样有两种方式:

方式一:

使用new运算符

int [][] number = new int[5][5];

方式二:声明数组并且赋初始值

 int [][] nuber = {{1,2,3,},{4,5,6,},{7,8}};
 //二维数组就是在一个大的数组内,还包含了二级数组,可以理解成嵌套的意思
 //若要输出二维数组,也可以采用多个for循环的方式
 int [][] nuber = {{1,2,3},{4,5,6},{7,8,9}};
        for(int i =0;i<nuber.length;i++){
            for (int j = 0;j<nuber.length;j++){
                System.out.println(nuber[i][j]);
            }
        }

需要注意的问题:

数组越界异常报错:

数组越界属于运行时异常,当数组访问长度超过数组本身长度时,就会抛出数组越界异常 java.lang.ArrayIndexOutOfBoundsException

数组指向和传递

引用传递的本质是栈内存中的**字段(集合)**指向堆内存中的数据。当发生数组的赋值或者数组的函数参数传递时,传递的是值得引用,也就是将指向该数据的指针传递,使得指向同一块数据内存,从而达到数组传递的目的。所以,当堆内存的数据时,其他指向该数据段的引用都会被修改。

常见异常:

数组下标越界异常:ArrayIndexOutOfBoundsException

字符串下标越界异常:StringIndexOutOfBoundsException

类转换异常:ClassCastException

空指针异常:NullPointerException

数字格式化异常:NumberFormatException

输入无法匹配异常:InputMismatchException

解析异常:ParseException

没有这样的元素异常:NoSuchElementException

文件找不到异常:FileNotFoundException

算术异常:ArithmeticException

错误的参数异常:IllegalArgumentException

到此这篇关于Java十分钟掌握数组与常见异常的文章就介绍到这了,更多相关Java 数组内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • Java 在游戏中探索数组二维数组

    目录 什么是数组 举例(装备栏) 声明数组 int类型 String类型 数组操作 遍历数组 二维数组 声明二维数组 这里是JAVA成仙路,关注我学习JAVA不迷路 什么是数组 数组(Array)是有序的元素序列. 若将有限个类型相同的变量的集合命名,那么这个名称为数组名.组成数组的各个变量称为数组的分量,也称为数组的元素,有时也称为下标变量/12713827).用于区分数组的各个元素的数字编号称为下标.数组是在程序设计中,为了处理方便, 把具有相同类型的若干元素按有序的形式组织起来的一种形式.

  • Java如何实现通过键盘输入一个数组

    目录 如何通过键盘输入一个数组 第一种方法:(不限制输入数组的长度) 第二种方法:(限制输入的个数) 不限制从键盘输入一个数组 下面用二分查找举例 如何通过键盘输入一个数组 有时候在编写Jave的时候需要键盘输入一个数组,本小白也是看了几篇博客后才知道了如何在自己的程序中进行键盘输入,直接上代码: 第一种方法:(不限制输入数组的长度) System.out.println("请输入几个数并用逗号隔开:"); Scanner sc = new Scanner(System.in); St

  • Java 数据结构与算法系列精讲之数组

    目录 概述 数组 声明数组的两个方法 创建数组的两个方法 索引 自定义数组 泛型 构造函数 元素操作 调用 完整代码 概述 从今天开始, 小白我将带大家开启 Jave 数据结构 & 算法的新篇章. 数组 数组 (Array) 是有序数据的集合, 在 Java 中 java.util.Arrays包含用来操作数组的各种方法, 比如排序和搜索等. 其所有方法均为静态方法, 调用起来非常简单. 声明数组的两个方法 方法一: 数据类型[] array; 方法二: 数据类型 array[]; 创建数组的两

  • Java十分钟精通异常处理机制

    目录 异常处理机制的底层原理 异常的继承关系图 异常的处理 一.try-catch-finally结构 二.多catch处理不同的异常: 三.throws声明异常/throw抛出异常: 四.自定义异常: 五.常见的异常 异常处理机制的底层原理 抛出异常,在执行一个方法时,如果发送了异常,则这个方法生成代表该异常的一个对象,停止当前执行的 路径,并把异常提交给jre. 捕获异常:jre得到该异常后,虚招相应的代码来处理该异常.jre在方法的调用栈中查找,从生成异常的 方法开始回溯,直到找到相应的异

  • java数组中的异常类型整理

    对于程序中出现异常,是很多程序员不想看到的情况,因为这就需要我们去查询异常的原因,然后进行一些处理异常的操作.在Java数组操作时,也会有一些异常情况的发生.这里我们罗列出了两种:ClassCastException和NullPointerException,下面我们来看一下具体的介绍. 1.异常种类 检查型异常和非检查型异常的主要区别在于其处理方式.检查型异常都需要使用try,catch 和finally 关键字在编译器进行处理,否则会出现编译器报错.对于非检查型异常则不需要这样做.Java中

  • Java异常处理try catch的基本使用

    目录 1. 异常 1.1 try…catch异常处理 1.2 多catch并行处理 1.3 throw和throws 关键字的使用 1.4 finally代码块 1.5 RuntimeException异常 1.6 自定义异常 总结 1. 异常 1.1 try…catch异常处理 try catch的异常处理的格式写法 : try{ 被检测的代码 可能发生异常的代码 }catch(异常类的类名 变量名){ 异常的处理方式 : 写什么都可以 定义变量,创建对象,调用方法,循环,判断... 只要写了

  • Java数组索引异常产生及解决方案

    这篇文章主要介绍了Java数组索引异常产生及解决方案,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 通过索引查询数组值 public class DemoArrayException { public static void main(String[] args) { int[] array = {0, 1, 2, 3}; int element = DemoArrayException.getElement(array, 4); } publ

  • Java数组归纳总结

    目录 一.一维数组 1.创建方法 2.初始化数组(一维数组) 二.二维数组 1.创建方法 2.初始化二维数组 三.遍历数组 四.替换元素 五.数组排序 六.数组拷贝 七.元素查询 八.排序算法 1.冒泡排序 2.直接选择排序 3.反转排序 一.一维数组 1.创建方法 数组元素类型 数组名字[]; 数组元素类型[] 数组名字; 比如: int array[];//int 类型数组 String str[];//String类型数组 我们还要给数组申请空间: 数组名字 = new 数组元素的类型[数

  • java基础详细笔记之异常处理

    目录 异常概述 常见异常的举例 空指针异常NullPointerException 数组角标越界异常ArrayIndexOutOfBoundsException 异常的抛出与捕捉 抛出异常 捕捉异常 在方法中抛出异常 使用throws关键字抛出异常 使用throw关键字抛出异常(自定义异常) 异常的使用原则 总结 异常概述 在Java中,这种在程序运行时可能出现的一些错误称为异常.异常是一个在程序执行期间发生的事件,它中断了正在执行的成宿的正常指令流. 视频笔记:  Java程序执行时遇到的异常

  • Java十分钟掌握数组与常见异常

    数组的定义 1:单个变量能存储信息 2:用来存储具有相同数据类型的数据集合,可以使用共同的名字来引用数组中存储的数据. 特点 数组可以存储任何类型的数据,包括原始数据类型和引用数据类型,但是一旦指定了数组的类型之后,就只能用来存储指定类型的数据. 数组的使用 声明一个数组变量来存放该数组 语法 数据类型 [] 数组名 数据类型 数组名[] //声明一个int类型 名为 numebr 的数组 int [] number; int number []; //以上两种方法都可以 创建一个新的数组对象并

  • Java十分钟精通集合的使用与原理上篇

    目录 什么是集合? 集合分为Collection和Map两种体系 一.Collection接口: 二.Map接口下分为HashMap和TreeMap: 集合总结: Collections工具类: 什么是集合? 比如我们去买超市买很多东西,我们不可能拿一样就去收银台,我们可能是先放到购物车内,然后再统一处理,所以购物车相当于一个容器,可以装很多东西,在Java中的集合也是相当于一个容器,可以装很多数据. 集合继承关系图: 但是这张图太复杂了,我们看一张简便的: 集合分为Collection和Map

  • Java十分钟入门多线程上篇

    什么是多线程? 在学习前,我们先对程序.进程.线程.并行.并发有个基础的概念了解: 程序: 为完成指定任务,用编程语言编写的一组指令的集合,即指一段静态的代码,静态对象. 进程: 是程序的一次执行过程,是一个动态的过程,进程自身有产生.使用和消亡的过程.(也称为生命周期,在后面会介绍) 线程: 进程可进一步细化为线程,是一个程序内部的一条执行路径,也就是进程内有线程 并行: 指两个或者多个事件在同一时刻发生,(同时发生) 并发: 指两个或者多个事件在同一个时段内发生,(并不是同时发生) 更好的理

  • Java十分钟精通反射机制原理

    什么是反射? 反射机制是在运行状态中,它为Java提供一种"操作对象"的能力,在运行状态下,通过Class文件对象,可以调用到任何类里面的属性.方法.以及构造方法,包括私有的,所有的类在反射机制面前都是透明的 自己的概括:通过Class文件对象可以看到这个类里面的所有东西,并且可以使用和修改 反射的前提是获取Class文件对象((字节码对象),那么一共有三种方式获取: Class.forName("全类名") ----通过Class类的静态方法(最常用) 类名.cl

  • Java十分钟精通集合的使用与原理下篇

    List集合: ArrayList: 底层是数组结构,储存有序并且可以重复的对象 package SetTest; import java.util.ArrayList; import java.util.Collections; import java.util.List; public class ArrayListTest { public static void main(String[] args) { //创建ArrayList的对象 List<Integer> list = ne

  • Java十分钟精通String类的各种使用方法

    String String类: 代表字符串,提供了开发中常用的字符串处理的方法,如:求字符串的长度.截取字符串.替换字符串等方法,符串是常量,它的值创建之后就不可以再修改了. 首先我们先查一下官方文档,看看官方给String类定了什么方法: String也是属于java.lang包,所以不需要导入,这里就部分展示,全部的内容可以参考: https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.htm

  • Java十分钟快速掌握Stream流

    1.什么是Stream流: Stream 是Java 8 提出的一个新概念,不是输入输出的 Stream 流 (和IO流其实没有任何关系哈),而是一种使用函数式编程方式在集合类上进行操作的工具.简而言之,是以内部迭代的方式处理集合数据的操作,内部迭代可以将更多的控制权交给集合类.Stream 和 Iterator 的功能类似,只是Iterator 是以外部迭代的形式处理集合数据的操作. 当然Stream也有自己特性: 不是一种数据结构,不会存数据,只是在原数据集上定义了一组操作 这些操作是惰性的

  • Java十分钟精通泛型的使用与原理

    什么是泛型? 简而言之:<>泛型就是用来约束类.方法.属性上的数据类型,比如 List<Integer> list = new ArrayList<Integer>(); new ArrayList这个集合的元素只能添加Integer类型. 为什么需要泛型? Java推出泛型之前,程序员可以构建一个Object类型的集合,该集合能够存储任何的数据类型,而在使用该 集合的时候,需要程序员明确知道每个元素的具体的类型并向下转型,否则容易引发ClassCastExceptio

  • Java十分钟精通进阶简单工厂模式

    目录 1.什么是工厂模式? 工厂模式的定义: 2.简单工厂模式优点和缺点 3.简单工厂的代码实现 4.小结 1.什么是工厂模式? 工厂模式的定义: 定义一个创建产品对象的工厂接口,将产品对象的实际创建工作推迟到具体子工厂类当中.这满足创建型模式中所要求的"创建与使用相分离"的特点. 现实生活中,原始社会自给自足(没有工厂),农耕社会小作坊(简单工厂,民间酒坊),工业革命流水线(工厂方法,自产自销),现代产业链代工厂(抽象工厂,富士康.我们可以看到工厂的变化趋势,但是对于我们来说,看到是

随机推荐