1.import
package com.yfs.javase;
import java.util.Scanner;
//import java.lang.String;//默认导入
public class Demo1 {
public static void main(String[] args) {
String s = new String("abc");//java.lang.String
String s1 = "abc";
System.out.println("影分身");//输出
Scanner scan = new Scanner(System.in);//输入
System.err.println("我没错...");//错误流
long now = System.currentTimeMillis();
System.out.println("系统时间 " + String.format("%tF %<tT", now));
//System.exit(0);
System.out.println (System.getenv("java_home"));
System.out.println("程序执行到此...");
}
}
2.异常
package com.yfs.javase;
//异常
//执行出现异常 jvm 终止代码执行
//报告错误原因
//机制
public class ExpDemo1 {
public static void main(String[] args) {
String s = null;//没有对象
//s.toString();//NullpointException
int[] a = new int[5];
//a[5] = 20; //ArrayIndexOutOfBoundsException
int b = 3;
int c = 0;
int d = b / c;//ArithmeticException
System.out.println("程序执行结束...");
}
}
3.运行时异常
Person 类
package com.yfs.javase;
public class Person {
private String name;
private int age;
private char sex;
public Person() {
}
public Person(String name) {
this.name = name;
}
public Person(String name, int age, char sex) {
this.name = name;
this.age = age;
this.sex = sex;
}
public void introduce() {
System.out.println("I am Person....");
}
public String toString() {
return "姓名:" + name + " 年龄 :" + age + " 性别:" + sex;
}
public void speak() {
System.out.println(name + " 工件了吗?");
}
public void sleep() {
System.out.println(name + " 睡觉了吗?");
}
public void eat() {
System.out.println(name + " 吃了吗?");
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public char getSex() {
return sex;
}
public void setSex(char sex) {
this.sex = sex;
}
}
类转换异常
package com.yfs.javase;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.InputStream;
//异常分类
public class ExpDemo2 {
public static void main(String[] args) {
// 运行时异常
Object obj = new Person();
// String s = (String)obj;//ClassCastException
// check异常 编译时强制处理
try {
InputStream in = new FileInputStream("123.txt");
} catch (FileNotFoundException e) {
System.out.println("异常处理完成...");
e.printStackTrace();
}
System.out.println("程序执行结束...");
}
}
4.抛异常
package com.yfs.javase;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.InputStream;
import java.sql.SQLException;
//抛异常
public class ExpDemo3 {
public static void main(String[] args) throws FileNotFoundException {
// 谁调用谁处理 没有对象处理 jvm处理 终止程序
// try {
try {
test();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
// } catch (FileNotFoundException e) {
// e.printStackTrace();
// }
}
// 在方法抛出异常 throws 可以抛多个异常
public static void test() throws FileNotFoundException, SQLException {
int[] a = new int[3];
a[3] = 15;// 系统检查抛出异常
// 自己抛 throw
if (1 == 1) {
throw new ArithmeticException("故意抛异常");
}
// check 异常
InputStream in = new FileInputStream("123.txt");
}
}
5.异常处理
package com.yfs.javase;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.InputStream;
import java.sql.SQLException;
//异常处理 catch 捕获异常对象 处理异常
public class ExpDemo4 {
public static void main(String[] args) {
String s = "abc";
int[] a = new int[3];
//try...catch...finally
try{
a[3] = 15;//jvm创建异常对象 抛出异常 处理第一个异常
s.toString();
//可以有多个catch语句块
}
// catch (ArrayIndexOutOfBoundsException e) {//捕获异常
// //e.printStackTrace();
// System.out.println("我知道了..我是故意的");
// } catch (NullPointerException e) {
// System.out.println("字符串异常处理完成...");
// } catch (Exception e) {
// e.printStackTrace();
// // finally 总会执行
// }
finally {
System.out.println("总是执行....");
}
System.out.println("程序执行结束...");
}
}
6.自定义异常
package com.yfs.javase;
//自定义异常
public class ExpSelf extends Exception {
public ExpSelf() {
super();
// TODO Auto-generated constructor stub
}
public ExpSelf(String message, Throwable cause, boolean enableSuppression,
boolean writableStackTrace) {
super(message, cause, enableSuppression, writableStackTrace);
// TODO Auto-generated constructor stub
}
public ExpSelf(String message, Throwable cause) {
super(message, cause);
// TODO Auto-generated constructor stub
}
public ExpSelf(String message) {
super(message);
// TODO Auto-generated constructor stub
}
public ExpSelf(Throwable cause) {
super(cause);
// TODO Auto-generated constructor stub
}
//String参数的构造方法
// public ExpSelf(String msg) {
// super(msg);//调用父类构造方法
// }
}
7.自定义异常 测试
package com.yfs.javase;
import java.io.IOException;
public class Test {
public static void main(String[] args) {
try {
if( 1 == 1) {
throw new ExpSelf("异常了,自己定义的...", new IOException());
}
} catch (ExpSelf e) {
//e.printStackTrace();
System.out.println(e.getMessage());
System.out.println(e.fillInStackTrace());
System.out.println(e.toString());
}
}
}