⑤ 常用系统类、包、访问控制符
1.常用系统类
Object类:
所有类的父类
Random类:
提供一系列用于生成随机数的方法
Scanner类:
键盘输入
Math类(Math类是final类型的,因此不能有子类。Math类的构造方法是private类型的,因此Math类不能够被实例化。):
包含用于执行基本数学运算的方法。其所有方法为静态方法。
Arrays类
包含用来操作数组的各种方法
Date类、DataFormat、SimpleDateFormat类
包含日期相关的各种方法
System类:
是一个抽象类,所有的字段和方法都是静态的。其中包含一些有用的类字段和方法,它不能被实例化。
2.包(package)
类似于文件夹,把一组相关的类放在一起,便于组织和管理文件,有主意避免命名冲突Java。采用包结构来组织和管理类和接口文件。
导包:Java中一个类要使用其他的类,如果其他的类和自己在一个包中可以直接使用,如果不再一个包中,必须要导包。
1.常用系统类
Object类:
所有类的父类
Random类:
提供一系列用于生成随机数的方法
Scanner类:
键盘输入
Math类(Math类是final类型的,因此不能有子类。Math类的构造方法是private类型的,因此Math类不能够被实例化。):
包含用于执行基本数学运算的方法。其所有方法为静态方法。
Arrays类
包含用来操作数组的各种方法
Date类、DataFormat、SimpleDateFormat类
包含日期相关的各种方法
System类:
是一个抽象类,所有的字段和方法都是静态的。其中包含一些有用的类字段和方法,它不能被实例化。
2.包(package)
类似于文件夹,把一组相关的类放在一起,便于组织和管理文件,有主意避免命名冲突Java。采用包结构来组织和管理类和接口文件。
导包:Java中一个类要使用其他的类,如果其他的类和自己在一个包中可以直接使用,如果不再一个包中,必须要导包。
第一个包:java.lang包。
该包提供了Java语言进行程序设计的基础类,它是默认导入的包。该包里面的Runnable接口和Object、Math、String、StringBuffer、System、Thread以及Throwable类需要重点掌握,因为它们应用很广。
第二个包:java.util包。
该包提供了包含集合框架、遗留的集合类、事件模型、日期和时间实施、国际化和各种实用工具类(字符串标记生成器、随机数生成器和位数组)。
第三个包:java.io包。
该包通过文件系统、数据流和序列化提供系统的输入与输出。
第四个包:java.net包。
该包提供实现网络应用与开发的类。
第五个包:java.sql包。
该包提供了使用Java语言访问并处理存储在数据源(通常是一个关系型数据库)中的数据API。
第六个包:java.awt包
第七个包:javax.swing包。
这两个包提供了GUI设计与开发的类。java.awt包提供了创建界面和绘制图形图像的所有类,而javax.swing包提供了一组“轻量级”的组件,尽量让这些组件在所有平台上的工作方式相同。
第八个包:java.text包。
提供了与自然语言无关的方式来处理文本、日期、数字和消息的类和接口。
该包提供了Java语言进行程序设计的基础类,它是默认导入的包。该包里面的Runnable接口和Object、Math、String、StringBuffer、System、Thread以及Throwable类需要重点掌握,因为它们应用很广。
第二个包:java.util包。
该包提供了包含集合框架、遗留的集合类、事件模型、日期和时间实施、国际化和各种实用工具类(字符串标记生成器、随机数生成器和位数组)。
第三个包:java.io包。
该包通过文件系统、数据流和序列化提供系统的输入与输出。
第四个包:java.net包。
该包提供实现网络应用与开发的类。
第五个包:java.sql包。
该包提供了使用Java语言访问并处理存储在数据源(通常是一个关系型数据库)中的数据API。
第六个包:java.awt包
第七个包:javax.swing包。
这两个包提供了GUI设计与开发的类。java.awt包提供了创建界面和绘制图形图像的所有类,而javax.swing包提供了一组“轻量级”的组件,尽量让这些组件在所有平台上的工作方式相同。
第八个包:java.text包。
提供了与自然语言无关的方式来处理文本、日期、数字和消息的类和接口。
3.访问控制符范围
访问控制 private (缺省)default protected public
同一类中 √ √ √ √
同一个包中其他类 √ √ √
不同包中子类 √ √
不同包中非子类 √
访问控制 private (缺省)default protected public
同一类中 √ √ √ √
同一个包中其他类 √ √ √
不同包中子类 √ √
不同包中非子类 √
⑥ string 类
1.string类是常用的引用类,用来处理字符串,使用频繁
可以直接创建赋值,也可通过构造方法创建赋值,或者用无参的构造方法创建再赋值。一般为了方便和节省空间使用直接赋值的方式。
1.string类是常用的引用类,用来处理字符串,使用频繁
可以直接创建赋值,也可通过构造方法创建赋值,或者用无参的构造方法创建再赋值。一般为了方便和节省空间使用直接赋值的方式。
2.数组与字符串的转换
3.String类的常用方法
取得字符串的长度 | length |
比较字符串的内容是否相等 | equals |
比较字符串的内容是否相等 忽略大小写 | equalsIgnoreCase |
判断某个字符是否在字符串中 | indexOf |
取出字符串中指定位置的字符 | charAt |
去掉字符串首尾空格 | trim |
截取字符串的一部内容 | substring |
字符串大小写转换 | toLowerCase toUpperCase |
判断字符串是否以XXX开头或结尾 | startsWith trim().endWith |
替换字符串中某个字符 | replace() replaceFirst() replaceAll |
按照指定方式分割字符串 | split |
String StringBuffer StringBuilder的区别:
String值不可变(堆中的值)
String字符串拼接时占用内存多
StringBuffer和StringBuilder值可变
StringBuilder线程安全 StringBuffer效率高线程不安全
replace() replaceAll()的区别:
replaceAll支持解析正则表达式而replace只能替换字符串