java 中常用的类
?
java 中常用的類
?
Math
Math 類,包含用于執行基本數學運算的方法
常用API
取整
-
- l?
static?doubleabs(double? a) 獲取double 的絕對值 - l?
static?double??ceil(double? a) ? ?向上取整(天花板) - l?
static?double??floor(double? a) 向下取整 (地板) - l?
static?longround(double?a)? 四舍五入
- l?
1 double a = 3.1415926; 2 double ceil = Math.ceil(a); 3 double floor = Math.floor(a); 4 long round = Math.round(a); 5 // 打印結果 : 4.0---3.0---3 6 System.out.println(ceil +"---"+ floor +"---"+ round);Math 類中的取整
最值
-
- l?
static?T ?max(T t, T t) 返回參數類型值中比較大的值 - l?
static?T ?min(T t, T t) 返回參數類型值中比較小的值
- l?
1 double a = 3.156; 2 double b = 123; 3 4 double max = Math.max(a, b); 5 // 打印結果 :123.0 6 System.out.println(max); 7 8 double min = Math.min(a, b); 9 // 打印結果 :3.156 10 System.out.println(min);Math 類中的最值方法
0-1 隨機數
-
- l?
static?double?random() 返回從0-1的隨機數
- l?
1 double random = Math.random(); 2 // 打印結果 :0.40999788738259957 3 System.out.println(random);Math 類中的隨機方法
?
Calendar
Calendar 是日歷類,calendar 為抽象類,由于語言的敏感性,calendar 在創建的時候并非直接創建,而是通過靜態方法創建,先處理語言的敏感性,在返回子類對象。
Calendar 是通過getInsrance() 靜態方法來獲取子類對象。
static?Calendar?getInstance()使用默認時區和語言環境獲得一個日歷
示例:
1 public class StringDemo { 2 /** 3 * 通過calendar 類中的靜態方法,getInstance 獲取子類對象 4 */ 5 static Calendar c = Calendar.getInstance(); 6 public static void main(String[] args) { 7 /** 8 * 獲取當前日歷年份 9 * 結果 : 2018 10 */ 11 System.out.println(c.get(Calendar.YEAR)); 12 } 13 }獲取calendar
常用API
獲取
-
l?static Calendar??getInstance()? ? ? ? ? ?獲取日歷- l?
long? ? ?getTimeInMillis()? ? ? ??獲取當前時間的毫秒值 l? Date??getTime()? ? ? ? ? ? ?獲取當前時間l?int? ?get(int?field)? ? ? ? ?獲取指定字段的值- YEAR 年
- MONTH 月,從0開始算起,最大11;0代表1月,11代表12月。
- DATE 天
- HOUR 時
- MINUTE分
- SECOND秒
設置值
-
abstract void?add(int?field, int amount)?為指定的日歷字段增加或減少時間量void?set(int?field, int?value)?將指定的值設置給指定的字段void?setTime(Date?date)?將指定的Date 值設置給calendarvoidsetTimeInMillis(long?millis)將指定的毫秒值設置給calendar
1 import java.text.SimpleDateFormat; 2 import java.util.Calendar; 3 import java.util.Date; 4 5 public class StringDemo { 6 /** 7 * 通過calendar 類中的靜態方法,getInstance 獲取子類對象 8 */ 9 static Calendar c = Calendar.getInstance(); 10 public static void main(String[] args){ 11 /** 12 * 獲取當前時間的毫秒值 13 * 打印結果:1543483475246 14 */ 15 System.out.println(c.getTimeInMillis()); 16 17 /** 18 * 獲取當前時間 19 * 打印結果:Thu Nov 29 17:24:35 CST 2018 20 * 打印結果:2018-11-29 : 17:24:35 21 */ 22 Date time = c.getTime(); 23 System.out.println(time); 24 // 調用SimpleDateFormat,將當前時間轉換為指定格式 25 SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd : HH:mm:ss"); 26 System.out.println(dateFormat.format(time)); 27 28 /** 29 * 獲取當前年份 30 * 打印結果:2020 31 */ 32 c.set(Calendar.YEAR, 2020); 33 System.out.println(c.get(Calendar.YEAR)); 34 35 } 36 }calendar 的API 示例
?
SimpleDateFormat 與 Date?
DataFormat 類是針對日期進行格式化,針對字符串進行解析的類,但它是抽象類,所以使用其子類simpleDateFormat
Data 是表示特定的瞬間,精確到毫秒
SimpleDateFormat的構造方法
- SimpleDateFormat
()??使用默認的日期格式符號 - SimpleDateFormat
(String?pattern)??使用給定的模式日期格式符號
SimpleDateFormat 的API
void?applyPattern(String?pattern)??將指定模式字符串應用于此日期格式stringBufferformat(Date?date)??????將指定的日期以指定的字符串格式輸出Dateparse(String?text)????????將指定字符串解析成時間(date)
??? ? ? ?y 年??????????? M 月???? d 日
?? ??? ?? h 時 在上午或下午 (1~12)
?? ??? ?? H 時 在一天中 (0~23)
?? ??? ?? m 分???? s 秒??????????? S 毫秒? ? ? ? E 星期
? ? D 一年中的第幾天
?? ??? ?? ?F 一月中第幾個星期幾
?? ??? ?? ?w 一年中第幾個星期
?? ??? ?? ?W 一月中第幾個星期
?? ??? ?? ?a 上午 / 下午 標記符
?? ??? ?? ? k 時 在一天中 (1~24)
?? ??? ?? ?K 時 在上午或下午 (0~11)
?? ??? ?? z 時區
示例:
1 1、將當前時間毫秒值轉換成指定時間字符串 2 // 創建時間格式字符串 3 String str = "yyyy-MM-dd HH:mm:ss 一年中的第D天---一月中第F個星期E---一年中第w個星期"; 4 SimpleDateFormat dateFormat = new SimpleDateFormat(str); 5 /** 6 * 使用System.currentTimeMillis()獲取當前時間的毫秒值 7 * 將時間毫秒值轉換成指定格式的時間日期 8 * 打印結果:2018-11-26 09:49:30 一年中的第330天---一月中第4個星期星期一---一年中第48個星期 9 */ 10 System.out.println(dateFormat.format(System.currentTimeMillis())); 11 12 13 14 2、將指定時間字符串轉換成時間 15 // 創建時間字符串 16 String str1 = "2018年11月26日"; 17 SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy年MM月dd日"); 18 // 將時間字符串以指定格式,轉換成時間 19 Date date = simpleDateFormat.parse(str1); 20 // 打印結果:Mon Nov 26 00:00:00 CST 2018 21 System.out.println(date); 22 23時間與字符串相互轉換
Date? API
long??getTime()?獲取當時時間的毫秒值,和System.currentTimeMillis() 類似
?
System
System API
voidarraycopy(Objectsrc, int srcPos,Objectdest, int destPos, int length)?從指定源數組中復制一個數組,復制從指定位置開始,到目標數組的指定位置結束longcurrentTimeMillis()???返回當前時間的毫秒值voidexit(int?status)??終止當前正在運行的java 虛擬機voidgc()??????????????運行垃圾回收器
示例:
1 // 創建兩個數組,一個有內容,一個長度為10的數組 2 int[] arr = {1,2,3,4,5,6,7,8,9}; 3 int[] arr1 =new int[10]; 4 // 調用System 中的arraycopy 方法,復制arr數組到arr1中 5 System.arraycopy(arr, 0, arr1, 0, arr.length); 6 // 打印結果:[1, 2, 3, 4, 5, 6, 7, 8, 9, 0] 7 System.out.println(Arrays.toString(arr1));system 中的arraycopy方法
?
Random
Random 類 是生成隨機數(偽隨機數)的類。在進行隨機時,隨機算法的起源數字稱之為種子數,在種子數的基礎上進行一定的變換,從而產生需要的隨機數字。
相同種子數的Random 對象,相同次數生成的隨機數數字是完全相同的。也就是說,兩個種子數完全相同的Random對象,第一次生成的隨機數字完全相同,第二次生成的隨機數字也完全相同。
Random 的構造方法
Random() 創建一個新的隨機數生成器。
Random(long?seed) ?使用單個 long 種子創建一個新的隨機數生成器。
1 // 創建random 類,種子數相同 2 Random random = new Random(10); 3 Random random1 = new Random(10); 4 // 生成隨機數 5 int i = random.nextInt(); 6 int i1 = random1.nextInt(); 7 // 打印結果 : -1157793070----1157793070 8 System.out.println(i+"---"+i1); 9 10 // 創建random 類,生成隨機數,無種子數 11 Random random = new Random(); 12 Random random1 = new Random(); 13 // 生成隨機數 14 int i = random.nextInt(); 15 int i1 = random1.nextInt(); 16 // 打印結果 : -1526132103----233068814 17 System.out.println(i+"---"+i1);Random 種子數對比
Random 類的API
int next(int?bits)生成下一個偽隨機數。int?nextInt()? 返回下一個偽隨機數,它是此隨機數生成器的序列中均勻分布的int值。int?nextInt(int?n)返回一個偽隨機數,范圍從0-(n-1)之間boolean?nextBoolean()返回下一個偽隨機數,它是取自此隨機數生成器序列的均勻分布的boolean值。- ?
long nextLong()返回下一個偽隨機數,它是取自此隨機數生成器序列的均勻分布的long值。 double? nextDouble()返回下一個偽隨機數,它是取自此隨機數生成器序列的、在0.0和1.0之間均勻分布的double值。float? nextFloat()? 返回下一個偽隨機數,它是取自此隨機數生成器序列的、在0.0和1.0之間均勻分布的float值。
?示例:
1 Random random = new Random(); 2 // 獲取 -3到7 之間的隨機數,包含-3,不包含7 3 int nextInt = random.nextInt(10)-3; 4 // 打印結果 5 5 System.out.println(nextInt);Random 中的nextInt方法
?
Scanner
Scanner 是jdk1.5 之后添加的類。用于鍵盤輸入內容
構造方法
Scanner(InputStream?source)?構造一個新的Scanner,它生成的值是從指定的輸入流掃描的。 System.in (從鍵盤掃描)Scanner(File?source)構造一個新的Scanner,它生成的值是從指定文件掃描的。
Scanner API
?查找并返回來自此掃描器的下一個完整標記。Stringnext()nextLine()?此掃描器執行當前行,并返回跳過的輸入信息。int?? ?nextInt()將輸入信息的下一個標記掃描為一個 int。nextDouble()將輸入信息的下一個標記掃描為一個 double。
?
示例:
1 // 創建Scanner 類 2 Scanner s = new Scanner(System.in); 3 System.out.println("請輸入數字"); 4 // 調用nextLine() 方法,鍵盤輸入 5 String line = s.nextLine(); 6 // 調用nextLine() 方法,鍵盤輸入 7 String line2 = s.nextLine(); 8 // 輸出結果 9 System.out.println(line+line2); 10 11 // 創建Scanner 類 12 Scanner s1 = new Scanner(System.in); 13 System.out.println("請輸入數字"); 14 // 調用nextInt() 方法,鍵盤輸入整數 15 int line3 = s1.nextInt(); 16 // 調用nextInt() 方法,鍵盤輸入整數 17 int line4 = s1.nextInt(); 18 // 輸出結果 19 System.out.println(line+line2);Scanner 調用示例
注意:
Scanner 中 next() 與 nextLine() 的區別
next() : 只讀取輸入的值,到空格結束。它不能讀取由兩個空格或者符號隔開的單詞。且光標定位到本行
nextLine() : 讀取輸入的值,包括單詞,所有空格以及符號。到回車鍵結束。且光標定位到下一行
?
轉載于:https://www.cnblogs.com/dajiaoniu/p/10032384.html
總結
以上是生活随笔為你收集整理的java 中常用的类的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 为什么很多网站的验证码都设置得肉眼都很难
- 下一篇: 求一个吴姓好听的女孩名字