Java日记:API入门
Scanner類
通過Scanner類的next()與nextLine()方法獲取輸入的字符串,在讀取前我們一般需 要 使用hasNext() 與hasNextLine()判斷是否還有輸入的數據。
🔷next(): 🍉1、一定要讀取到有效字符后才可以結束輸入。 🍉2、對輸入有效字符之前遇到的空白,next()方法會自動將其去掉。 🍉3、只有輸入有效字符后才將其后面輸入的空白作為分隔符或者結束符。 🍉4、next()不能得到帶有空格的字符串。
🔷nextLine(): 🍉1、以Enter為結束符,也就是說nextLine()方法返回的是輸入回車之前的所有字符。 🍉2、可以獲得空白。
別忘了關掉水龍頭scanner.close();
System類
1.
System.exit((int status);終d止當前運行的 Java 虛擬機,非零表示異常 終止
status是零參數,那么表示正常退出程序。
status是1或者非零參數,那么表示非正常退出程序。
2.
System.currentTimeMillis();返回當前時間(以毫秒為單位)
3.
System.arraycopy(Object src, int srcPos, Object dest, int destPos, int length)將數組 中指定的數據拷貝到另一個數組中。
public class Demo2 { 2 public static void main(String[] args) { 3 int[] src = new int[]{1,2,3,4,5}; 4 int[] dest = new int[]{6,7,8,9,10}; 5 System.arraycopy(src, 0, dest, 0, 3); 6 System.out.println("src = " + Arrays.toString(src)); 7 System.out.println("dest = " + Arrays.toString(dest)); 8 /*代碼運行后:兩個數組中的元素發生了變化 9 src數組元素[1,2,3,4,5] 10 dest數組元素[1,2,3,9,10] 11 */ 12 } 13 }Math類
🔷Math類概述及使用 1、Math類概述 Math 包含執行基本數字運算的方法
2、Math中方法的調用方式 Math類中無構造方法,但內部的方法都是靜態的,則可以通過 類名.進行調用
3、Math類的常用方法
public static int abs(int a) 返回參數的絕對值
public static double ceil(double a) 返回大于或等于參數的最小double值,等于一個 整數 代碼實例 public static double floor(double a) 返回小于或等于參數的最大double值,等于一個 整數
public static int round(float a) 按照四舍五入返回最接近參數的int
public static int max(int a,int b) 返回兩個int值中的較大值
public static int min(int a,int b) 返回兩個int值中的較小值
public static double pow (double a,double b) 返回a的b次冪的值
public static double random() 返回值為double的正值,[0.0,1.0)
public class Demo7 {public static void main(String[] args) {int abs = Math.abs(-4);System.out.println("abs = " + abs);double ceil = Math.ceil(3.01);System.out.println("ceil = " + ceil);double floor = Math.floor(4.99);System.out.println("floor = " + floor);long round = Math.round(4.4);System.out.println("round = " + round);int max = Math.max(3, 4);System.out.println("max = " + max);int min = Math.min(4, 5);System.out.println("min = " + min);double pow = Math.pow(2, 2);System.out.println("pow = " + pow);} }BigDecimal類
BigDecimal:Float和Double
💫作用:可以用來進行精確計算
💫構造方法
BigDecimal bigDecimal = new BigDecimal(xxx);其中,xxx可以是整型數據,也可以是數字內容 的字符串數據,但不可以是浮點型數據,如:
public class Demo8 {public static void main(String[] args) {BigDecimal decimal1 = new BigDecimal(123); //ok 可以但是不推薦BigDecimal decimal2 = new BigDecimal("123.123");//ok 推薦使用BigDecimal decimal3 = new BigDecimal(123.123); // 不ok 不推薦System.out.println("decimal1 = " + decimal1);System.out.println("decimal2 = " + decimal2);System.out.println("decimal3 = " + decimal3);} }compareTo:A.compareTo(B)
A>B 得1;A=B 得0;A<B 得-1。
public class Demo3 { 2 public static void main(String[] args) { 3 4 BigDecimal one = new BigDecimal("4.321"); 5 BigDecimal tow = new BigDecimal("1.234"); 6 BigDecimal three = tow.subtract(one); // tow - one = -3.087 7 8 int result1 = one.compareTo(tow); 9 System.out.println("result1 = " + result1); // 1 10 11 int result2 = one.compareTo(one); 12 System.out.println("result2 = " + result2); // 0 13 14 int result3 = three.compareTo(tow); 15 System.out.println("result3 = " + result3); // -1 16 } 17 }💫常用方法
public BigDecimal add(另一個BigDecimal對 象) 加法
public BigDecimal subtract (另一個 BigDecimal對象) 減法
public BigDecimal multiply (另一個 BigDecimal對象) 乘法
public BigDecimal divide (另一個BigDecimal 對象) 除法
public BigDecimal divide (另一個BigDecimal 對象,精確幾位,舍入模式) 除法
Object類
🔷Object類概述
Object 是類層次結構的根,每個類都可以將 Object 作為超類。所有類都直接或者間接的繼承自該 類,換句話說,該類所具備的方法,所有類都會有一份
重寫toString方法
toString方法的作用: 以良好的格式,更方便的展示對象中的屬性值
哈希值(我說實話沒聽太懂但感覺問題不大)直接上代碼
2public class Demo2 extends Object{ 3 public static void main(String[] args) { 4 //哈希值 5 int[] arr = {1,2,3};System.out.println(arr); //[I@1540e19d [=數組 I=int數組 @=分隔符 1540e19d= 哈希值 6 7 8 String[] arr1 = {"1","2","3"}; 9 System.out.println(arr1); //[Ljava.lang.String;@677327b6 10 11 //哈希值在Object里面 12 //toHexString()=轉換十六進制 13 /* 14 * public String toString() { 15 return getClass().getName() + "@" + Integer.toHexString(hashCode()); 16 } 17 18 //沒有實現方法 native:本地方法 java底層用c寫的 19 public native int hashCode(); 20 */ 21 22 //任何對象都有對應的哈希值 23 int code = "hello".hashCode(); 24 System.out.println("code = " + code); 25 // 十六進制(簡寫為hex或下標16)在數學中是一種逢16進1的進位制。 26 // 一般用數字0到9和字母A到F(或a~f)表示, Object類是Java類層次結構中的根類,每個類都繼承了Object類,當然每一個對象也都可以調用Object 類中的方法,其中equals方法是一個非常重要的方法,因此進行詳細介紹: 1、在Object類中,equals方法比較的是兩個對象的地址值,地址值相同返回true,否則返回false 27 // 其中:A~F表示10~15,這些稱作十六進制數字。 28 //轉換十六進制 29 String hexString = Integer.toHexString(code); 30 System.out.println("hexString = " + hexString); 31 32 int th = "通話".hashCode(); 33 System.out.println("th = " + th); 34 String s1 = Integer.toHexString(th); 35 System.out.println("s1 = " + s1); 36 37 int zd = "重地".hashCode(); 38 System.out.println("zd = " + zd); 39 String s2 = Integer.toHexString(zd); 40 System.out.println("s2 = " + s2); 41 } 42 }🔷Object類的equals方法
equals方法的作用 用于對象之間的比較,返回true和false的結果 舉例:s1.equals(s2); s1和s2是兩個對象
重寫equals方法的場景 不希望比較對象的地址值,想要結合對象屬性進行比較的時候。
重寫equals方法的方式 i. alt + insert 選擇equals() and hashCode(),IntelliJ Default,一路next,finish即可 i. 在類的空白區域,右鍵 -> Generate -> 選擇equals() and hashCode(),后面的同上。
Object類中原本的equals方法比較的都是地址值
@Override 30 //傳入的對象默認為Object類型,此處涉及到多態 31 public boolean equals(Object o) { 32 //若參與比較的兩個對象是同一個對象(地址值相同),直接返回true,只是為了提高代碼執行效率 33 if (this == o) return true;//若傳入的參數o是null或者不是person類型,直接返回false,此處使用了反射技術來判斷o是否 是person類型 34 35 if (o == null || getClass() != o.getClass()) return false; 36 //使用向下轉型,將Object類型的o轉化為person類型的o。這是因為在傳入時使用了多態, 37 //多態不能使用子類特有的屬性和方法 38 Student student = (Student) o; 39 //若兩個對象的name和age都相同,返回true,否則返回false 40 return age == student.age && 41 Objects.equals(name, student.name); 42 } 43 44 /*@Override 45 public int hashCode() { 46 return Objects.hash(name, age); 47 }*/ 48 }基本數據類型和包裝類的轉換
通過包裝類Integer.toString()將整型轉換為字符串;
通過Integer.parseInt()將字符串轉換為int類型;
通過valueOf()方法把字符串轉換為包裝類然后通過自動拆箱。
包裝類知識
包裝類對象的初始值為null(是一個對象);
基本類型包裝類
基本類型包裝類的作用
將基本數據類型封裝成對象的好處在于可以在對象中定義更多的功能方法操作該數據 常用的操作之一:用于基本數據類型與字符串之間的轉換
基本類型對應的包裝類
?byte=Byte ????????short=Short???????? int=Integer???????? long=Long? ? ? ? ?float=Float????????double=Double ????????char=Character ????????boolean=Boolean
?裝箱:基本數據類型轉換為包裝類; 拆箱:包裝類轉換為基本數據類型。
public class Demo3 { 2 public static void main(String[] args) { 3 //創建包裝類 4 //1 構造方式 ,可以存入數字,字符串 5 Integer integer1 = new Integer(10); 6 Integer integer2 = new Integer("10"); 7 8 //2.Integer的靜態方法 9 Integer integer3 = Integer.valueOf(100); 10 Integer integer4 = Integer.valueOf("100"); 11 12 System.out.println(integer1); 13 System.out.println(integer2); 14 System.out.println(integer3); 15 System.out.println(integer4); 16 } 17 }int和String類型的相互轉換(記憶)
int轉換為String 轉換方式
方式一:直接在數字后加一個空字符串
方式二:通過String類靜態方法valueOf()
String轉換為int 轉換方式
方式一:先將字符串數字轉成Integer,再調用valueOf()方法
方式二:通過Integer靜態方法parseInt()進行轉換
public class IntegerDemo { 2 public static void main(String[] args) { 3 //String --- int 4 String s = "100"; 5 //方式1:String --- Integer --- int 6 Integer i = Integer.valueOf(s); 7 //public int intValue() 8 int x = i.intValue(); 9 System.out.println(x); 10 //方式2 11 //public static int parseInt(String s) 12 int y = Integer.parseInt(s); 13 System.out.println(y); 14 } 15 }Arrays工具類
🔷Arrays的常用方法
public static String toString(int[] a) 返回指定數組的內容的字符串表示形式
public static void sort(int[] a) 按照數字順序排列指定的數組
public static int binarySearch(int[] a, int key) 利用二分查找返回指定元素的索引
public class MyArraysDemo { 2 public static void main(String[] args) { 3 // 返回指定數組的內容的字符串表示形式 4 // int [] arr = {3,2,4,6,7}; 5 // System.out.println(Arrays.toString(arr)); 6 7 // 按照數字順序排列指定的數組 8 // int [] arr = {3,2,4,6,7}; 9 // Arrays.sort(arr); 10 // System.out.println(Arrays.toString(arr)); 11// public static int binarySearch(int[] a, int key) 利用二分查找返回指定元素的索 引 12 13 int [] arr = {1,2,3,4,5,6,7,8,9,10}; 14 int index = Arrays.binarySearch(arr, 10); 15 System.out.println(index); 16 //1,數組必須有序 17 //2.如果要查找的元素存在,那么返回的是這個元素實際的索引 18 //3.如果要查找的元素不存在,那么返回的是 (-插入點 負數) 19 //插入點:如果這個元素在數組中,他應該在哪個索引上. 20 } 21 }總結
以上是生活随笔為你收集整理的Java日记:API入门的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: chrome 该文件可能已遭到删除、移动
- 下一篇: Java发展怎么样?主要岗位职责是什么