Java 随心笔记10


一、异常
异常概述:Java程序在运行过程中出现的错误。
异常处理方式:
a)JVM:把异常名称、原因、位置等信息输出在控制台;程序停止运行
b)try cath finally
* try catch
* try catch finally(常用)
* try finally
throws

一个异常
多个异常

二、throw throws区别
throws
用在方法声明后面,跟的是异常类名
可以跟多个异常类名,用逗号隔开
表示抛出异常,由该方法的调用者来处理
throws表示出现异常的一种可能性,并不一定会发生这些异常
throw
用在方法体内,跟的是异常对象名
只能抛出一个异常对象名
表示抛出异常,由方法体内的语句处理
throw则是抛出了异常,执行throw则一定抛出了某种异常?

如果throw是运行时runTimeException异常就不需要throws,因为运行时的异常不一定会发生。
Throwable 中的方法:
String getMessage();获取异常信息
String toString(); 获取异常类名和异常信息
void printStackTrace();获取异常类名和异常信息以及异常出现在程序中的位置

三、final,finally和finalize的区别
final 修饰变量 方法 类
finally 被finally控制的语句体一定会执行
特殊情况:在执行到finally之前jvm退出了(比如System.exit(0))
finalize 『Object类的方法』 当垃圾回收器确定不存在对该对象的更多引用时,由对象的垃圾回收器调用此方法。

四、file类的构造
1.定义
File file = new File(String pathName);
File file = new file(String parent,String child);
File file = new File(File file,String child);

2.功能
file.creatNewFile()创建文件
file.mkdir() 创建文件夹
file.mkdirs() 创建文件夹,会自动创建不存在的父文件夹
rename:如果被改名的路径下有该文件,返回false
默认会在项目的路径下;

判断:
isDirectory();是否是目录
isFile();是否文件
exist();是否存在
isHidden();是否隐藏

getAbsolutePath()获取绝对路径
getPath()获取路径
getName()获取名称
length()获取长度
lastModified()获取最后修改的时间
list() 获取指定目录下所有的文件或文件夹名称数组

 1                 File file = new File("D:\1总文件");
 2         String[] list = file.list();
 3         System.out.println("方法1 ");
 4         for(String i :list) {
 5             if(i.endsWith(".txt")) {
 6                 System.out.println(i);
 7             }            
 8         }        
 9         File[] f2 = file.listFiles();
10         System.out.println("方法2 ");
11         for(File i :f2) {
12             if(i.getName().endsWith(".txt")) {                
13                 System.out.println(i.getName());
14             }        
15         }                    
判断E盘目录下是否有后缀名为.txt的文件,如果有,就输出该文件名称
键盘录入一个int类型的整数,对其求二进制表现形式
* 如果录入的整数过大,给予提示:”录入的整数过大请重新录入一个整数BigInteger“
* 如果录入的是小数,给予提示,录入的是小数,请重新录入一个整数
* 如果录入的是其他字符,给予提示,录入的是非法字符,请重新录入一个整数


import java.math.BigDecimal;
import java.math.BigInteger;
import java.util.Scanner;

public class Test_1_yichang {
    public static void main(String[] args) {        
        while    (true) {
            System.out.println("录入一个数");
            Scanner sc = new Scanner(System.in);
            String str = sc.next();
            try {
                Integer in = Integer.parseInt(str);
                System.out.println(Integer.toBinaryString(in));
                break;
            }catch(Exception e) {
                try{
                    BigInteger big = new BigInteger(str);
                    System.out.println("你输入的数也忒大了");
                }catch(Exception e1) {
                    try {
                        BigDecimal bd= new BigDecimal(str);
                        System.out.println("您输入的是非整数");    
                    }catch(Exception e2) {
                        System.out.println("您输入的是非法字符");
                    }
                                    
                }
                    
            }
            
        }
    }
}
课后练习题目
同样的梦想,不一样的起点,大家共同进步, 微信公众号「孝客之乡」作者。
原文地址:https://www.cnblogs.com/JulyTail/p/9113231.html