javaSE基础学习04
-
常用类
-
String
-
字符串对象的创建
-
直接等于 如 String str = “nnnn”
//直接等是在字符串常量池创建字符串 //如果存在该字符串,重新创建该字符串内容的时候会把常量池字符串地址给它 String str1 = "abc"; String str2 = "abc"; //比较为真,因为它们在字符串常量池使用同一个地址 str1==str2
-
new 对象 如 String str = new String(“abc”);
//字符串 new对象的时候,会去字符串常量池看是否有这个字符串的对象, //如果没有 就会在堆中和字符串常量池中各创建一个对象,并且将堆中对象的地址返回 String str = new String("abc"); String str = new String("abc"); // 总共创建了三个对象,常量池中也有一个字符串对象 //比较为假,因为它们在堆中使用了不同的地址 str1==str2
-
-
String类型的特点
- 字符串是final修饰的char数组,对字符串调用的任何方法都不能修改原字符串,只是另外生成了一个字符串并且返回
-
String类中的方法
String中的方法 作用 返回值 String(String s) 将一个字符串构造成字符串对象 字符串对象 String(char[] arr) 将一个字符数组构造成一个字符串对象 字符串对象 String(char[] arr,int index,int count); 将一个字符数组指定开始下标和长度的字符构造成一个字符串对象 字符串对象 equals(String s) 比较两个字符串的值是否相等 str1.equals(str2) boolean startsWith(String s) 判断字符串是否以什么字符串开始 boolean endWith(String s) 判断字符串是否以什么字符串结束 boolean equalsIgnoreCase(String s); 判断两个字符串是否内容相同,忽略大小写 boolean length() 获取字符串长度 int charAt(int index); 获取指定索引位置的字符 char toCharArray() 字符串转换为char数组 char[] toString() 转换为字符串 String split(String s) 分割字符串 String[] substring(int index) 截取字符串 String trim() 去除字符串首位空格 String replace(String a,String b) 将字符串中第一个a的字符串替换成b的字符串 String String.valueOf() String类中唯一的静态方法,作用是将 方法小括号内的内容转换为字符串,是String类中的重要方法 String
-
-
StringBuilder和StringBuffer
-
StringBuilder
-
处理多个字符串拼接的场景
-
可以对原字符串进行修改
-
方法和String类中方法基本一致
-
-
StringBuffer
- 线程安全的字符串,用的少
-
-
Math
-
工具类,无法直接创建对象
-
可以使用工具类的各种方法进行数学运算
Math类常用方法 作用 返回值 add(int a ,int b) 将两个数进行相加,返回相加之后的结果 int sub(int a,int b) 将两个数进行相减,返回a-b的结果 int multiplyExact(int a, int b) 将两个数进行相乘,返回a*b的结果 int floorDiv(int a, int b ) 将两个数进行相除(地板除),返回a/b的结果 int floor(double a) 将小数向下取整 double floor(double a) 将小数向上取整 double round(double a) 可以达到四舍五入的效果,实际上是把数据+0.5再进行向下取整 double max(int a , int b) 返回两个数中最大的那个 int min(int a , int b) 返回两个数中最小的那个 int pow(double x,double y) 求 x的 y次方 double sqrt(double x) 求x的平方根 double abs(int x) 求x的绝对值 int random() 获取一个0-1之间的随机数 double
-
-
Random
-
取随机数,可使用这个类
-
创建对象
Random类常用方法 作用 返回值 Random() 构造Random对象,如果需要获取不同的随机数,则需要使用 Random(int seed) 构造Random对象,加了种子的构造方法,每次获取的随机数值都是固定 nextInt() nextInt()在整数范围内获取随机数 int nextInt(int bound) 在限制的范围内获取随机数,0~bound,不包含bound int
-
-
BigDeicmal
-
可进行精确计算,基本数据类型,存在小数位不一致的情况,计算后会产生误差
//必须要将需要计算的数据转换成字符串,再调用BigDeicmal的 有参构造 方法。最后对对象进行操作计算,否则也是不准确的 BigDeicmal bg = new BigDeicmal(String a);
-
常用方法和Math 类方法基本一致
-
-
Date
-
日期类,默认对象会显示当前日期(机器系统时间)
-
常用方法
Date类常用方法 作用 返回值 Date( ) 构造方法,使用当前日期和时间来初始化对象。 Date(long millisec) 构造函数接收一个参数,该参数是从1970年1月1日起的毫秒数。 getTime() 返回自 1970 年 1 月 1 日 00:00:00 GMT 以来此 Date 对象表示的毫秒数。 long setTime(long time) 用自1970年1月1日00:00:00 GMT以后time毫秒数设置时间和日期 void toString( ) 把此 Date 对象转换为以下形式的 String: dow mon dd hh:mm:ss zzz yyyy 其中: dow 是一周中的某一天 (Sun, Mon, Tue, Wed, Thu, Fri, Sat)。 String
-
-
SimpleDateFormat
-
可格式化输出Date
-
DateFormat df = new SimpleDateFormat(“yyyy-MM-dd HH:mm:ss”); 调用df.format(Date d),进行格式化输出
-
常用方法
- format(Date d) 将日期转化成字符串输出
- parse(String s) 解析字符串
-
-
Calendar
-
日历类,进行获取时间 年月日等操作
-
Calendar c = Calendar.getInstanse(); (创建对象,这种创建对象的都是单例设计模式的类)
-
常用方法
Calendar类常用方法 作用 返回值 add(Calendar.DATE, 10); 在当前时间上加上10天 返回加上10天后的对象 set(Calendar.YEAR,2008); 将年设置为2008年 返回设置后的对象 get(Calendar.DATE); 获取日期 int -
Calendar类对象字段类型
常量 描述 Calendar.YEAR 年份 Calendar.MONTH 月份 Calendar.DATE 日期 Calendar.DAY_OF_MONTH 日期,和上面的字段意义完全相同 Calendar.HOUR 12小时制的小时 Calendar.HOUR_OF_DAY 24小时制的小时 Calendar.MINUTE 分钟 Calendar.SECOND 秒 Calendar.DAY_OF_WEEK 星期几
-
-
包装类
- 基础类型对应的包装类
基础数据类型 对应的包装类 byte Byte short Short int Integer long Long float Float double Double char Charactor boolean Boolean -
自动装箱,基本数据类型 自动转换为 包装类对象
-
自动拆箱,包装类对象自动转换为 基本数据类型
-
手动拆箱,如:调用 intValue()方法对包装类进行拆箱
-
将字符串转换为包装类。Integer.parse(String s);字符串不能包含字母
-
包装类,常量池的 字节是8位,所以==只能比较 -128-127 范围内的 对象值,对象值超出范围 一律结果为false,因为超出常量池范围,都会去新建对象
-
基本数据类型只能接受数据,包装类除了可以接收数据,还可以接收 null
-
File
-
文件类,可对文件进行操作
-
常用方法
File 类常用方法 作用 返回值 getName() 获取文件或文件夹的名称,不包含上级路径。 String getPath() 获取文件的绝对路径 String getAbsolutePath() 获取文件的绝对路径 String getAbsoluteFile() 获取文件的绝对路径 File getParentFile() 获取父文件路径 File list() 找文件夹下的所有文件和文件夹 String[] mkdir() 创建文件夹,方法必须要父文件夹存在 File mkdirs() 创建文件夹,在父文件夹不存在的情况下会逐级创建文件夹 File exists() 判断文件是否存在 boolean length() 获取文件大小。 字节长度 long isFile() 判断文件是否 文件 boolean isDirectory() 判断文件是否 目录 boolean
-
-
Scanner
-
用户输入相关的类
-
常用方法
Scanner常用方法 作用 返回值 nextLine() 获取一行,已回车作为结束 String next() 获取一个单词,以空白输入作为结束 String -
注意事项
- nextLine(),所以如果上面是获取数字,按下回车,则回车会自动获取到nextLine()中,导致用户无法输入信息。
- 规避方法1:再换行一次nextLine(),清空上一个输入流没读完的回车
- 规避方法2:重新 new Scanner(),每一个输入流是一个对象,之间就不会互相影响了
- nextLine(),所以如果上面是获取数字,按下回车,则回车会自动获取到nextLine()中,导致用户无法输入信息。
-
-