常用类的介绍

1、枚举enum

  • 概念
    • 是一组静态常量,用来规范数据类型
    • 关键字:enum
    • 里面直接写值(可以中文),默认public static final 修饰,中间用“ , ”隔开
    • 枚举的定义,也可以直接定义:enum Box{PEN ,PENCIL}
    public enum Sex {
    	male , famale ;
    }
    //
    public class Student {
    
    	enum Box{PEN , PENCIL}; 
    	Box box  ;
    	public static void main(String[] args) {
    		Student stu = new Student();
    		stu.box = Box.PEN ;
    	}
    }
    
    
  • 枚举的调用

    枚举作为引用,赋值只能选择在enum中定义过的,类名. 的方式调用赋值

    public class Student {
    	String name ;
    	Sex sex ;
    	
    	public static void main(String[] args) {
    		Student stu = new Student();
    		stu.sex = Sex.male ;
    		
    		System.out.println(stu.sex);
    	}
    }
    

2、包装类

  • 2.1概念以及构造方法
    • 包装类,就是把基本的数据类型转换成对象。

    • 包装类的作用:

      • 提供了一系列实用的方法
      • 集合不允许存放基本数据类型数据,存放数字时,要用包装类型
    • 构造方法:

      • 除了character 之外,都支持对应的基本数据类型和字符串作为参数构造对象,character 只支持本身的基本数据类型作为参数。

      • 每个基本数据类型,都有与之对应的包装类

        byte short int long float double boolean char

        Byte Short Integer Long Float Double Boolean Character

  • 2.2常用方法
      • toString() 返回一个字符串对像,代表这个包装类的值,通过对象调用。重写Object的toString

      • static toString(type t) 返回一个字符串,代表指定的基本数据类型的值。通过类名调用。

    • parsetype(String s) 将 字符串 -> 基本数据类型 。 静态方法。 character 除外。

    • typeValue() 包装类型 -> 基本数据类型 。非静态方法

    • valueOf(Type value) 基本数据类型 -> 包装类型。 静态方法

      • public static Type valueOf(type value)

      • 除Character类外,其他包装类都有如下方法(字符串->包装类)

        public static Type valueOf(String s)

      //例如
      		Double d = new Double(45.23);
      		 //非静态的toString()方法需要实例对象调用。是重写Object的toString
      		String str1 = d.toString() ;  
      		
      		//静态的toString()方法可以通过  类名.的方式调用,()之中的参数为基本数据类型 ,返回对应的String字符串
      	String str2 = Double.toString(45.23); 
      		
      		// static int parseType(String s)   字符串  ->  基本数据类型    
      		int i = Integer.parseInt("89089");
      		
      		//typeValue()  包装类型 -> 基本数据类型
      		Integer i = new Integer(788);
      		int i1 = i.intValue() ;
      		
      		//valueOf()  基本数据类型 -> 包装类
      		Long l = Long.valueOf(89898L);
      		Long l1 = Long.valueOf("24315141");
      		//Character(char ch)   只能传入char类型的基本数据类型
      		Character c = Character.valueOf('f');	
      
  • 2.3装箱以及拆箱 (JDK1.5之后)
    • JDK1.5之后的版本中,支持包装类与基本数据类型的混合运算。

    • 装箱 基本的自动转换为包装类

    • 拆箱 包装类自动转换为基本数据类

    Integer i = 829 ; //自动装箱
    int i1 = i ; //自动拆箱
    
    //注意:在这里有个大坑:
    //对于数值类型的包装类取值为-128 ~ 127这个范围的时候,不会创建新的对象,统一在常量池中。
    //例如
    Short sh1 = 127 ;
    Short sh2 = 127 ;
    Short sh3 = 128 ;
    Short sh4 = 128 ;
    System.out.println(sh1 == sh2 );//打印结果为 true ,因为sh1 sh2 都指向的是常量池中的127 
    System.out.println(sh3 == sh4 );//打印结果为false,因为sh3 sh4 相当于new了两个实例,地址不同 
    

3、Math

  • 3.1概念

    数学类,提供的有一些数学计算的方法,和两个静态常量,圆周率PI和自然对数的底数E

  • 3.2常用的方法
  • 都是静态方法

    • abs(Type a ) 绝对值 double float int long

    • max (Type a , Type b ) 最大值 min(Type a , Type b ) 最小值 double float int long

    • random 小于1的随机小数 , 静态方法

      ​ 如何获取随机数:(int)(Math.random() *10) 得到0 ~ 9个位数的随机数

      ​ (int)(Math.random() *100) 得到0 ~ 99 的随机数

    • ceil (double a) 向上取整 只有double

    • floor(double a) 向下取整 只有double

    • rond (double a) 四舍五入 浮点数都行

4、Random java.util.Random

  • 概念

主要用于获取随机数,提供的有各种类型的随机数获取方式,比如int,double,boolean等

使用:

import java.util.Random;

public class Test8 {
	public static void main(String[] args) {
		// Random java.util包  
		Random rand1 = new Random();
		rand1.setSeed(50);
		System.out.println(rand1.nextInt(20));
		System.out.println(rand1.nextDouble());
		System.out.println(rand1.nextBoolean());
		
		Random rand2 = new Random(20);  //随机的数是 0-20,但是不包括20,包括0.即包前不包后
		System.out.println(rand2.nextInt(10));
		System.out.println(rand3.nextInt(10));
	}
}

5、String

  • 常用的方法
  • 字符串,引用类型的数据

  • length():字符串长度

    • equals( String s ):比较内容, 返回Boolean

    • equalsIgnoreCase():忽略大小写比较内容, 返回Boolean

    • toLowerCase():转换为小写 返回String

    • toUpperCase():转换为大写 返回String

  • concat( String st ):拼接字符串 返回String

    • indexOf (int ch):查找第一个出现的位置,返回其下标 返回int

      ​ 这个int类的ch 参数为 一个字符(Unicode代码点)

      ​ 也可以传入字符串作为参数

    • lastIndexOf(String s ):查找最后一个出现的位置, 返回int

  • subString():截取字符串,包前不包后

    ​ int index 作为参数,代表返回一个从index开始截取的字符串

    ​ int index ,int endsIndex作为参数,代表返回一个从index开始,endsIndex结束的字符串

  • trim():去除前后的空格 ,返回一个String

    • startsWith(String s):判断是否已某个字符串开头

    • endsWith(String s):判断是否已某个字符串结尾

  • split():分割字符串为String数组

    • replace():替换字符串

    • replaceAll():可以支持正则表达式替换字符串

  • 常量池
    • 数值类型的包装类取值为-128 ~ 127这个范围,不会创建新的对象,为了节省内存空间

      String类型效果相似,如果之前已经有相同值的字符串存在,那么本次不会创建新的对象,也是节省内存空间

    • 在String的创建中,如果在创建之前,在常量池中,如果已经存在有内容一样的字符串,那么第二次创建乃至之后创建的时候,会直接引用常量池中的字符串地址。这里的创建不是new对象,而是利用自动装箱创建。例如:

    String  s1 =  "abc" ;
    String s2 = "abc"  ;
    System.out.println(s1 == s2) ;
    
    //输出结果为true 	
    

6、Runtime

getRuntime 获取一个Runtime实例

maxMemory(最大内存)

freeMemory(空闲内存)

totalMemory(总内存)

exec 执行可执行文件

gc 请求JVM调用垃圾回收

exit 退出虚拟机

7、System

没有构造方法,,方法都是静态方法

System.currentTimeMilles(); 获取当前系统的时间的毫秒值,从1970.1.1.00:00开始

System.exit(0); 底层调用的还是Runtime的exit();

System.gc() ;

8、StringBuffer和StringBuilder

  • StringBuffer
    • ​ 线程安全 ,可变字符串
    • ​ 四个构造方法,支持无参构造,无参构造初始容量为16
    • ​ 方法和String大部分差不多,多了几个方法 apend()追加 insert() 插入 capacity() 容量 length() 字符串长度 reverse()反转,也少了几个
  • StringBuilder
    • ​ 线程不安全,可变字符串 ,其他内容和StringBuffer一样
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值