一.枚舉
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);
}
}