异常
/*
* 异常:程序遇到的“小”问题
* 如:数组越界,空指针,分母为0
*
* Exception和Error区别
* Exception是一些通过代码能够解决的小问题
* Error 通常是无法用代码挽救的,是一些严重的错误
*
* Throwable(异常Exception和错误Error)
*
*/
// 将参数代表的类加载到方法区
// 1.自行处理try{放有可能存在异常的代码}catch{}
// try块不能单独运行,当try块检查出异常时,try块会将程序的运行权交给对应的catch块
// catch(捕获的异常类对象)捕获
// catch块中如果参数是Exception父类类型,这个catch块必须写在最后
// finally块一般与try...catch配合使用,用来执行一定要执行的代码(回收资源--关闭文件,关闭连接...)
/*
* final, finally,finalize有什么区别
* final修饰类(不能被继承),方法(不能被子类重写),属性(不能修改)
* finally块一般与try...catch配合使用
* finalize 与GC垃圾回收机制相关,JVM会把没有引用指向的对象视为垃圾,
* JVM会自动调用这个对象的 finalize()回收内存
*
*/
//
// 2.向上抛出(规避异常)throws
// e.printStackTrace();用于打印异常
//
object类
/*
* object类,Java中所有类的父类,唯一一个没有父类的类
* equals boolean equals(object obj):比较两个引用数据类型属否相等,但子类可以重写,指定自己的比较规则
* ==:可以比较基本数据类型或引用数据类型,比较基本数据类型,比较的是字面真值
* 比较引用数据类型时,比较的是地址是否相等
* //string类重写过equals,只比较字符串内容,不比较地址
* //字符串的字面量会以对象的形式保存在字符串常量池中
* //字符串常量池通常在方法区中
* String str1="hello";与String str2= new String("hello");有什么区别
* String str1="hello"; 只创建了一个hello对象
* String str2= new String("hello");堆里一个常量池一个
*
* public int hashCode():该方法返回对象的哈希码
* 如果两个对象用equals比较返回true,两个对象的哈希码必定一样
* 两个对象的哈希码一样,两个对象用equals比较不一定返回true
*
* public String toString():类名@hashcode
*
*/
public static void main(String[] args) {
包装类
// 包装类:将基本数据类型包装成对象
// Everything is object
// java 中不把基本数据类型视为对象
// 1.能像基本数据类型一样去使用
// 自动装箱
// Integer num2=100;等同于Integer num2=new Integer (100);
// 2.与字符串之间进行类型转换
// String strNum1="1000";
// String strNum2="200";
// System.out.println(strNum1+strNum2);
//字符串转换成其他基本数据类型
// int num1=Integer.parseInt(strNum1);
// int num1=Integer.valueOf(strNum1);
// double num2=Double.parseDouble(strNum2);
// double num2=Double.valueOf(strNum2);
//基本数据类型转换为其他字符串
// int num1=100;
// String strNum1=num1+"";
// String strNum2=String.valueOf(num1);
String常用方法
/*
* 字符串类
* String:代表一种“不可变”的字符串,字符串常量
* 对他的所有修改都是在创建新的字符串,不是在原有的基础上修改的
* StringBuffer
* Stringbuilder
*
*/
//**1.equals比较字符串内容
// System.out.println("hello".equals("Hello"));
// System.out.println("hello".equalsIgnoreCase("Hello"));
//2.String toUpperCase 转换为大写
// String toLowerCase 转换为小写
// System.out.println("hello".toUpperCase());
// System.out.println("HELLO".toLowerCase());
// **3.char charAt(int) 返回指定索引处的字符
// System.out.println("hello".charAt(0));
// **4.String substring(int begin) 截取字符串
// String substring(int begin,int end)
// System.out.println("hello".substring(1,3));到3截取不到3
// **5.int indextOf(xxx) 返回一个字符串在另一个字符串当中第一次出现的索引,若一次都没有出现返回-1
// int lastIndextOf() 返回一个字符串在另一个字符串当中最后一次出现的索引,若一次都没有出现返回-1
// System.out.println("abdnunjs".indexOf("bdi"));
}
将字符串转换为字符数组
String t="fjisfnbnk";
char y[]=t.toCharArray();
for(char n:y) {
System.out.println(n);
}
Math方法
①random() -- [0,1)
②ceil 返回大于某个数的最小整数
③floor 返回小于某个数的最大整数
round 四舍五入
max 取最大值
* min 取最大值
* abs 取绝对值
*/