常用的API
API(Application Programming Interface),應用編程接口
JDK API 1.6.0中文版
Scanner類
Scanner類的功能:可以實現鍵盤輸入數據,到程序當中。
引用類型的一般使用步驟:
-
導包
import 包路徑.類名稱;
只有java.lang包下的內容不需要導包,其他的包都需要import語句。 -
創建
類名稱 對象名 = new 類名稱(); -
使用
對象名.成員方法名();
import java.util.Scanner;// 1. 導包
public class Demo01Scanner {
public static void main(String[] args) {
// 2. 創建
// System.in代表從鍵盤進行輸入2
Scanner sc = new Scanner(System.in);
// 3.使用
int num = sc.nextInt();// 獲取鍵盤輸入的int字符
System.out.println("輸入的int數字是:"+num);
String str = sc.next();// 獲取鍵盤輸入的字符串
System.out.println("輸入的字符串是:"+str);
}
}
匿名對象
匿名對象就是隻有右邊的對象,沒有左邊的名字和賦值運算符
new 類名稱();
【注意事項】匿名對象只能使用唯一的一次,下次再用不得不再創建一個新對象。
【使用建議】如果確定有一個對象只需要使用唯一的一次,就可以使用匿名對象。
public class Demo01Anonymous {
public static void main(String[] args) {
methodParam(new Scanner(System.in));
Scanner sc = methodReturn();
int num2 = sc.nextInt();
System.out.println("輸入的是" + num2);
}
// 匿名對象作爲參數
public static void methodParam(Scanner sc){
int num = sc.nextInt();
System.out.println("輸入的是" + num);
}
// 匿名對象作爲返回值
public static Scanner methodReturn(){
return new Scanner(System.in);
}
}
Random類
生成隨機數
import java.util.Random;
public class Demo01Random {
public static void main(String[] args) {
Random r = new Random();
int a = r.nextInt(3);//在[0,10)內生成隨機數
System.out.println("a="+a);
}
}
對象數組Arraylist類
實現大小可變的數組
|
<E>表示泛型,也就是裝在集合當中的所有元素,全都是統一的什麼類型。
【注意】泛型只能是引用類型,不能是基本類型
常用方法:
import java.util.ArrayList;
public class Demo02ArrayList {
public static void main(String[] args) {
//從JDK1.7+開始,右側尖括號內部可以不寫內容
ArrayList<String> list = new ArrayList<>();
System.out.println(list);//[]
//向集合中添加數據
list.add("易烊千璽");
list.add("王俊凱");
list.add("王源");
System.out.println(list);
//從集合當中獲取元素
String name = list.get(2);
System.out.println(name);
//從集合中刪除元素
String whoRemoved = list.remove(2);
System.out.println(whoRemoved);
//獲取集合的尺寸長度
int size = list.size();
System.out.println(size);
}
}
如果希望向集合ArrayList中存儲基本類型數據,必須使用基本類型對應的“包裝類”
基本類型 | 包裝類(引用類型,包裝類都位於java.lang包下) |
---|---|
byte | Byte |
short | Short |
int | Integer 【特殊】 |
long | Long |
float | Float |
double | Double |
char | Character 【特殊】 |
boolean | Boolean |
Integer 和 int 的區別
- Integer是int的包裝類,int則是java的一種基本數據類型
- Integer變量必須實例化後才能使用,而int變量不需要
- Integer實際是對象的引用,當new一個Integer時,實際上是生成一個指針指向此對象;而int則是直接存儲數據值
- Integer的默認值是null,int的默認值是0
從jdk1.5+開始,支持自動裝箱,自動拆箱
自動裝箱:基本類型 --> 包裝類型
自動拆箱:包裝類型 --> 基本類型
/*
自動裝箱與自動拆箱:基本類型的數據和包裝類直接可以自動的相互轉換
JDK1.5之後出現的新特性
*/
public class Demo02Integer {
public static void main(String[] args) {
// 自動裝箱:直接把int類型的整數賦值給包裝類
Integer in = 1;//相當於Integer in = new Integer(1);
// 自動拆箱:in是包裝類,無法直接參與運算,可以自動轉換爲基本數據類型,再進行計算
in = in + 2;//相當於in.intValue()+2=3 in = in.intValue()+2=3又是一個自動裝箱
}
}
public class Demo02ArrayList {
public static void main(String[] args) {
//從JDK1.7+開始,右側尖括號內部可以不寫內容
ArrayList<String> list = new ArrayList<>();
ArrayList<Integer> list2 = new ArrayList<>();
list2.add(199);//隱含自動裝箱 list2.add(new Integer(199))
list2.add(188);
int num = list2.get(1);//自動拆箱 list2.get(0).intValue()
}
}
包裝類
基本數據類型,使用起來非常方便,但是沒有對應的方法來操作這些基本類型的數據
可以使用一個類,把基本類型的數據裝起來,在類中定義一些方法,這個類叫做包裝類
我們可以使用類中的方法來操作這些基本類型的數據
拆箱和裝箱:
/*
裝箱:把基本類型包裝到包裝類中
構造方法:
Integer(int value) 構造一個新分配的 Integer 對象,它表示指定的 int 值。
Integer(String s) 構造一個新分配的 Integer 對象,它表示 String 參數所指示的 int 值。
傳遞的字符串,必須是基本類型的字符串,否則拋出異常 "100"正確 "a"異常
靜態方法:
static Integer valueOf(int i) 返回一個表示指定的int值的Integer實例
static Integer valueOf(String s) 返回保存指定的String的值的Integer對象
拆箱:在包裝類中取出基本類型的數據
成員方法:intValue() 以 int 類型返回該 Integer 的值。
*/
public class Demo01Integer {
public static void main(String[] args) {
//裝箱
Integer in1 = new Integer(1);//方法上有橫線,說明方法過時了
System.out.println(in1);//1 重寫了toString方法
Integer in2 = new Integer("2");
System.out.println(in2);
//靜態方法
Integer in3 = Integer.valueOf(3);
System.out.println(in3);
Integer in4 = Integer.valueOf("4");
System.out.println(in4);
// 拆箱
int i = in1.intValue();
System.out.println(i);
}
}
基本類型與字符串之間的相互轉換
/*
基本類型與字符串類型之間的相互轉換
基本類型->字符串(String)
1. 基本類型的值+"" 最簡單的方法(工作中常用)
2. 包裝類的靜態方法toString(參數),不是Object類的toString() 重載
static String toString(int i) 返回一個表示指定整數的String對象
3. String類的靜態方法valueOf(參數)
字符串(String)->基本類型
使用包裝類的靜態方法parseXXX("數值類型的字符串");
Integer類:static int parseInt(String s)
Double類:static int parseDouble(String s)
*/
public class Demo03Integer {
public static void main(String[] args) {
//基本類型->字符串(String)
int i1 = 100;
String s1 = i1+"";
System.out.println(s1+200);//100200
String s2 = Integer.toString(100);
System.out.println(s2+200);//100200
String s3 = String.valueOf(100);
System.out.println(s3+200);//100200
//字符串(String)->基本類型
int i = Integer.parseInt(s1);
System.out.println(i-10);
}
}