计算机的本质是处理数据的
java又是一门面向对象的编程语言,在越往后面的学习,越多理解java,其实就是一直不断的在对象和对象之间、对象和类之间的关系理解。本质上也是数据类型和数据之间的理解;计算机处理数据,java中我们用的也是对象,用的是数据。
所以先简单了解几个常用类和里面的字段、构造方法、普通方法,通过在代码中的练习,慢慢的熟悉类的结构,类和对象、和方法的调用来达到我们想要的结果
-
包装类
1)Java为每种基本数据类型,提供对应的类,来描述对应基本数据类型的这一类事物
2)好处:Integer类(字段,方法),在这个类中把int的位数,最大值, 最小值写成常量了;
Integer类中提供了一些有用的方法:例如int-String之间的转换,和其它的数据类型的转换
3)思考: 如下两个有什么区别
Integer i1 = new Integer(123);
Integer i1 = new Integer(“123”);
//equals比较两个对象的值为true,但是是两个对象,地址值用==比较为false
装箱 : 把一个基本数据类型的数据赋值给一个其对应的包装类的过程
Integer m = new Integer(333);
拆箱 : 把一个包装类对象赋值给一个其对应的基本数据类型的变量的过程
int n = new Integer(999).intValue();
自动装箱: Integer i1 = 123;//包装类Java提供特性,基本数据类型装入到包装类对象
自动装箱拆箱只支持 基本数据类型和其对应的包装类
double d = 123;
Integer i = 123;
Double dd = 123.0;
Double ddd = 123; // 不行
Integer包装类的享元模式
简单来说就是正数中的几个包装类内部把常用 [-128,127] 的数据缓存起来了
浮点数不存在享元模式
-
System类
1)
static void arraycopy(Object src, int srcPos, Object dest, int destPos, int length)
从指定源数组中复制一个数组,复制从指定的位置开始,到目标数组的指定位置结束。
2)
static void exit(int status)
终止当前正在运行的 Java 虚拟机。
终止当前正在运行的 Java 虚拟机。参数用作状态码;根据惯例,非 0 的状态码表示异常终止。 -
String类
“ABC”字符串是常量:值;它们的值在创建之后不能更改。字符串缓冲区支持可变的字符串。因为 String 对象是不可变的,所以可以共享。例如:String str = “abc”;
a.字符串常量在创建之后就不能更改了
a)字符串对象存在于堆中,存在了,字符串的值都不能改变了
i.分析:多个字符被解析放到字符串类中的一个私有字段private final char value[];
ii.字符串内部字符数组使用final修饰,并且是数组,数组长度固定,final修饰不能改变
代码中有一些方法:
打印结果:
-
Random类 (java.util)
Random类中实现的随机算法是伪随机,也就是有规则的随机。在进行随机时,随机算法的起源数字称为种子数(seed),在种子数的基础上进行一定的变换,从而产生需要的随机数字。
写一个方法,生成验证码: -
Date类
util工具包下面的Date
构造方法:
Date(); 就表示当前系统时间对象
Date(long date) 根据指定的毫秒值创建一个指定的时间
SimpleDateFormat
1)作用一: 把一个Date对象可以转成我们希望的一个结果样式(字符串)
2)作用二: 也可以把一个字符串解析为一个Date对象
3)学习重点就是如何调用上面的提到的两个功能方法,注意怎么给他格式
格式:y年M月d日 H时:m分:s秒
Date parse(String text, ParsePosition pos) //方法
解析字符串的文本,生成 Date。
字符串解析为Date时:
当格式长度小于字符串长度时,能解析
当格式长度大于字符串长度时,不能解析
打印结果:
-
Calendar类
Calendar 类是一个抽象类,它为特定瞬间与一组诸如 YEAR、MONTH、DAY_OF_MONTH、HOUR 等 日历字段之间的转换提供了一些方法,并为操作日历字段(例如获得下星期的日期)提供了一些方法。
static Calendar getInstance() 使用默认时区和语言环境获得一个日历。
//通过这个方法获得一个日历子类对象
打印结果: -
异常类–Exception
throws:抛出异常,处理异常
throw:产生异常,创建异常
常见异常:
1.除数不能为零java.lang.ArithmeticException:类
2.java.lang.NullPointerException
3.java.lang.StringIndexOutOfBoundsException
4.java.lang.ArrayIndexOutOfBoundsException
5.类型转换异常java.lang.ClassCastException
6.编译时异常java.text.ParseException
throws和throw的区别:
throws 处理异常,在方法头抛出异常
throw 开发代码存在以外的情况,自己主动抛出异常[产生异常]
在方法内部 throw new NullPointException();
自定义异常类:
根据可能的异常情况创建自己想要抛出的异常说明;自定义异常类继承 Execption
打印结果:
通过这几个简单的示例,多敲敲代码,也是为了更好的理解面向对象