java基础学习笔记(四、常用基础类)

Random类

主要有两个方法:

Random r = new Random(); 
int i = r.nextInt(100); //[0,100)范围内的随机整数
double d = r.nextDouble();//[0.0,1.0)范围内的随机小数

枚举类

enum和class、interface的地位一样。

枚举类的所有实例都必须放在第一行展示,不需使用new 关键字,不需显式调用构造器。自动添加public static final修饰。如下:

public enum SeasonEnum {
    SPRING,SUMMER,FALL,WINTER;
}

枚举类内也可以定义属性和方法,可是是静态的和非静态的。如下:

package enumcase;

public enum SeasonEnum {
    SPRING("春天"),SUMMER("夏天"),FALL("秋天"),WINTER("冬天");
    
    private final String name;
    
    private SeasonEnum(String name)
    {
        this.name = name;
    }

    public String getName() {
        return name;
    }
}

以上代码第一行写枚举类实例的时候,默认是调用了构造器的(自己写的有参构造函数),所以此处需要传入参数,因为没有显式申明无参构造器,只能调用有参数的构造器。上面代的码构造器需定义成私有的,这样就不能在别处申明此类的其他对象了,枚举的值就限定住了。

case语句中使用枚举类

package enumcase;

public class SeasonTest {
    public void judge(SeasonEnum s)
    {
        switch(s)
        {
        case SPRING:
            System.out.println("春天适合踏青。");
            break;
        case SUMMER:
            System.out.println("夏天要去游泳啦。");
            break;
        case FALL:
            System.out.println("秋天一定要去旅游哦。");
            break;
        case WINTER:
            System.out.println("冬天要是下雪就好啦。");
            break;
        }
    }
    
    public static void main(String[] args) {
        SeasonEnum s = SeasonEnum.SPRING;
        SeasonTest test = new SeasonTest();
        test.judge(s);
    }
}

String类

String 类是不可改变的,一旦创建了 String 对象,那它的值就无法改变了,如果需要对字符串做很多修改,那么应该选择使用 StringBuffer & StringBuilder 类。

输出格式化数字可以使用 printf() 和 format() 方法。String 类使用静态方法 format() 返回一个String 对象而不是 PrintStream 对象, format()方法能用来创建可复用的格式化字符串,而不仅仅是用于一次打印输出。如下:

System.out.printf("浮点型变量的值为 " + "%f, 整型变量的值为 " +
                  " %d, 字符串变量的值为 " + "is %s", floatVar, intVar, stringVar);
 //也可写成如下
String fs;
fs = String.format("浮点型变量的值为 " + "%f, 整型变量的值为 " +
                   " %d, 字符串变量的值为 " + " %s", floatVar, intVar, stringVar);  

StringBuider与StringBuffer

StringBuffer是线程安全的,StringBuilder 是速度快的。

public StringBuffer reverse()方法用于反转字符串。

Data类

创建一个当前时间的Data对象:Date d0 = new Date();

使用带参数的构造方法Date(int year, int month, int day) ,可以构造指定日期的Date类对象,Date类中年份的参数应该是实际需要代表的年份减去1900,实际需要代表的月份减去1以后的值。如:Date d1 = new Date(2019-1900, 5-1, 26); (2019年5月26日)
获得年份:int year = d1.getYear() + 1900;
获得月份: int month = d1.getMonth() + 1;
获得日期: int date = d1.getDate();

SimpleDateFormat 类

Date d0 = new Date();
system.out.println(d0);可以打印当前时间,不过格式不太友好:sun may 11 09:34:32 CST 2019
利用SimpleDateFormat 类可以改变日期显示格式:

Date  now = new Date();
SimpleDateFormat sdf1 = new SimpleDateFormat("yyyy年MM月dd日 HH时mm分ss秒");
System.out.println(sdf1.format(now));//输出2019年05月26日 09时34分32秒

Math类

Math 包含了用于执行基本数学运算的属性和方法,如初等指数、对数、平方根和三角函数,Math 的方法都被定义为 static 形式,通过 Math 类可以在主函数中直接调用。

compareTo方法:

Integer a = new Integer(2);
a.compareTo(1);//返回1
a.compareTo(2);//返回0
a.compareTo(3);//返回-1

你可能感兴趣的:(java基础学习笔记(四、常用基础类))