黑马程序员 JavaSE-07 常用类
来源:互联网 发布:如何做网络销售技巧 编辑:程序博客网 时间:2024/06/03 19:17
Java培训、Android培训、iOS培训、.Net培训、期待与您交流!
Java常用类
Object
(1)Object是类层次结构的根类,所有的类都直接或者间接的继承自Object类。
(2)Object类的构造方法有一个,并且是无参构造
这其实就是理解当时我们说过,子类构造方法默认访问父类的构造是无参构造
(3)要掌握的方法:
A:toString() 返回对象的字符串表示,默认是由类的全路径+'@'+哈希值的十六进制表示。 这个表示其实是没有意义的,一般子类都会重写该方法。 如何重写呢?过程我也讲解过了,基本上就是要求信息简单明了。 但是最终还是自动生成。 B:equals() 比较两个对象是否相同。默认情况下,比较的是地址值是否相同。 而比较地址值是没有意义的,所以,一般子类也会重写该方法。
(4)要了解的方法:
A:hashCode() 返回对象的哈希值。不是实际地址值,可以理解为地址值。 B:getClass() 返回对象的字节码文件对象 C:finalize() 用于垃圾回收,在不确定的时间 D:clone() 可以实现对象的克隆,包括成员变量的数据复制,但是它和两个引用指向同一个对象是有区别的。
(5)两个注意问题;
A:直接输出一个对象名称,其实默认调用了该对象的toString()方法。 B:面试题 ==和equals()的区别? A:== 基本类型:比较的是值是否相同 引用类型:比较的是地址值是否相同 B:equals() 只能比较引用类型。默认情况下,比较的是地址值是否相同。 但是,我们可以根据自己的需要重写该方法。
Scanner
(1)在JDK5以后出现的用于键盘录入数据的类。
(2)构造方法:
A:讲解了System.in这个东西。 它其实是标准的输入流,对应于键盘录入 B:构造方法 InputStream is = System.in; Scanner(InputStream is) C:常用的格式 Scanner sc = new Scanner(System.in);
(3)基本方法格式:
A:hasNextXxx() 判断是否是某种类型的 B:nextXxx() 返回某种类型的元素
(4)要掌握的两个方法
A:public int nextInt() B:public String nextLine()
(5)需要注意的小问题
A:同一个Scanner对象,先获取数值,再获取字符串会出现一个小问题。 B:解决方案: a:重新定义一个Scanner对象 b:把所有的数据都用字符串获取,然后再进行相应的转换
String
(1)多个字符组成的一串数据。
其实它可以和字符数组进行相互转换。
(2)构造方法:
A:public String() B:public String(byte[] bytes) C:public String(byte[] bytes,int offset,int length) D:public String(char[] value) E:public String(char[] value,int offset,int count) F:public String(String original) 下面的这一个虽然不是构造方法,但是结果也是一个字符串对象 G:String s = "hello";
(3)字符串的特点
A:字符串一旦被赋值,就不能改变。 注意:这里指的是字符串的内容不能改变,而不是引用不能改变。 B:字面值作为字符串对象和通过构造方法创建对象的不同 String s = new String("hello");和String s = "hello"的区别?
(4)字符串的面试题(看程序写结果)
A:==和equals() String s1 = new String("hello"); String s2 = new String("hello"); System.out.println(s1 == s2);// false System.out.println(s1.equals(s2));// true String s3 = new String("hello"); String s4 = "hello"; System.out.println(s3 == s4);// false System.out.println(s3.equals(s4));// true String s5 = "hello"; String s6 = "hello"; System.out.println(s5 == s6);// true System.out.println(s5.equals(s6));// true B:字符串的拼接 String s1 = "hello"; String s2 = "world"; String s3 = "helloworld"; System.out.println(s3 == s1 + s2);// false System.out.println(s3.equals((s1 + s2)));// true System.out.println(s3 == "hello" + "world");// false 这个我们错了,应该是true System.out.println(s3.equals("hello" + "world"));// true
(5)字符串的功能(自己补齐方法中文意思)
A:判断功能 boolean equals(Object obj) boolean equalsIgnoreCase(String str) boolean contains(String str) boolean startsWith(String str) boolean endsWith(String str) boolean isEmpty() B:获取功能 int length() char charAt(int index) int indexOf(int ch) int indexOf(String str) int indexOf(int ch,int fromIndex) int indexOf(String str,int fromIndex) String substring(int start) String substring(int start,int end) C:转换功能 byte[] getBytes() char[] toCharArray() static String valueOf(char[] chs) static String valueOf(int i) String toLowerCase() String toUpperCase() String concat(String str) D:其他功能 a:替换功能 String replace(char old,char new) String replace(String old,String new) b:去空格功能 String trim() c:按字典比较功能 int compareTo(String str) int compareToIgnoreCase(String str)
StringBuffer
(1)StringBuffer是一个字符串缓冲区类。
(2)StringBuffer的构造方法
A:StringBuffer() B:StringBuffer(int size) C:StringBuffer(String str)
(3)StringBuffer的常见功能
A:添加功能 append() B:删除功能 delete(int start, int end) deleteCharAt(int index) C:替换功能 replace(int start, int end, String str) D:反转功能 reverse() E:截取功能(注意这个返回值) substring(int start) substring(int start, int end)
(4)StringBuffer的练习
A:String和StringBuffer相互转换 String -- StringBuffer 构造方法 StringBuffer -- String toString()方法 B:字符串的拼接 C:把字符串反转 D:判断一个字符串是否对称
(5)面试题
小细节: StringBuffer:同步的,数据安全,效率低。 StringBuilder:不同步的,数据不安全,效率高。 A:String,StringBuffer,StringBuilder的区别 B:StringBuffer和数组的区别?
Arrays
(1)Arrays是用来操作数组(比如排序和搜索)的工具类,包括各种静态方法。
(2)常用方法
查找:binarySearch()排序:sort()复制:copyOf()比较:equals()
Integer
(1)为了让基本类型的数据进行更多的操作,Java就为每种基本类型提供了对应的包装类类型
byte Byte short Short int Integer long Long float Float double Double char Character boolean Boolean
(2)Integer的构造方法
A:Integer i = new Integer(100); B:Integer i = new Integer("100"); 注意:这里的字符串必须是由数字字符组成
(3)String和int的相互转换
A:String -- int Integer.parseInt("100"); B:int -- String String.valueOf(100);
(4)其他的功能(了解)进制转换
(5)JDK5的新特性
自动装箱 基本类型--引用类型 自动拆箱 引用类型--基本类型 把下面的这个代码理解即可: Integer i = 100; i += 200;(6)面试题 -128到127之间的数据缓冲池问题
Character
(1)Character构造方法
Character ch = new Character('a');
(2)要掌握的方法:
A:判断给定的字符是否是大写 isUpperCase(char ch) B:判断给定的字符是否是小写 isLowerCase(char ch) C:判断给定的字符是否是数字字符 isDigit(char ch) D:把给定的字符转成大写 toUpperCase(char ch) E:把给定的字符转成小写 toLowerCase(char ch)
(3)案例:
统计字符串中大写,小写及数字字符出现的次数
Random
(1)用于产生随机数的类
(2)构造方法:
A:Random() 默认种子,每次产生的随机数不同 B:Random(long seed) 指定种子,每次种子相同,随机数就相同
(3)成员方法:
A:int nextInt() 返回int范围内的随机数 B:int nextInt(int n) 返回[0,n)范围内的随机数
System
(1)系统类,提供了一些有用的字段和方法
(2)成员方法
A:运行垃圾回收器 B:退出jvm C:获取当前时间的毫秒值 D:数组复制
BigInteger
(1)针对大整数的运算
(2)构造方法
A:BigInteger(String s)
(3)成员方法
A:加 B:减 C:乘 D:除 E:商和余数
BigDecimal
(1)浮点数据做运算,会丢失精度。所以,针对浮点数据的操作建议采用BigDecimal。(金融相关的项目)
(2)构造方法
A:BigDecimal(String s)
(3)成员方法:
A:加 B:减 C:乘 D:除 E:自己保留小数几位
Date/DateFormat
(1)Date是日期类,可以精确到毫秒。
A:构造方法 Date() Date(long time) B:成员方法 getTime() setTime(long time)
(2)DateFormat针对日期进行格式化和针对字符串进行解析的类,但是是抽象类,所以使用其子类SimpleDateFormat
A:SimpleDateFormat(String pattern) 给定模式 yyyy-MM-dd HH:mm:ss B:日期和字符串的转换 a:Date -- String format() b:String -- Date parse()
Calendar
(1)日历类
封装了所有的日历字段值,通过统一的方法根据传入不同的日历字段可以获取值。
(2)如何得到一个日历对象呢?
Calendar rightNow = Calendar.getInstance(); 本质返回的是子类对象
(3)成员方法
A:根据日历字段得到对应的值:get(int field) B:根据日历字段和一个正负数确定是添加还是减去对应日历字段的值:add(int field, int amount) C:设置日历对象的年月日:set(int field, int value),set(...)
- 黑马程序员 JavaSE-07 常用类
- 黑马程序员----JavaSE常用API小结
- 黑马程序员----javaSE中的其他类
- 黑马程序员-JAVASE入门(GUI类)
- 黑马程序员——JAVASE-File类
- 黑马程序员——JAVASE-Properties类
- 黑马程序员——JAVASE-其他类
- 黑马程序员--javase 多态
- 黑马程序员-javase-反射
- 黑马程序员----【javaSE基础】个人总结--eclipse常用快捷键
- 黑马程序员----JavaSE一些常用基础知识点记录-学习日记
- 黑马程序员-常用类
- 黑马程序员-----------------常用类
- 黑马程序员-JAVASE入门(多线程)
- 黑马程序员----【javaSE基础】多线程
- 黑马程序员----JAVASE之多线程
- 黑马程序员----JAVASE之字符串
- 黑马程序员-javase 正则表达式
- sip信令常用的响应码
- Git工作流指南:Pull Request工作流
- android原生系统老系统不支持localstorage
- 最近比较忙,昨天和今天在安装autocad,还是没装成功
- C++学习中关于cout遇到的一个小问题
- 黑马程序员 JavaSE-07 常用类
- Gson 使用
- ThinkPHP3.2 Widget扩展
- MFC操作注册表
- TUST项目知识点总结(Android端V1.0)
- Unity3D面试题整合
- mysql之index condition pushdown(icp) 索引条件推
- websphere7下报错:javax.management.MalformedObjectNameException: Invalid character 的解决办法
- 结构数组选择排序