Java基础之编译异常和运行异常

开发 后端
本文主要介绍了getProperties()方法、public static arraycopy(Object src, int srcPos, Object dest, int destPos, int length) 方法、编译异常和运行异常。

[[388323]]

一、getProperties()方法

1.System类提供一个getProperties()方法用来获取当前系统的全部属性,它会返回一个Properties对象,也封装了系统的全部属性,这些属性的存在是以键值对的形式。

2.getProperties()方法使用例子:

  1. public class p55 { 
  2. public static void main(String[] args) { 
  3.         // TODO Auto-generated method stub 
  4.         //获取当前系统的属性 
  5.         Properties p=System.getProperties(); 
  6.         System.out.println("Java的运行环境版本:"+p.getProperty("java.version")); 
  7.         System.out.println("Java安装目录"+System.getProperty("java.home")); 
  8.         System.out.println("操作系统的构架:"+p.getProperty("os.arch")); 
  9.         System.out.println("用户的国家:"+p.getProperty("user.country")); 
  10.         System.out.println("用户的账户名称:"+p.getProperty("user.name")); 
  11.         System.out.println("用户的当前工作目录:"+p.getProperty("user.dir")); 
  12.         System.out.println("Java类路径:"+p.getProperty("java.class.path")); 

运行的结果是:

二、public static arraycopy(Object src, int srcPos, Object dest, int destPos, int length) 方法

1.public static arraycopy(Object src, int srcPos, Object dest, int destPos, int length) 方法是表示一个数组的元素复制到另一个数组,它的参数作用如下所示:

Object src:表示源数组;

int srcPos:表示源数组复制的起始位置;

Object dest:表示目的数组;

int destPos:表示复制目标数组的起始位置;

int length:表示复制的长度或元素的个数;

2.实现数组元素复制到另一个数组例子

  1. public class p56 { 
  2. public static void main(String[] args) { 
  3.         // TODO Auto-generated method stub 
  4.         //表示源数组 
  5.         String current[]={"Java","C语言","MYSQL","Python","PHP"}; 
  6.         //表示目标数组 
  7.         String goal[]={"HTML5","Vue.js","JavaScript","IOS","Java EE"}; 
  8.         //复制数组的元素 
  9.         System.arraycopy(current, 1, goal, 2, 3); 
  10.         //遍历数组中的元素 
  11.         for(String s:goal){ 
  12.             System.out.println(s); 
  13.         } 

运行的结果为:

三、编译异常

1.在我们程序开发当中,经常会在程序编译时产生一些异常也就是bug,我们需要处理这些异常,这个就是编译异常。

2.编译异常特点是java程序在编译器进行检查,如果程序出现了异常就一定要处理这些异常,否则程序不能编译。

3.处理编译异常有两种处理方式:

①使用try...catch语句进行对异常进行捕获的方式;

②使用throws关键字声明抛出的异常,调用时并对它进行处理;

四、运行异常

1.在java程序运行时产生的异常,这种异常它不编写异常处理,但它还可以进行编译,这个就是运行异常。

2.运行异常特点是java编译器不会进行检查,在程序出现这样的异常,没有使用try...catch语句或throws关键字声明抛出,该程序也可以编译。运行异常主要是程序中的逻辑不对,程序在运行没办法恢复这个异常。

3.数组的下标访问数组元素,当超过数组的下标值就会引起运行异常,我们通过下面的例子看一下:

  1. public class p66 { 
  2. public static void main(String[] args) { 
  3.         // TODO Auto-generated method stub 
  4.         int arr[]=new int[3]; 
  5.         System.out.println(arr[4]); 

运行的结果是:

从上面的代码中,数组的长度为3,因为下标是从0开始,所以最大下标是2,当访问arr[4]数组就会出现运行的异常数组下标越界了。

五、总结

本文主要介绍了getProperties()方法、public static arraycopy(Object src, int srcPos, Object dest, int destPos, int length) 方法、编译异常和运行异常。

getProperties()方法是获取当前系统的全部属性,它会返回一个Properties对象,也封装了系统的全部属性,这些属性的存在是以键值对的形式。

public static arraycopy(Object src, int srcPos, Object dest, int destPos, int length) 方法是表示一个数组的元素复制到另一个数组,理解里面参数作用。了解编译异常是在程序编译产生的一些bug,我们需要处理这些异常,这就是编译异常。

在java程序运行时产生的异常,这种异常它不编写异常处理,但它还可以进行编译,这个就是运行异常。希望大家通过本文的学习,对你有所帮助!

我是Java进阶者,希望大家通过本文的学习,对你有所帮助!

 

责任编辑:姜华 来源: Java进阶学习交流
相关推荐

2021-02-25 08:40:19

Java异常分类异常防护

2021-02-22 08:39:03

Java关键字Java基础

2022-10-11 09:33:04

Java异常Exception

2023-12-11 14:19:00

Java程序异常

2018-07-11 19:41:47

MySQL定义异常异常处理

2011-03-28 09:17:14

Java 7mutilcatch

2014-12-17 10:37:38

UbuntuHadoop

2021-07-08 11:22:55

Java异常处理

2012-12-21 10:48:20

Java异常

2018-08-20 16:25:48

编程语言Java异常处理

2009-06-17 17:09:02

Java异常Java断言

2010-01-27 15:11:17

VC++编译异常

2018-08-16 10:05:07

2023-03-01 09:07:44

前端监控异常

2010-06-09 09:18:34

.NET 4并行编程

2011-12-21 11:18:59

Java

2015-02-03 14:45:55

android全局异常

2012-11-12 10:32:48

IBMdw

2016-12-15 13:31:20

Java异常处理经验

2017-09-26 11:43:12

Java异常和处理
点赞
收藏

51CTO技术栈公众号