JAVA基础学习大全(笔记)
JAVASE和JAVAEE的區(qū)別
JDK的安裝路徑
[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-perPRPgq-1608641067105)(C:\Users\王東梁\AppData\Roaming\Typora\typora-user-images\image-20201222001641906.png)]
卸載和安裝JDK
[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-SYnXvbAn-1608641067107)(C:\Users\王東梁\AppData\Roaming\Typora\typora-user-images\image-20201222001805046.png)]
[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-4KQ1Ie9x-1608641067110)(C:\Users\王東梁\AppData\Roaming\Typora\typora-user-images\image-20201222002723760.png)]
第一個hello,word程序
[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-B7ZO5eF5-1608641067111)(C:\Users\王東梁\AppData\Roaming\Typora\typora-user-images\image-20201222094909864.png)]
Ctrl 加insert復制
shift加insert粘貼
public class hello{public static void main(String[] args){System.out.print("Hello,World!");} }JAVA的運行機制
[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-3sucdYRf-1608641067112)(C:\Users\王東梁\AppData\Roaming\Typora\typora-user-images\image-20201222095842464.png)]
標識符注意點
什么是字節(jié)
數(shù)據類型
[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-Gxmcm4g7-1608641067113)(C:\Users\王東梁\AppData\Roaming\Typora\typora-user-images\image-20201222110344066.png)]
boolean不能進行數(shù)據轉換其他數(shù)據類型為字節(jié)單位,boolean是以位為單位
浮點數(shù)拓展
[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-IVccue9F-1608641067114)(C:\Users\王東梁\AppData\Roaming\Typora\typora-user-images\image-20201222110613641.png)]
銀行中的應用
[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-y7lZwlrj-1608641067115)(C:\Users\王東梁\AppData\Roaming\Typora\typora-user-images\image-20201222110859787.png)]
類型轉換
[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-fPdSKPrJ-1608641067116)(C:\Users\王東梁\AppData\Roaming\Typora\typora-user-images\image-20201222111856239.png)]
[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-kMPPYrXB-1608641067117)(C:\Users\王東梁\AppData\Roaming\Typora\typora-user-images\image-20201222112123644.png)]
低-------------------------------> 高 byte, short,char-> int -> long-> float -> double
String不是基本的數(shù)據類型
變量和常量
變量
[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-o7i20k9e-1608641067118)(C:\Users\王東梁\AppData\Roaming\Typora\typora-user-images\image-20201222112937451.png)]
[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-cdZh5cIA-1608641067119)(C:\Users\王東梁\AppData\Roaming\Typora\typora-user-images\image-20201222113352348.png)]
變量的命名規(guī)范
位運算
位運算符<<、>>效率極快
字符串連接符+
System . out .println("" +a+b);//""先和a拼接,在和b拼接,a+b不進行算術運算 System . out. println(a+b+"");//a+b先進行算術運算,在和""拼接包機制
為了更好地組織類,Java 提供了包機制,用于區(qū)別類名的命名空間。
包語句的語法格式為:
package pkg1[. pkg2[. pk...]];一般利用公司域名倒置作為包名;com.wdl.base
為了能夠使用某一個包的成員,我們需要在Java程序中明確導入該包。使用"import"語句可 完成此功能
import package1[. package..].(classname |*);Java Doc生成自己的幫助文檔
- @author作者名
- @version 版本號
- @since 指明需要最早使用的jdk版本
- @param參數(shù)名
- @return 返回值情況
- @throws 異常拋出情況
https://www.cnblogs.com/noKing/p/8006298.html
用戶交互Scanner(獲取用戶的輸入)
next()和hasNext()
public class Demo02_Scanner {public static void main(String[] args) {//創(chuàng)建一個掃描器對象,用于接收鍵盤數(shù)據Scanner scanner = new Scanner(System.in);System.out.println("使用next方式接收: ");//判斷用戶有沒有輸入字符串if (scanner.hasNext()){//使用next方式接收String str = scanner.next();//程序會等待輸入內容,不輸入會卡在這里System.out.println("輸出的內容為: "+str);}//凡是屬于IO流的類如果不關閉會一直占用資源.要養(yǎng)成好習慣用完就關掉scanner.close();} }nextLine()和hasNextLine()
public class Demo02_Scanner {public static void main(String[] args) {Scanner scanner = new Scanner(System.in);System.out.println("使用nextLine方式接收: ");//判斷是否還有輸入if (scanner.hasNextLine()) {String str = scanner.nextLine();System.out.println("輸出的內容為: " + str);}scanner.close();} }next()和nextline()的區(qū)別
[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-cKFAhLJ3-1608641067120)(C:\Users\王東梁\AppData\Roaming\Typora\typora-user-images\image-20201222132536621.png)]
switch語句
[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-CphiOLXQ-1608641067121)(C:\Users\王東梁\AppData\Roaming\Typora\typora-user-images\image-20201222134426179.png)]
do-while(注意while后面的分號)
[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-mE7rVfxJ-1608641067121)(C:\Users\王東梁\AppData\Roaming\Typora\typora-user-images\image-20201222142429380.png)]
break和continue的區(qū)別
[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-BlbOruhX-1608641067122)(C:\Users\王東梁\AppData\Roaming\Typora\typora-user-images\image-20201222144458031.png)]
三角形的打印
[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-xhP1Pbis-1608641067123)(C:\Users\王東梁\AppData\Roaming\Typora\typora-user-images\image-20201222145112027.png)]
方法的重載
重載就是在一個類中,有相同的函數(shù)名稱,但形參不同的函數(shù)。
方法的重載的規(guī)則:
- 方法名稱必須相同。
- 參數(shù)列表必須不同(個數(shù)不同、或類型不同、參數(shù)排列順序不同等)。(必須滿足)
- 方法的返回類型可以相同也可以不相同。
- [外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-AhDtFw7k-1608641067123)(C:\Users\王東梁\AppData\Roaming\Typora\typora-user-images\image-20201222150754110.png)]
- 僅僅返回類型不同不足以成為方法的重載。
實現(xiàn)理論:
方法名稱相同時,編譯器會根據調用方法的參數(shù)個數(shù)、參數(shù)類型等去逐個匹配,以選擇對應的方法,如果匹配失敗,則編譯器報錯。
命令行傳參
[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-dZtREBGc-1608641067124)(C:\Users\王東梁\AppData\Roaming\Typora\typora-user-images\image-20201222151531483.png)]
可變參數(shù)(本質是數(shù)組)
遞歸的原理
[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-EpiDBUHQ-1608641067125)(C:\Users\王東梁\AppData\Roaming\Typora\typora-user-images\image-20201222152846380.png)]
簡易計算器
package com.kuang.scanner; import java.util.Scanner; public class hello {public static void main(String[] args) {Scanner s = new Scanner(System.in);System.out.print("請輸入第一個數(shù)字:");int num1 = s.nextInt();System.out.print("請輸入運算符:");String operator = s.next();System.out.print("請輸入第二個數(shù)字:");int num2 = s.nextInt();int result = 0;switch (operator) {case "+":result = num1 + num2;break;case "-":result = num1 - num2;break;case "*":result = num1 * num2;break;case "/":result = num1 / num2;break;case "%":result = num1 % num2;break;default:System.out.println("你的輸入不合法!!!");}System.out.println(num1 + operator + num2 + "=" + result);} }數(shù)組
首先必須聲明數(shù)組變量,才能在程序中使用數(shù)組。下面是聲明數(shù)組變量的語法:
dataType[] arrayRefVar; // 首選的方法 或 dataType arrayRefVar[]; // 效果相同,但不是首選方法Java語言使用new操作符來創(chuàng)建數(shù)組,語法如下:(前后數(shù)據類型必須一致)
dataType[] arrayRefVar = new dataType[arraySize] ;數(shù)組的元素是通過索引訪問的,數(shù)組索引從0開始。
二維數(shù)組的輸出
[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-RFkyoqjQ-1608641067126)(C:\Users\王東梁\AppData\Roaming\Typora\typora-user-images\image-20201222164548450.png)]
內存分析—三種初始化
[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-8pA8ijqW-1608641067127)(D:\image-20201222155715184.png)]
[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-98hEQl4e-1608641067128)(C:\Users\王東梁\AppData\Roaming\Typora\typora-user-images\image-20201222155834796.png)]
冒泡排序(小升級)
package com.kuang.scanner; import java.util.Arrays; public class hello {public static void main(String[] args) {int[] a = {1, 4, 5, 6, 72, 2, 2, 2, 25, 6, 7};int[] sort = sort(a); //調用完我們自己寫的排序方法以后,返回一個排序后的數(shù)組System.out.println(Arrays.toString(sort));}public static int[] sort(int[] array) {//臨時變量int temp = 0;//外層循環(huán),判斷我們這個要走多少次;for (int i = 0; i < array.length - 1; i++) {Boolean flag = false;//內層循環(huán),比價判斷兩個數(shù),如果第一個數(shù),比第二個數(shù)大,則交換位置(相鄰兩個數(shù)之間的比較)for (int j = 0; j < array.length - 1 - i; j++) {if (array[j + 1] > array[j]) {temp = array[j];array[j] = array[j + 1];array[j + 1] = temp;flag = true;}}if (flag == false){break;}}return array;} }稀疏數(shù)組(數(shù)組壓縮)
[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-8XN55TQL-1608641067128)(C:\Users\王東梁\AppData\Roaming\Typora\typora-user-images\image-20201222165501101.png)]
package com.kuang.scanner;public class hello {public static void main(String[] args) {//創(chuàng)建一個元素的二維數(shù)組 11*11 0:沒有棋子 1: 黑棋 2: 白棋int chessArry1[][] = new int[11][11];chessArry1[1][2] = 1;chessArry1[2][3] = 2;for (int [] row : chessArry1) {for ( int data : row) {System.out.printf("%d\t", data);}System.out.println();}int[][] paraseArr = transformSparseArr(chessArry1);transformArry(paraseArr);}//二維數(shù)組 轉 稀疏數(shù)組public static int[][] transformSparseArr( int[][] arry) {int sum =0; // 有效值的個數(shù)int rowSize = 0;//1、計算出有效的個數(shù)for (int[] row :arry) {for ( int data :row) {rowSize = row.length;if (data != 0) {sum++;}}}//創(chuàng)建稀疏數(shù)組 并給稀疏數(shù)組賦值int [][] sparseArr= new int[sum+1][3];sparseArr [0][0] = arry.length;sparseArr [0][1] = rowSize;sparseArr [0][2] = sum;//count 計數(shù)器 計算放入的有效個數(shù) 即第幾個非零數(shù)據int count = 0;for (int i = 0; i < arry.length; i++) {for (int j = 0; j < rowSize ; j++) {if (arry[i][j] != 0) {count++;sparseArr[count][0] = i;sparseArr[count][1] = j;sparseArr[count][2] = arry[i][j];}}}// 輸出稀疏數(shù)組形式System.out.println("===========稀疏數(shù)組============");for (int i = 0; i < sparseArr.length; i++) {// %d 占位符 \t 制表符 \n 換行System.out.printf("%d\t%d\t%d\t\n", sparseArr[i][0],sparseArr[i][1],sparseArr[i][2]);}System.out.println();return sparseArr;}// 稀疏數(shù)組 轉化為 二維數(shù)組public static int[][] transformArry(int[][] parseArr) {int row = parseArr[0][0]; //得到行int col = parseArr[0][1]; //得到列//數(shù)組恢復 并賦值int[][] arry = new int[row][col];for (int i = 1 ; i < parseArr.length; i++) {arry[parseArr[i][0]][parseArr[i][1]] = parseArr[i][2];}// 輸出System.out.println("============二維數(shù)組恢復==============");for (int [] rows: arry) {for (int data : rows) {System.out.printf("%d\t", data);}System.out.println();}return arry;} }面向對象
面向對象編程的本質就是:以類的方式組織代碼,以對象的組織(封裝)數(shù)據
三大特性:
- 封裝
- 繼承
- 多態(tài)
方法調用
靜態(tài)方法
可以通過類直接調用,在類加載時加載,不能調用非靜態(tài)方法
public class Demo01Static {public static void main(String[] args) {Student.say();} }public class Student {public static void say(){System.out.println("學生說話了");} }非靜態(tài)方法
通過實例化對象調用
public class Demo01Static {public static void main(String[] args) {Student student = new Student();student.say();} }public class Student {public void say(){System.out.println("學生說話了");} }[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-0UWi3Mdr-1608641067129)(C:\Users\王東梁\AppData\Roaming\Typora\typora-user-images\image-20201222184401007.png)]
自動生成返回值
按快捷鍵ctrl+alt+v
構造器
-
類中的構造器也稱為構造方法,是在進行創(chuàng)建對象的時候必須要調用的。并且構造器有以下倆個特點:
- 必須和類的名字相同
- 必須沒有返回類型,也不能寫void
-
構造器必須要掌握
public class Person {//一個類即使什么都不寫,它也會存在個方法//顯示的定義構造器String name ;int age;//alt+ insert 可以快捷生成構造器//1.使new關鍵字, 本質是在調用構造器//2.用例初始化值public Person(){ }//有參構造:一旦定義 了有參構造。無參就必須顯示定義,否則調用無參構造器時程序會報錯public Person(String name){this.name = name ;}public Person(String name, int age) {this. name = name;this.age = age;} }-
構造器:
- 和類名相同
- 沒有返回值
-
作用:
- new本質在調用構造方法
- 初始化對象的值
-
注意點:
定義有參構造之后,如果想使用無參構造,顯示的定義一個無參的構造
-
Alt加insert
默認生成有參,select none生成無參
[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-2Fb1eqig-1608641067130)(C:\Users\王東梁\AppData\Roaming\Typora\typora-user-images\image-20201222183536201.png)]
創(chuàng)建對象內存分析
[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-XqzJnKlN-1608641067131)(C:\Users\王東梁\AppData\Roaming\Typora\typora-user-images\image-20201222184200492.png)]
封裝
屬性私有,get/set
可以提高安全性
[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-GrVBgpI4-1608641067132)(C:\Users\王東梁\AppData\Roaming\Typora\typora-user-images\image-20201222185047275.png)]
繼承
object類
java中的所有類都直接或間接繼承Object類
Ctrl加H
可以查看當前類的繼承樹
[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-bpOTtWOC-1608641067133)(C:\Users\王東梁\AppData\Roaming\Typora\typora-user-images\image-20201222185819780.png)]
super
[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-YMs7rmIH-1608641067134)(C:\Users\王東梁\AppData\Roaming\Typora\typora-user-images\image-20201222190340430.png)]
可以省略
[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-ibzw3KLw-1608641067134)(C:\Users\王東梁\AppData\Roaming\Typora\typora-user-images\image-20201222190857594.png)]
- super注意點:
- super調用 父類的構造方法,必須在構造方法的第一個
- super 必須只能出現(xiàn)在子類的方法或者構造方法中!
- super和 this 不能同時調用構造方法!
- Vs this:
- 代表的對象不同: this 本身調用者這個對象 super:代表父類對象的應用
- 前提 this:沒有繼承也可以使用 super:只能在繼承條件才可以使用
- 構造方法 this() ; 本類的構造 super():父類的構造!
方法重寫
父類靜態(tài)方法
public class Demo04_A extends Demo04_B{public static void test(){System.out.println("A==>test()");} } //重寫都是方法的重寫,和屬性無關 public class Demo04_B {public static void test(){System.out.println("B==>test()");} } public class Applications {public static void main(String[] args) {//Demo04//方法的調用只和左邊,定義的數(shù)據類型有關Demo04_A a = new Demo04_A();a.test();//A==>test()//父類引用指向引用Demo04_B b = new Demo04_A();b.test();//B==>test()} }父類非靜態(tài)方法
public class Applications {public static void main(String[] args) {//Demo04/*靜態(tài)方法和非靜態(tài)方法區(qū)別很大靜態(tài)方法:方法的調用只和左邊,定義的數(shù)據類型有關非靜態(tài)方法:重寫,父類方法只能是public*/Demo04_A a = new Demo04_A();a.test();//A==>test()//父類引用指向引用Demo04_B b = new Demo04_A();//子類重寫了父類的方法b.test();//A==>test()} } //重寫都是方法的重寫,和屬性無關 public class Demo04_B {public void test(){System.out.println("B==>test()");} } public class Demo04_A extends Demo04_B{@Overridepublic void test() {System.out.println("A==>test()");} }重寫:需要有繼承關系,子類重寫父類的方法!
- 方法名必須相同
- 參數(shù)列表列表必須相同
- 修飾符:范圍可以擴大但不能縮小:public>Protected >Default>private
- 拋出的異常:范圍,可以被縮小,但不能擴大: ClassNotFoundException --> Exception(大)
- 重寫,子類的方法和父類必要一 致;方法體不同!
多態(tài)
- 有繼承關系
- 子類重寫父類方法
- 父類引用指向子類對象
- 注意:多態(tài)是方法的多態(tài),屬性沒有多態(tài)性。
[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-v7cw29Ei-1608641067135)(C:\Users\王東梁\AppData\Roaming\Typora\typora-user-images\image-20201222193111508.png)]
public class Person {public void run(){System.out.println("Person==>run()");} } public class Student extends Person{@Overridepublic void run() {System.out.println("Student==>run()");}public void stop(){System.out.println("Student==>stop()");} } public class Applications {public static void main(String[] args) {// 一個對象的實際類型是確定的:new Student();new Person();//可 以指向的引用類型就不確定了:父類的引用指向子類//Student 能調用的方法都是自己的或者繼承父類的!Student s1 = new Student();//Person 父類型,可以指向子類,但是不能調用子類獨有的方法Person s2 = new Student();Object s3 = new Student();//對象能執(zhí)行哪些方法,主要看對象左邊的類型,和右邊關系不大!s2.run(); //子類重寫了父類的方法。執(zhí)行子類的方法 Student==>run()s1.run();//Student==>run()s1.stop();//Student==>stop()Person p1 = new Person();p1.run();//Person==>run()} }多態(tài)注意事項:
- 多態(tài)是方法的多態(tài),屬性沒有多態(tài)
- 父類和子類,有聯(lián)系 類型轉換異常! ClassCastException!
- 存在條件: 繼承關系,方法需要重寫,父類引用指向于類對象! Father f1 = new Son();
- 不能進行多態(tài)的方法:
- static 方法,屬于類,它不屬于實例
- final常量;
- private 方法;|
父子類強轉
[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-XUuDcV9Z-1608641067136)(C:\Users\王東梁\AppData\Roaming\Typora\typora-user-images\image-20201222194544016.png)]
- 父類轉子類
-
子類轉父類
public class Application {public static void main(String[] args) {//類型之間的轉化:父 子//子類轉換為父類,可能丟失自己的本來的一些方法!Student student = new Student();student.go();Person person = student;} }
instanceof
(類型轉換)引用類型, 判斷一個對象是什么類型~
public class Applications {public static void main(String[] args) {Object object = new Student();//System. out . println(X instanceof Y);//能不能編譯通過! X,Y之間要存在父子關系//System. out . println(X instanceof Y);// X是Y之的子類,trueSystem.out.println(object instanceof Student); //trueSystem.out.println(object instanceof Person); //trueSystem.out.println(object instanceof Object); //trueSystem.out.println(object instanceof Teacher); //FalseSystem.out.println(object instanceof String); //FalseSystem.out.println("===========================");Person person = new Student();System.out.println(person instanceof Student); //trueSystem.out.println(person instanceof Person); //trueSystem.out.println(person instanceof Object); //trueSystem.out.println(person instanceof Teacher); //False//System.out.println(person instanceof String); //不能通過編譯System.out.println("===========================");Student student = new Student();System.out.println(student instanceof Student); //trueSystem.out.println(student instanceof Person); //trueSystem.out.println(student instanceof Object); //true//System.out.println(student instanceof Teacher); //不能通過編譯//System.out.println(student instanceof String); //不能通過編譯} }static
[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-0W7YHhFH-1608641067136)(C:\Users\王東梁\AppData\Roaming\Typora\typora-user-images\image-20201222195218953.png)]
靜態(tài)導入包
import static java.lang.Math.random; import static java.lang.Math.PI; public class He {public static void main(String[] args) {System.out.println(random());System.out.println(PI);} }抽象類
接口
異常
[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-elmxMHA3-1608641067137)(C:\Users\王東梁\AppData\Roaming\Typora\typora-user-images\image-20201222202516006.png)]
[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-yX2Pyjwq-1608641067138)(C:\Users\王東梁\AppData\Roaming\Typora\typora-user-images\image-20201222202615165.png)]
[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-cW9WQllf-1608641067140)(C:\Users\王東梁\AppData\Roaming\Typora\typora-user-images\image-20201222203450684.png)]
Ctrl加Alt加T
[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-DEIT6TuG-1608641067141)(C:\Users\王東梁\AppData\Roaming\Typora\typora-user-images\image-20201222203136221.png)]
總結
以上是生活随笔為你收集整理的JAVA基础学习大全(笔记)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 平顶山是几线城市(四线城市平顶山现在怎么
- 下一篇: 蓝桥杯JAVA---2013---B--