天天看點

JAVA-實用類

一.枚舉

Enum,特殊的資料類型,即是一個類又有比普通類多一點限制

簡潔、安全、友善等特點,有一個特定的範圍

常量用finall形容

public enum 枚舉名{
}
           

Values()方法可以傳回枚舉的所有常量

valuesof()可以通過字元串建立對應的枚舉對象

二.Math

數學方法,都是靜态常量,常量E和PI

public class math {
    public static void main(String[] args) {
        System.out.println("常量E"+Math.E);
        System.out.println("常量PI"+Math.PI);
        System.out.println("9的平方根"+Math.sqrt(9));
        System.out.println("8的立方根"+Math.cbrt(8));
        System.out.println("2的3次平方"+Math.pow(2,3));
        System.out.println(Math.max(6.5,3.5));
        System.out.println(Math.min(5.5,9.7));
        System.out.println(Math.abs(-8.9));
        System.out.println(Math.ceil(10.0003));
        System.out.println(Math.floor(10.99999));
        System.out.println(Math.random());
        System.out.println(Math.round(5.6));
        System.out.println(Math.round(6.6f));
        System.out.println(Math.rint(6.4));
    }
}
           

三.Random

import java.util.Random;

public class random {
    public static void main(String[] args) {
        Random random = new Random();
        for (int i = 1; i <= 3; i++) {
            boolean flag = random.nextBoolean();
            System.out.println(flag);
        }
        for (int i = 1; i <=3; i++) {
            double num = random.nextDouble();
            System.out.println(num);
        }
        for (int i = 1; i <= 3; i++) {
            float num = random.nextFloat();
            System.out.println(num);
        }
        for (int i = 1; i <=3; i++) {
            int num = random.nextInt();
            System.out.println(num);
        }
    }
}
           

四.String

String執行個體化有兩種方式

1.直接指派

2.利用構造函數建立執行個體化對象

public class stringTest {
    public static void main(String[] args) {
        String str1 = "Hello";
        String str2 = "Hello";
        System.out.println(str1 == str2);//true
        String str3 = new String("World");
        String str4 = new String("World");
        System.out.println(str3 == str4);//false
    }
}
           

直接指派的方法:首先會在字元串常量池中開辟一個新的空間,然後再将該記憶體位址給到棧中,如果第二次再用到相同的字元串則不會再重新開辟新的空間,直接把已有的記憶體位址指派給棧,是以==比較會是true

構造函數的方法:new幾個String就會開辟幾個記憶體空間,會把不同的記憶體位址賦給棧,是以==比較會是false

String類對于繼承Object類的equals方法進行重寫;

在判斷兩個字元串是否相等時,會直接将字元串轉為byte類的數組,然後依次判斷字元串的每個值是否相等

public class Test1 {
    public static void main(String[] args) {
        String str = "Hello";
        String str1 = str;
        System.out.println(str.equals(str1));
    }
}
           

String常用方法

import java.util.Arrays;

public class stringUse {
    public static void main(String[] args) {
        char[] array = {'j','a','v','a','H','e','l','l','o'};
        String str = new String(array);
        System.out.println(str);
        System.out.println(str.length());
        System.out.println(str.isEmpty());
        //下标為2的字元
        System.out.println(str.charAt(2));
        System.out.println(str.indexOf("H"));
        String str1 = "Hello";
        System.out.println(str.equals(str1));
        String str2 = "HELLO";
        //忽略大小寫是否相等
        System.out.println(str1.equalsIgnoreCase(str2));
        System.out.println(str.startsWith("java"));
        System.out.println(str.endsWith("java"));
        //從2開始截取
        System.out.println(str.substring(2));
        System.out.println(str.substring(2,6));
        System.out.println(str.replaceAll("Hello","javaME"));
        System.out.println(Arrays.toString(str.split(",")));
        //将字元串轉為char類型的數組
        System.out.println(Arrays.toString(str.toCharArray()));
        System.out.println(str2.toLowerCase());
        System.out.println(str1.toUpperCase()); 
    }
}

           

五.StringBuffer

底層是用一個數組來存儲字元串的值,空的StringBuffer預設長度為16

調用有參構造是“值的長度+16”

如果修改範圍超過16,則調用底層方法進行擴容

public class stringBuff {
    public static void main(String[] args) {
        StringBuffer stringBuffer = new StringBuffer();
        System.out.println(stringBuffer);
        System.out.println(stringBuffer.length());
        stringBuffer = new StringBuffer("Hello");
        System.out.println(stringBuffer);
        //列印下标為2的字元
        System.out.println(stringBuffer.charAt(2));
        stringBuffer = stringBuffer.append("java");
        System.out.println(stringBuffer);
        stringBuffer = stringBuffer.delete(3,6);
        System.out.println(stringBuffer);
        stringBuffer = stringBuffer.deleteCharAt(3);
        System.out.println(stringBuffer);
        stringBuffer = stringBuffer.replace(2,3,"stringBuffer");
        System.out.println(stringBuffer);
        String str = stringBuffer.substring(2);
        System.out.println(str);
        str = stringBuffer.substring(2,8);
        System.out.println(str);
        stringBuffer = stringBuffer.insert(6,"six");
        System.out.println(stringBuffer);
        System.out.println(stringBuffer.indexOf("e"));
        System.out.println(stringBuffer.indexOf("e",6));
        stringBuffer = stringBuffer.reverse();
        System.out.println(stringBuffer);
        str = stringBuffer.toString();
        System.out.println(str);
    }
}
           

六.日期

Java.util.Date 和 Java.util.Calendar

使用java.text.SimpleDateFormate類對日期進行格式化,SimpleDateFormate提供模闆标記

import java.text.SimpleDateFormat;
import java.util.Date;

public class date {
    public static void main(String[] args) {
        Date date = new Date();
        SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:SSS");
        String str = simpleDateFormat.format(date);
        System.out.println(str);
    }
}
           

七.Calender

import java.text.SimpleDateFormat;
import java.util.Calendar;

public class CalendarTest {
    public static void main(String[] args) {
        //計算2018年8月6日所在周是一年中的第幾周
        Calendar calendar = Calendar.getInstance();
        calendar.set(Calendar.YEAR,2018);
        calendar.set(Calendar.MONTH,7);
        calendar.set(Calendar.DAY_OF_MONTH,6);
        int week = calendar.get(Calendar.WEEK_OF_YEAR);
        System.out.println(week);

        calendar.set(Calendar.YEAR,2018);
        calendar.set(Calendar.MONTH,7);
        calendar.set(Calendar.DAY_OF_MONTH,6);
        calendar.set(Calendar.DAY_OF_YEAR,calendar.get(Calendar.DAY_OF_YEAR)-21);
        SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd");
        String str1 = simpleDateFormat.format(calendar.getTime());
        System.out.println(str1);
    }
}