JAVA基礎

1.基本結構:
public static void main(String[] args) {
權限修飾符、靜態(tài)修飾符 返回值類型 方法名 參數(shù)
}
2.fload類必須加上F万俗、f否則編譯器會當成double
3.final常量蔬充,可以先定義在賦值颈畸,但只能賦值一次
4.static
static方法:不依賴于任何對象就可以訪問,故沒有this操作,靜態(tài)方法中不可訪問非靜態(tài)方法和變量焕毫,反之可以。
補充:當然也可以將某個類的實例對象驶乾,然后通過該實例對象調(diào)用非靜態(tài)方法
static變量:不可修飾局部變量邑飒,同樣不需要依托于對象(與C語言不同,static不可限制權限)级乐,兩個對象對同一個靜態(tài)成員變量操作疙咸,將會操作內(nèi)存中的同一個地址
5.String:
字符串常用方法:indexOf()該字符串第一次出現(xiàn)的位置
lastIndexOf()該字符串第一次出現(xiàn)的位置
charAt()指定位置的字符
subString(1,3)截取字符串
trim()去除前導空格和尾部空格
replace(”A”风科,”B")替換字符串
startsWith()endsWith()是否是這個前綴或者后綴
compareTo()按照字典順序比較兩個字符串撒轮,基于Unicode值
例:
String str1 = "test11";
String str2 = "test22";
str2.compareTo(str1)返回“1”,相反“-1”贼穆,相同則“0”
split(”,”,3)按照指定字符和次數(shù)限制分割字符串
equals()對比兩個對象(必須是地址和內(nèi)容全部相同)
例:String s1 = new String("jianghong");
String s3 = new String("jianghong");
String s2 = "jianghong";
String s4 = "jianghong";
那么s2=s4,s1!=s3.解釋:new 出來的對象會調(diào)用String的構造函數(shù)题山,同時在堆里和對象池里各創(chuàng)建一個對象。但直接賦值會首先在對象池查找是否有相同的字符串故痊,有的話則將地址指向這個字符顶瞳。
例:
String a = "1";
String b = "2";
String c = "12";
String d = "1"+"2";
String e = a+b;
如果 final a final b 那么c和e‘是否相等
c = d ,c != e ,c=e'
解釋:取決于在編譯期間是否能知道它實際的內(nèi)容。

6.數(shù)組:java.util.Arrays
排序:Arrays.sort(arr)
搜索:Arrays.binarySearch(arr,0,2,5);
冒泡排序愕秫、選擇排序慨菱、反轉(zhuǎn)排序(有序)
7.類
extends 繼承與某個類

     class SubClass extends SuperClass{
     //構造方法調(diào)用父類構造方法
     public Subclass(String name){
     super (name)
     }
}
implement 實現(xiàn)某個接口(interface支持被繼承,類中支持多接口實現(xiàn))

//定義了一個接口Flyer

interface Flyer
{
    void fly ();
    int ID = 1;
}
public class Animal extends Person implements Flyer,Runner{
    @Override
    public void fly() {
    }
    int j = Flyer.ID;
}
 構造方法的調(diào)用順序為先頂級再父類再自身

8.權限修飾符 java

| 包位置 |private|protected|public
| -------------|-------------| -----|
| 本類 |可見 | 不可見| 不可見 |
| 同包其他類或子類 |不可見 | 可見 | 可見 |
| 其它包的類或者子類 | 不可見 | 不可見 | 可見 |

類的成員不寫訪問修飾時默認為default戴甩。默認對于同一個包中的其他類相當于公開(public)符喝,對于不是同一個包中的其他類相當于私有(private)。受保護(protected)對子類相當于公開甜孤,對不是同一包中的沒有父子關系的類相當于私有
9.java內(nèi)存回收(對象的銷毀)當超出作用范圍或者被賦為null的時候洲劣。不足之處為只能回收由new創(chuàng)建的對象备蚓,那么就要寫方法finalize(),調(diào)用這個方法,手動將對象銷毀(null)囱稽。但是當Java內(nèi)存爆炸用完的時候

10.關于計算機編碼基礎
原碼:
如果機器字長為n郊尝,那么一個數(shù)的原碼就是用一個n位的二進制數(shù),其中最高位為符號位:正數(shù)為0战惊,負數(shù)為1流昏。剩下的n-1位表示概數(shù)的絕對值。
例如: X=+101011 , [X]原= 00101011 X=-101011 , [X]原= 10101011
位數(shù)不夠的用0補全吞获。
PS:正數(shù)的原况凉、反、補碼都一樣:0的原碼跟反碼都有兩個各拷,因為這里0被分為+0和-0刁绒。
反碼:
反碼就是在原碼的基礎上,符號位不變其他位按位取反(就是0變1烤黍,1變0)就可以了知市。
例如:X=-101011 , [X]原= 10101011 ,[X]反=11010100
補碼:
補碼也非常的簡單就是在反碼的基礎上按照正常的加法運算加1速蕊。
例如:X=-101011 , [X]原= 10101011 嫂丙,[X]反=11010100,[X]補=11010101
PS:0的補碼是唯一的规哲,如果機器字長為8那么[0]補=00000000跟啤。
移碼:
移碼最簡單了,不管正負數(shù)唉锌,只要將其補碼的符號位取反即可隅肥。
例如:X=-101011 , [X]原= 10101011 ,[X]反=11010100袄简,[X]補=11010101腥放,[X]移=01010101

11.對象類型轉(zhuǎn)型

     向上轉(zhuǎn)型:SuperClass super = new SubClass();即,將子類的對象賦值給父類痘番。
例:假設SuperClass有個方法test(SuperClass class)捉片,這樣如果根據(jù)子類對象的不同在父類的方法中,進行不同的處理汞舱,這就是多態(tài)的思想伍纫。
     向下轉(zhuǎn)型:將父類對象賦值給子類,可能會出現(xiàn)對象成員的錯誤昂芜,需要使用顯示類型轉(zhuǎn)換(SuperClass)
     instanceof:判斷某個對象是否為某一個類的一個實例

12.抽象類:使用abstract修飾莹规,抽象類不能擁有實例化的對象,但可以通過繼承和多態(tài)實現(xiàn)方法泌神。抽象方法本身沒有方法體良漱,沒有實際意義

13.java 中使用import可以指定某個包中的所有類舞虱,如:import com.test.jianghong.*,import不僅能導入類母市,也可以導入靜態(tài)成員矾兜,如import:static java.lang.Math.max;

14.集合類 map、list患久、set
迭代器iterator(),

Collection<String> list =new ArrayList<>();
list.add("a");
list.add("b");
list.add("c");
Iterator <String> it  = list.iterator();
while (it.hasNext()){
    System.out.println(it.next());
}
    ```
15.I/O輸入輸出
     所有輸入流類都是抽象類InoutStream或Reader的子類椅寺。所有輸出都是OutputStream或Writer的子類
     InputStream是用來處理字節(jié)的,不適合處理字符文本(字符采用Unicode編碼蒋失,雙字節(jié))返帕,而Reader則能處理字符流

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;

public class StandardInputOutput {
public static void main(String args[]) {
String s;
// 創(chuàng)建緩沖區(qū)閱讀器從鍵盤逐行讀入數(shù)據(jù)
InputStreamReader ir = new InputStreamReader(System.in);
BufferedReader in = new BufferedReader(ir);
System.out.println("Unix系統(tǒng): ctrl-d 或 ctrl-c 退出"
+ "\nWindows系統(tǒng): ctrl-z 退出");
try {
// 讀一行數(shù)據(jù),并標準輸出至顯示器
s = in.readLine();
// readLine()方法運行時若發(fā)生I/O錯誤篙挽,將拋出IOException異常
while (s != null) {
System.out.println("Read: " + s);
s = in.readLine();
}
// 關閉緩沖閱讀器
in.close();
} catch (IOException e) { // Catch any IO exceptions.
e.printStackTrace();
}
}
}

16.class類與java的反射
     通過getClass荆萤、getMethods等可以返回java對象的描述信息。如果去類名铣卡,類的構造方法链韭,類中的成員等

17.Java中的枚舉類enum,該類可定義枚舉常量算行,也可以自定構造方法定義帶參數(shù)的枚舉類型成員

enum Constants2{
Constants_A("test1"),Constants_B("test2");
private String description;
private Constants2(String description){
this.description = description;

};
private String getDescription(){
    return description;
}

}
public static void main (String []args ){
for (int i = 0; i <Constants2.values().length ; i++) {
out.println("枚舉成員變量" + Constants2.values()[i]+"輸入" + Constants2.values()[i].getDescription());

}

}
補充:枚舉類也可以實現(xiàn)接口
interface d {
public String getDescription();
}
public enum Constant3 implements d{
Constants_A{
public String getDescription(){
return ("test3");
}
}
}

18.泛型類梧油,使用格式為Class<T>,這個類不規(guī)定自身類型苫耸,在使用的時候自動轉(zhuǎn)化為需要的類型

public class Tclass <T>{
private T[] array;

public void SetT(T[] array){
    this.array = array;
}
public T[] getT(){
    return array;
}

public static void main(String[] args) {
    Tclass <String >tClass = new Tclass<String >();
    String[] array = {"var1","var2","var3"};
    tClass.SetT(array);
    for (String a: tClass.getT()
         ) {
        System.out.println("數(shù)組泛型類 "+a);
    }
    //通配符州邢?先不確定類型,在實際使用的時候再確定類型
    Tclass<? extends List> a = null;
    a = new Tclass<ArrayList>();
    a = new Tclass<LinkedList>();

}

}

最后編輯于
?著作權歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末褪子,一起剝皮案震驚了整個濱河市量淌,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌嫌褪,老刑警劉巖呀枢,帶你破解...
    沈念sama閱讀 211,561評論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異笼痛,居然都是意外死亡裙秋,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,218評論 3 385
  • 文/潘曉璐 我一進店門缨伊,熙熙樓的掌柜王于貴愁眉苦臉地迎上來摘刑,“玉大人,你說我怎么就攤上這事刻坊〖纤。” “怎么了?”我有些...
    開封第一講書人閱讀 157,162評論 0 348
  • 文/不壞的土叔 我叫張陵谭胚,是天一觀的道長徐块。 經(jīng)常有香客問我未玻,道長,這世上最難降的妖魔是什么胡控? 我笑而不...
    開封第一講書人閱讀 56,470評論 1 283
  • 正文 為了忘掉前任扳剿,我火速辦了婚禮,結果婚禮上昼激,老公的妹妹穿的比我還像新娘舞终。我一直安慰自己,他們只是感情好癣猾,可當我...
    茶點故事閱讀 65,550評論 6 385
  • 文/花漫 我一把揭開白布敛劝。 她就那樣靜靜地躺著,像睡著了一般纷宇。 火紅的嫁衣襯著肌膚如雪夸盟。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,806評論 1 290
  • 那天像捶,我揣著相機與錄音上陕,去河邊找鬼。 笑死拓春,一個胖子當著我的面吹牛释簿,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播硼莽,決...
    沈念sama閱讀 38,951評論 3 407
  • 文/蒼蘭香墨 我猛地睜開眼庶溶,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了懂鸵?” 一聲冷哼從身側(cè)響起偏螺,我...
    開封第一講書人閱讀 37,712評論 0 266
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎匆光,沒想到半個月后套像,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,166評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡终息,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,510評論 2 327
  • 正文 我和宋清朗相戀三年夺巩,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片周崭。...
    茶點故事閱讀 38,643評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡柳譬,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出休傍,到底是詐尸還是另有隱情征绎,我是刑警寧澤,帶...
    沈念sama閱讀 34,306評論 4 330
  • 正文 年R本政府宣布,位于F島的核電站人柿,受9級特大地震影響柴墩,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜凫岖,卻給世界環(huán)境...
    茶點故事閱讀 39,930評論 3 313
  • 文/蒙蒙 一江咳、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧哥放,春花似錦歼指、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,745評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至社露,卻和暖如春挟阻,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背峭弟。 一陣腳步聲響...
    開封第一講書人閱讀 31,983評論 1 266
  • 我被黑心中介騙來泰國打工附鸽, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人瞒瘸。 一個月前我還...
    沈念sama閱讀 46,351評論 2 360
  • 正文 我出身青樓坷备,卻偏偏與公主長得像,于是被迫代替她去往敵國和親情臭。 傳聞我的和親對象是個殘疾皇子省撑,可洞房花燭夜當晚...
    茶點故事閱讀 43,509評論 2 348

推薦閱讀更多精彩內(nèi)容

  • 在編寫程序的過程中,不了避免的要用到字符串谎柄,所以String類的常用方法的用法是必須掌握的丁侄。學習一個類的使用方法最...
    Geg_Wuz閱讀 1,250評論 0 4
  • 1. Java基礎部分 基礎部分的順序:基本語法惯雳,類相關的語法朝巫,內(nèi)部類的語法,繼承相關的語法石景,異常的語法劈猿,線程的語...
    子非魚_t_閱讀 31,598評論 18 399
  • Spring Cloud為開發(fā)人員提供了快速構建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務發(fā)現(xiàn)潮孽,斷路器揪荣,智...
    卡卡羅2017閱讀 134,633評論 18 139
  • Win7下如何打開DOS控制臺? a:開始--所有程序--附件--命令提示符 b:開始--搜索程序和文件--cmd...
    逍遙嘆6閱讀 1,590評論 4 12
  • 《紅樓夢》第六十五回往史,賈璉在外偷娶尤二姐仗颈,枕邊恩愛奉承嬌妻,言,只待她(王熙鳳)一死挨决,便接妳進去请祖。蔣勳老師嘆...
    Xuanmany小牡羊閱讀 238評論 0 0