摘要:讀輸入這個(gè)對(duì)象做讀入下一行的操作這個(gè)對(duì)象打印下一行數(shù)組其中所有的元素都具有相同的數(shù)據(jù)類型數(shù)組定義創(chuàng)建的數(shù)組會(huì)得到默認(rèn)的值創(chuàng)建個(gè)型數(shù)組直接初始化數(shù)組可以不用給出大小有成員函數(shù)可直接使用數(shù)組變量是數(shù)組的管理者而非數(shù)組本身數(shù)組必須創(chuàng)建出來交給數(shù)組
1、讀輸入
Scanner in=new Scanner(System.in);//in這個(gè)對(duì)象做讀入下一行的操作 System.out.println(in.nextLine());//System.out這個(gè)對(duì)象打印下一行
2、數(shù)組
其中所有的元素都具有相同的數(shù)據(jù)類型
int []s=new int[maxn];//數(shù)組定義 new創(chuàng)建的數(shù)組會(huì)得到默認(rèn)的0值 創(chuàng)建maxn個(gè)int型數(shù)組 int []s={1,2,3,4};//直接初始化數(shù)組 可以不用給出大小
有成員函數(shù)length可直接使用 數(shù)組變量是 !**數(shù)組的管理者**!而非數(shù)組本身! 數(shù)組必須創(chuàng)建出來交給數(shù)組變量管理,數(shù)組變量之間的賦值是**管理權(quán)限**的賦予, 數(shù)組變量之間的比較是判斷**是否管理同一個(gè)數(shù)組** eg. s是有maxn個(gè)元素的數(shù)組的管理者
3、包裹類型
基礎(chǔ)類型 包裹類型 boolean Boolean char Character int integer double Double
可以通過包裹類型獲取該類型的最大最小值,判斷是否是字母什么的 可以有更多的功能擴(kuò)展
4、Math類
Math.abs(-12);//12 Math.pow(2,3);//8.0 浮點(diǎn)運(yùn)算 Math.random();//生成0~1之間的隨機(jī)數(shù) 可以*100 獲取0~100之間的隨機(jī)數(shù) Math.round();//四舍五入
5、字符串
字符串變量并不存放字符串,也不是字符串所有者,它是**字符串的管理者** Java的字符串是”不可變“對(duì)象,所有對(duì)字符串的操作都是產(chǎn)生一個(gè)新的字符串, 而不是對(duì)原來的字符串進(jìn)行修改 String的變量是對(duì)象的管理者 eg. String s=new String("a string");//創(chuàng)建了一個(gè)String的對(duì)象,并初始化 //創(chuàng)建了這個(gè)對(duì)象的管理者s 讓s管理這個(gè)對(duì)象 輸入字符串,in.next;//讀入一個(gè)單詞,以空格為界 in.nextLine();讀入一整行 字符串的比較: if(input=="bye") 比較的是 是否指向的是同一個(gè)String對(duì)象 很大可能return false 因?yàn)閕nput和"bye"是兩個(gè)不同的字符串 if(input.equals("bye") 才是比較內(nèi)容是否相同 對(duì)字符串的操作: s.charAt(index);//返回在index上的單個(gè)字符 0~length()-1 //注意 不能用for-each循環(huán)來遍歷字符串 for(char c:s){}不行 //for-each只適合于數(shù)組或者可枚舉類型 s.substring(n);//得到從n號(hào)位置到末尾的全部?jī)?nèi)容 s.substring(b,e);//b號(hào)位置到e號(hào)位置之前的內(nèi)容 左閉右開 s.indexOf(c);//得到c字符所在位置,-1表示不存在 s.indexOf(c,n);//從n號(hào)位置開始找 s.indexOf(t);//找到字符串t所在位置 返回值為子串開始的index s.lastIndexOf();//從右邊開始找 eg.要找一個(gè)串中的第二個(gè)3 String s="0123453"; int loc=s.indexOf("3"); s.indexOf("3",loc+1); s.startsWith(t);//s是否是以字符串t開頭的 s.endsWith(t); s.trim();//把字符串兩端的空格刪掉 s.replace(c1,c2);//所有的c1換成c2 s.toLowerCase();//所有字符都變成小寫 s.toUpperCase();
6、 本地變量不會(huì)被自動(dòng)初始化 有可能會(huì)報(bào)錯(cuò),所以要記得初始化
本地變量:定義在函數(shù)內(nèi)部,作用域和生存期都在函數(shù)內(nèi)部, 而成員變量(自動(dòng)初始化為0或null)的生存期是對(duì)象的生存期,作用域是類內(nèi)部的成員函數(shù)
7、類和對(duì)象
VendingMachine v=new VendingMachine();//對(duì)象變量是對(duì)象的管理者
v.insertMoney()中使用的成員變量是v的成員變量實(shí)際上**是通過this實(shí)現(xiàn)的**
this:
this是成員函數(shù)的一個(gè)特殊的固有的**本地變量**,它表達(dá)了調(diào)用這個(gè)函數(shù)的 **那個(gè)對(duì)象** 在成員函數(shù)內(nèi)部直接調(diào)用自己的其他函數(shù),也可以通過this來實(shí)現(xiàn)(通常會(huì)省略)
一個(gè)類的成員變量可以是其他類的對(duì)象
8、封裝:把數(shù)據(jù)和對(duì)數(shù)據(jù)的操作放在一起,并且用這些操作把數(shù)據(jù)掩蓋起來 (面向?qū)ο蠛诵母拍睿?/p>
直接手段: 類的所有成員變量必須是private的 所有的public的函數(shù),只是用來實(shí)現(xiàn)這個(gè)類對(duì)象或類自己要提供的服務(wù)的,而不是用來直接訪問數(shù)據(jù)。
private(類所私有的)只能用于成員變量和成員函數(shù):
public class Display{ private int num; private int getValue(){ };//不可以在getValue函數(shù)中定義變量的時(shí)候使用private }
注意:
只有這個(gè) 類內(nèi)部(類的成員函數(shù)和定義初始化) 可以訪問
這個(gè)限制是對(duì)類的,而不是對(duì)對(duì)象的
//private定義的變量,限制其他類的對(duì)象訪問本類對(duì)象的這個(gè)變量,但不限制本類的其他對(duì)象訪問奔雷的private數(shù)據(jù)
public class Fraction{ private int a; private int b; public Fraction plus(Fraction r) { int fenzi=a*r.b+r.a*b;//這個(gè)完全可以實(shí)現(xiàn)哦,因?yàn)閜rivate的限制不是對(duì)對(duì)象的,他們都在Fraction類里 int fenmu=b*r.b; return new Fraction(fenzi,fenmu); } }
9、包
10、類變量和類函數(shù)
類是描述,對(duì)象是實(shí)體
在類中所描述的成員變量,實(shí)際上是位于這個(gè)類的各自的對(duì)象中的
但是如果某個(gè)成員由static關(guān)鍵字修飾,它就變成了屬于整個(gè)類的了
每個(gè)對(duì)象都可以訪問到這些類變量和類函數(shù)并且可以直接通過名字調(diào)用
類函數(shù)不屬于任何對(duì)象,無法建立與調(diào)用他們的對(duì)象的關(guān)系,也就不能直接訪問任何非static的成員變量和成員函數(shù),必須要通過對(duì)象進(jìn)行調(diào)用
this表示當(dāng)前本對(duì)象,類函數(shù)和對(duì)象沒有任何關(guān)系,所以類函數(shù)沒有this
通過一個(gè)類的對(duì)象對(duì)static變量進(jìn)行了修改,那么其他對(duì)象中的這個(gè)變量的值也都被修改了,因?yàn)檫@個(gè)變量是類的,而不是多帶帶某一個(gè)對(duì)象的
可以通過 類.static型變量 對(duì)該變量進(jìn)行訪問
static變量只能被初始化一次,在第一次類的裝載的時(shí)候被初始化
11、對(duì)象容器
究竟把什么放進(jìn)容器里了?對(duì)象的管理者.
泛型類:eg. ArrayList 這種泛型類是一種容器
無限放東西,計(jì)算機(jī)有容量就能一直放,數(shù)組無法實(shí)現(xiàn),要用容器實(shí)現(xiàn)
容器類有兩個(gè)類型:容器的類型(ArrayList)、元素的類型(String)
import java,util.ArrayList; public class NoteBook{ private ArrayListnotes=new ArrayList (); //ArrayList類中常用成員函數(shù) //notes.add(s); notes(location,s);//把s放在原來location前面,即放在location位置,原來location位置以后的東西順序后移 //notes.size(); //notes.remove(index); //notes.toArray(a);//把這個(gè)ArrayList里的元素都復(fù)制到a數(shù)組中,然后進(jìn)行輸出,如下圖所示,可以省略一個(gè)循環(huán) }
12、對(duì)象數(shù)組
當(dāng)數(shù)組的元素的類型是類的時(shí)候,數(shù)組的每一個(gè)元素都只是對(duì)象的管理者而非對(duì)象本身, 僅僅創(chuàng)建數(shù)組并不意味著創(chuàng)建了其中的每一個(gè)對(duì)象,String[] a=new String[10],此時(shí)對(duì)象還沒有創(chuàng)建出來,如果是int,則會(huì)產(chǎn)生a[0]=0;
for-each循環(huán)
for(int k:ia){ k++; }//沒有任何用,因?yàn)檫@里的k只是原數(shù)組的復(fù)制品 對(duì)于對(duì)象數(shù)組卻有所不同 因?yàn)?數(shù)組管理的那塊東西 和 for-each循環(huán)里那個(gè)東西管理的 是同一個(gè)東西,會(huì)實(shí)現(xiàn)修改
13、集合容器
HashSets=new HashSet ();//集合不保存重復(fù)鍵值 System.out.println(s);//可以直接輸出 [second,first] ArrayList也可以 //因?yàn)樗麄兌紝?shí)現(xiàn)了toString public String toString(){ return ""+s[i]; }
class Value{ private int i; } main(){ Value v=new Value(); v.set(10); System.out.println(v);//輸出的是奇怪的東西,繼續(xù)在Value類里實(shí)現(xiàn)toString才能夠輸出 //return ""+i; }
注意:
集合容器中的元素不是在一塊連續(xù)的存儲(chǔ)空間內(nèi)的,各個(gè)元素的位置是不連續(xù)且無序的,所以無法用index去索引任何一個(gè)元素的地址**(集合是無序的)** 因此,也不能用get()來獲取某個(gè)位置的元素
14、散列表
HashMapm=new HashMap ();//注意不能是int,因?yàn)樵谌萜髦兴性囟急仨毷菍?duì)象 m.put(key,value); m.get(key);//可以獲取到對(duì)應(yīng)的value m.keySet();//獲取Set中不重復(fù)的鍵值個(gè)數(shù) //同樣也可以直接用println輸出m
15、繼承與多態(tài)
子類可以繼承得到父類的所有東西(構(gòu)造方法除外,它是每個(gè)類所獨(dú)有的),但并不代表全部可以使用。 每個(gè)成員有不同的訪問屬性 父類成員訪問屬性 在父類中的含義 在子類中的含義 public 對(duì)所有人開放 對(duì)所有人開放 protected 只有包內(nèi)其他類、自己和子類可以訪問 只有包內(nèi)其他類、自己和子類可以訪問 private 只有自己可以訪問 不能訪問 缺省 只有包內(nèi)其他類可以訪問 如果子類和父類在同一個(gè)包內(nèi):只有包內(nèi)其他類可以訪問 否則,相當(dāng)于private,不能訪問
protected:包內(nèi)和子類可訪問
缺省:在父類所在的包內(nèi)可見,如果子類和父類不在一個(gè)包中,則也不能訪問
private型變量在子類中也是存在的,只是不能直接訪問,在子類中也不能更改他們的屬性,如果定義了一個(gè)同名變量,則是與父類里面那個(gè)無關(guān)的獨(dú)立的一個(gè)變量
構(gòu)造一個(gè)子類對(duì)象時(shí),先回調(diào)用父類的構(gòu)造函數(shù),再調(diào)用自己的,父類空間先被初始化,然后子類空間才會(huì)被初始化。 這樣就有 可能會(huì)出現(xiàn)問題。
如果父類的構(gòu)造函數(shù)是有參構(gòu)造函數(shù),那么子類如何給他傳參呢??
這里用到的是super(title); 父類構(gòu)造函數(shù)會(huì)根據(jù)super中的參數(shù)去尋找它里面合適的構(gòu)造函數(shù)
關(guān)于super:
//super是用來給父類傳遞參數(shù)的 super();//一個(gè)構(gòu)造函數(shù)中只能使用一次super**(因?yàn)橹挥幸粋€(gè)父類呀)**,并且super要放第一行
子類和父類中都有print();時(shí) 用super.print();調(diào)用父類的
多態(tài)變量
對(duì)象變量可以保存其聲明的類型的對(duì)象,或者該類型的**任何子類型的對(duì)象** 保存**對(duì)象類型**的變量是**多態(tài)變量**(是指一個(gè)變量可以保存不同類型的對(duì)象)
子類的對(duì)象可以被當(dāng)作父類的對(duì)象來使用:
賦值給父類的變量
傳遞給需要父類對(duì)象的函數(shù)
放進(jìn)存放父類對(duì)象的容器里
Java中所有對(duì)象變量都是多態(tài)的,他們能保存不止一種類型的對(duì)象
他們可以保存聲明類型的對(duì)象,或聲明類型的子類的對(duì)象
當(dāng)把子類的對(duì)象賦值給父類的變量(不是對(duì)象對(duì)對(duì)象的賦值,而是讓這兩個(gè)東西管理同一個(gè)東西)的時(shí)候——發(fā)生了向上造型
*C++里面可以做對(duì)象對(duì)對(duì)象的賦值,但Java不能*
Vechicle v; Car c=new car(); v=c; c=v;//編譯錯(cuò)誤,父類的對(duì)象不能賦值給子類的變量 c=(Car)v;//v實(shí)際管理的是Car類型才行 (造型:聲明類型和動(dòng)態(tài)類型(實(shí)際傳遞進(jìn)去的)不符) //這樣可能有風(fēng)險(xiǎn) 取決于v當(dāng)時(shí)管理的對(duì)象是什么 只有它管理Car類型時(shí)才能被成功造型 //造型(括號(hào)圍起來):對(duì)象本身并沒有發(fā)生任何變化,當(dāng)做另一個(gè)類型來看待,不是“類型轉(zhuǎn)換” //運(yùn)行時(shí)有幾只來檢查這樣的轉(zhuǎn)化是否合理 eg. ClassCastException
多態(tài)
子類方法覆蓋了父類方法,但具有相同的方法名稱和參數(shù)表,仍然是父類中定義的那個(gè)方法,不過是新版本,子類對(duì)象調(diào)用執(zhí)行子類自己的這個(gè)方法,父類對(duì)象執(zhí)行父類的
注意是對(duì)象而非變量,因?yàn)橐粋€(gè)類型為父類的變量有可能指向的是一個(gè)子類的對(duì)象
函數(shù)調(diào)用的綁定:通過對(duì)象變量調(diào)用函數(shù)時(shí),調(diào)用哪個(gè)函數(shù)
靜態(tài)綁定:根據(jù)變量的聲明類型決定 動(dòng)態(tài)綁定:根據(jù)變量的動(dòng)態(tài)類型決定(默認(rèn))//運(yùn)行的時(shí)候才知道是什么類型
在成員函數(shù)中調(diào)用其他成員函數(shù)也是通過this這個(gè)對(duì)象變量來調(diào)用的
所以所有成員函數(shù)的調(diào)用都應(yīng)該看做是動(dòng)態(tài)調(diào)用
覆蓋(override)
子類方法和父類方法具有相同的方法名稱和參數(shù)表的一對(duì)函數(shù)構(gòu)成覆蓋關(guān)系 通過父類變量調(diào)用存在覆蓋關(guān)系導(dǎo)函數(shù)時(shí),取決于**當(dāng)時(shí)所管理的對(duì)象的類**的函數(shù)
Object類
所有的類都是繼承自O(shè)bject的
成員函數(shù):
toString(); equals();
向下造型:
public boolean equals(Object obj){//之前穿傳去的是CD類型,所以下面要做一個(gè)向下造型 CD cc=(CD)obj; return artist.equals(cc.artist)); }
@Override
告訴編譯器覆蓋了父類的函數(shù),注意**括號(hào)參數(shù)類型也會(huì)不能改的哦,public也不能去掉** 會(huì)產(chǎn)生編譯錯(cuò)誤,加了@的話
16、抽象
抽象類(abstract)不能創(chuàng)建任何對(duì)象,僅僅表達(dá)接口,而不具體實(shí)現(xiàn)細(xì)節(jié)。但是**可以定義變量**,要**繼承了這個(gè)抽象類的對(duì)象**才可以賦給這個(gè)變量。
eg:
class Circle{...} Shape c; c=new Circle();//c實(shí)際是管理了子類的對(duì)象
抽象類中可以實(shí)現(xiàn)抽象方法,也用abstract修飾,抽象方法是不完全的,它只是一個(gè)方法簽名而完全沒有方法體。 如果一個(gè)類有了抽象方法,這個(gè)類就**必須聲明為抽象類**。 如果父類是抽象類,子類就必須**覆蓋(即實(shí)現(xiàn))所有**在父類中的抽象方法,否則子類也成為一個(gè)抽象類
public abstract class Shape{ public abstract void draw(Graphics g);//注意不能有{},不然就會(huì)報(bào)錯(cuò) }
17、接口:規(guī)定長啥樣
接口(interface)是純抽象類 所有的成員函數(shù)都是抽象函數(shù) 所有的成員變量都是public static final
Cell是一個(gè)接口類型,F(xiàn)ield如果想要一個(gè)Cell,此時(shí)Fox和Rabbit都實(shí)現(xiàn)了這個(gè)接口,從而他們可以作為Cell給Field使用。
public interface Cell{//interface和class是同一級(jí)別,可以說是一種特殊的類 void draw(Grphics g,int x,int y,ints size); }
類用extends,接口用implements
類可以實(shí)現(xiàn)很多接口
接口可以繼承接口,但是不能繼承類
接口不能實(shí)現(xiàn)接口
設(shè)計(jì)程序時(shí),要先定義接口,再實(shí)現(xiàn)類
任何需要在函數(shù)間傳入傳出的一定是接口而不是具體的類 ???留坑 不是很懂
18、instanceof
if(an instanceof Rabbit)//用于判斷an是不是Rabbit類型的變量
20、 內(nèi)嵌類型:在類或接口內(nèi)部定義的自定義類型
class A{//包圍類 static class B{ static int x;}//內(nèi)部類 可添加雨多成員函數(shù)才能具備的東西,eg. static,private interface C{int y=0;}//內(nèi)部接口 }//編譯后將產(chǎn)生三個(gè)文件:A.class A$B.class A$C.class
內(nèi)部類可以訪問囿類所有成員,包括私有
要訪問內(nèi)部類,需要通過囿類或囿類對(duì)象來訪問
如果要將囿類對(duì)象自身傳給內(nèi)部類對(duì)象: 囿類對(duì)象名.this
外部類和內(nèi)部類可以任意互訪,但是外部類要通過創(chuàng)建內(nèi)部類的對(duì)象來訪問內(nèi)部類
若 內(nèi)部類 中有靜態(tài)成員,則這個(gè)內(nèi)部類必須是靜態(tài)內(nèi)部類 才能夠通過A.B.x直接調(diào)用起哄的靜態(tài)成員
21、GUI圖形界面
JButton類:可以實(shí)現(xiàn)一個(gè)按鈕JButton bt=new JButton("單步");
JFrame類:實(shí)現(xiàn)一個(gè)框架
Swing:
所有東西都是部件,放在容器中,容器管理部件的時(shí)候會(huì)使用布局管理器(五個(gè)方位參數(shù)),默認(rèn)是BorderLayout;
采用事件監(jiān)聽器的事件處理模型,某個(gè)對(duì)象實(shí)現(xiàn)相關(guān)接口就可以成為相關(guān)事件的監(jiān)聽器,就可以注冊(cè)到它想監(jiān)聽的組件上。
frame.add(bt,BorderLayout.NORTH);//一定要注意指定位置,否則會(huì)覆蓋掉之前的東西 //因?yàn)閰?shù)缺省的時(shí)候默認(rèn)是center,會(huì)覆蓋掉前面的
//匿名類 bt.addActionListener`(` new ActionListener(){ public void actionPerformed(ActionEvent e){ ... } } `)` //ActionListener里面只有actionPerformed()函數(shù)
在new對(duì)象的時(shí)候給出類的定義 形成匿名類
匿名類可以繼承某類,也可以實(shí)現(xiàn)某接口
Swing的消息機(jī)制廣泛使用匿名類
//內(nèi)部類 class StepListener implements ActionListener{ public void actionPerformed(ActionEvent e){ ... } } bt.addActionListener(new StepListener());//注意傳進(jìn)去要是實(shí)現(xiàn)了ActionListener的對(duì)象
定義在別的類、函數(shù)內(nèi)部
能直接訪問外部類的資源,包括私有
外部是函數(shù)時(shí),只能訪問那個(gè)函數(shù)里final的變量
反轉(zhuǎn)控制
把一個(gè)實(shí)現(xiàn)了ActionListener接口的對(duì)象交給JButton(注冊(cè)),JButton就能反過來去調(diào)用里面的actionPerformed()函數(shù),實(shí)現(xiàn)相關(guān)操作。(也叫Swing的消息機(jī)制)
MVC模式
22、異常處理
import java.util.Scanner; class test { public static void main(String[] args) { int []a=new int[10]; int idx; java.util.Scanner in=new Scanner(System.in); idx=in.nextInt(); try{ a[idx]=10; System.out.println("hi"); }catch(ArrayIndexOutOfBoundsException e) { System.out.println("caught"); } catch(Typel e){ ... } ... } }//try-catch語句捕獲異常,后面可以跟著很多catch
拿到異常對(duì)象之后:
String getMessage();
String toString();
void printStackTrace();
如果沒辦法處理,可以再度拋出
catch(Exception e){ System.err.println("An exception was thrown"); throw e; }//(如果在這個(gè)層面上需要處理,但是不能做最終的決定,就繼續(xù)拋出,給下一個(gè)catch處理)
什么能扔?
任何繼承了Throwable類的對(duì)象//throws XX
Exception類繼承了Throwable
throw new Exception()
throw new Exception("HELP");//兩種形式
catch怎么匹配?
Is-A關(guān)系
拋出自誒異常會(huì)被捕捉父類異常的catch捉到
能捕捉到任何異常:
catch(Exception e){ System.err.println("Caught an exception"); }
如果你的函數(shù)可能會(huì)拋出異常,就必須在函數(shù)頭部加以聲明
void f() throws TooBig,TooSmall{ ... }
23、I/O流
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/74868.html
摘要:我的學(xué)習(xí)筆記匯總標(biāo)簽筆記分為兩大部分和筆記內(nèi)容主要是對(duì)一些基礎(chǔ)特性和編程細(xì)節(jié)進(jìn)行總結(jié)整理,適合了解基礎(chǔ)語法,想進(jìn)一步深入學(xué)習(xí)的人如果覺得不錯(cuò),請(qǐng)給,這也是對(duì)我的鼓勵(lì),有什么意見歡迎留言反饋目錄基礎(chǔ)鞏固筆記反射基礎(chǔ)鞏固筆記泛型基礎(chǔ)鞏 我的java&javaweb學(xué)習(xí)筆記(匯總) 標(biāo)簽: java [TOC] 筆記分為兩大部分:javase和javaweb javase javawe...
摘要:最近系統(tǒng)整理了一套初學(xué)者最佳的學(xué)習(xí)方法以及會(huì)遇到的坑等,希望對(duì)你有所幫助。正常的智商其實(shí),學(xué)習(xí)并不需要所謂的數(shù)學(xué)邏輯好,需要英語水平棒。大周期每天學(xué)習(xí)時(shí)間五個(gè)小時(shí)以上的,建議學(xué)習(xí)周期。三學(xué)習(xí)時(shí)會(huì)遇到的坑不知道學(xué)習(xí)的重點(diǎn),下面學(xué)習(xí)路線會(huì)畫。 最近系統(tǒng)整理了一套java初學(xué)者最佳的學(xué)習(xí)方法以及會(huì)遇到的坑等,希望對(duì)你有所幫助。 目錄: 一、學(xué)習(xí)java的前提 二、學(xué)習(xí)java的方法 三、學(xué)習(xí)...
摘要:而面向搜索引擎,就是我們要及時(shí)的使用百度谷歌遇到問題無法解決,先別急著放棄,可以去網(wǎng)絡(luò)尋找答案,你的坑大部分別人都已經(jīng)走過了,大部分都可以找到合適的解決方案。 showImg(https://segmentfault.com/img/remote/1460000019236352?w=866&h=456); 前言: ●眾多的語言,到底哪一門才是適合我的?●我們?yōu)槭裁匆獙W(xué)習(xí)Java語言呢...
摘要:請(qǐng)回復(fù)這個(gè)帖子并注明組織個(gè)人信息來申請(qǐng)加入。權(quán)限分配靈活,能者居之。數(shù)量超過個(gè),在所有組織中排名前。網(wǎng)站日超過,排名的峰值為。導(dǎo)航歸檔社區(qū)自媒體平臺(tái)微博知乎專欄公眾號(hào)博客園簡(jiǎn)書合作侵權(quán),請(qǐng)聯(lián)系請(qǐng)抄送一份到贊助我們 Special Sponsors showImg(https://segmentfault.com/img/remote/1460000018907426?w=1760&h=...
摘要:請(qǐng)回復(fù)這個(gè)帖子并注明組織個(gè)人信息來申請(qǐng)加入。版筆記等到中文字幕翻譯完畢后再整理。數(shù)量超過個(gè),在所有組織中排名前。網(wǎng)站日超過,排名的峰值為。主頁歸檔社區(qū)自媒體平臺(tái)微博知乎專欄公眾號(hào)博客園簡(jiǎn)書合作侵權(quán),請(qǐng)聯(lián)系請(qǐng)抄送一份到贊助我們 Special Sponsors showImg(https://segmentfault.com/img/remote/1460000018907426?w=1...
閱讀 892·2021-11-15 11:38
閱讀 1619·2021-09-24 09:48
閱讀 851·2021-09-24 09:47
閱讀 2281·2021-08-26 14:15
閱讀 3512·2019-08-30 11:09
閱讀 2616·2019-08-29 16:55
閱讀 1593·2019-08-26 14:01
閱讀 3047·2019-08-23 16:47