java 學(xué)習(xí)過程

對java基礎(chǔ)學(xué)習(xí)的入門 用思維導(dǎo)圖整理了一下

資源鏈接

視頻鏈接:http://pan.baidu.com/s/1eRZUdge 密碼:4mvc 書: http://book.boxuegu.com/java/

1.jpg

復(fù)記

(一)基礎(chǔ)知識

需要注意的點:
%留余數(shù)
變量類型轉(zhuǎn)換
switch break語句
變量(數(shù)據(jù)類型)
基本數(shù)據(jù)類型
數(shù)據(jù)類型

圖示示例


2.jpg

數(shù)值型

整數(shù)類型
byte(默認(rèn)){-128~127}
?1個字節(jié) 100為例
01100100??
基本類型:byte 二進制位數(shù):8
包裝類:java.lang.Byte
最小值:Byte.MIN_VALUE=-128
最大值:Byte.MAX_VALUE=127
初始值 0

short
2個字節(jié)
?基本類型:short 二進制位數(shù):16
包裝類:java.lang.Short
最小值:Short.MIN_VALUE=-32768
最大值:Short.MAX_VALUE=32767
初始值 0

int
4個字節(jié)
?基本類型:int 二進制位數(shù):32
包裝類:java.lang.Integer
最小值:Integer.MIN_VALUE=-2147483648
最大值:Integer.MAX_VALUE=2147483647
初始值 0

long
?默認(rèn)int 存long特殊(12345678900)+必須加小字母L
8個字節(jié)?
long l =12345678900l?
基本類型:long 二進制位數(shù):64
包裝類:java.lang.Long
最小值:Long.MIN_VALUE=-9223372036854775808
最大值:Long.MAX_VALUE=9223372036854775807
初始值 0L
浮點類型

double(默認(rèn))
8個字節(jié)
基本類型:double 二進制位數(shù):64
包裝類:java.lang.Double
最小值:Double.MIN_VALUE=4.9E-324
最大值:Double.MAX_VALUE=1.7976931348623157E308??
初始值 0.0D

float
4個字節(jié)
?基本類型:float 二進制位數(shù):32
包裝類:java.lang.Float
最小值:Float.MIN_VALUE=1.4E-45
最大值:Float.MAX_VALUE=3.4028235E38
初始值 0.0F

字符型(char)
基本類型:char 二進制位數(shù):16
包裝類:java.lang.Character
最小值:Character.MIN_VALUE=0
最大值:Character.MAX_VALUE=65535
初始值 空字符,'\u0000'

布爾型(boolean)
初始值 flase
引用數(shù)據(jù)類型
初始值 null
類(class)
接口(interface)
數(shù)組([])
枚舉(enum)
注解(annotation)

變量類型轉(zhuǎn)換
short s = 4;
兩者區(qū)別?:
s= s + 5
s+=5

自動轉(zhuǎn)換
short s = 4;
兩者區(qū)別?
s= s + 5//編譯失敗;
s+=5//編譯通過,會做自動轉(zhuǎn)換;
強制轉(zhuǎn)換
運算符
運算符優(yōu)先級


3.jpg

^異或
兩邊相同為false
true^true =false?
true^false =true
false^true =true
* false^false =false????

&& 短路與 &
int y =1;
y>3 & y<6
兩邊都參與運算?
y>3 && y<6??
當(dāng)左邊為false;結(jié)束運算?

||短路或
int y =1;
y>3 & y<6
兩邊都參與運算?
y>3 && y<6??
當(dāng)左邊為true;結(jié)束運算??
位運算符

位運算符圖表


4.jpg

圖解位運算符(二進制運算快


5.jpg

<<左移
二進制左移一位32(1)=6 左移兩位32(2)
.>>右移 >>>無符號右移

最高位出現(xiàn)空位需判斷原來是正數(shù)(補0)還是負(fù)數(shù)(補1)?
. >>>無符號右移 不判斷直接是正數(shù)(補0)?

.>>無符號右移 用處
二進制轉(zhuǎn)進制
與或非 取反運算

圖解 0為假 1真 (0為正 1為負(fù))


6.jpg

|按位或
&按位與
~取反
條件運算符

switch(js和java的區(qū)別)

switch (x) {
case 0:
day = "Sunday";
break;
case 2:
day = "Monday";
break;
case 2:
day = "Tuesday";
break;
}

支持 byte short int char 5.0 enum 7.0 String
js 執(zhí)行 并讀到第一個就停止Monday
java 不執(zhí)行 報錯
while,do while,for break continue

do while和while的區(qū)別:
do while 無論條件是否滿足循環(huán)體至少執(zhí)行一次

for 直角三角形


7.jpg
for(int i=1;i<=9;i++){  
for(int j=i;j<=9;j++){
System.out.print("*");
};
System.out.println();
          * }

break //跳出方式
outer:for(int i=0;i<3;i++){ 
inner:for(int j=0;j<4;j++){
System.out.println("i=" + i);
break outer;(i=0);
break||break inner?(i=0 i=1 i=2)
)

};

 }

continue 回去再次循環(huán)

函數(shù)方法定義

修飾符 返回值類型

函數(shù)定義視圖


8.jpg

方法重載(overload參數(shù)區(qū)分)


9.jpg

功能相同可以名字定義相同
遞歸
(問題)遞歸經(jīng)典問題https://blog.csdn.net/isitman/article/details/61199070
遞歸求階乘

經(jīng)典兔子問題
題目:
?古典問題:3個月起每個月都生一對兔子,
?小兔子長到第三個月后每個月又生一對兔子甸饱,
?假如兔子都不死,問每個月的兔子總數(shù)為多少?

遞歸視圖


10.jpg
遞歸代碼
public static int getSum(int n){
if(n==1){
return(1);//遞歸出口,結(jié)束條件
}
int temp =getSum(n-1);
return temp +n ;
 }

九九乘法表(overload)
默認(rèn)99乘法表

?public static void printCfB(){
printCfB(9);
};
public static void printCfB(int num ){
for(int x=1;x<=num; x++){
for(int y=1;y<=x;y++){
System.out.print(y+"*"+x+"="+y*x+"\t");
}
System.out.println();
}
}

數(shù)組

數(shù)組定義
int [] arr={1,2,3,4,5};
int[] arr=new int[3] 0;
數(shù)組示圖

數(shù)組的定義方式


30.jpg

比較最大值


12.jpg

數(shù)組最大值
數(shù)組排序 https://gitee.com/DannyDong/codes/xqrb04imukfthvd5a9l7669

二維數(shù)組
int[][] arr = new int[3][];
二維數(shù)組簡單應(yīng)用

求和


13.jpg

(二)面向?qū)ο?/h2>

面向?qū)ο?面向過程

圖例示例


14.jpg

圖例示例


15.jpg

面向?qū)ο蟮奶卣?/p>

封裝
隱藏實現(xiàn)細(xì)節(jié),對外提供公共的訪問方式,私有(private)僅僅是封裝的一種體現(xiàn).
繼承
多態(tài)

類定義

圖示


16.jpg

對象的創(chuàng)建
壓棧 彈棧

圖示


17.jpg

封裝

圖示示例


18.jpg

對變量訪問的操作
賦值(設(shè)置 set)setAge

判斷(保證年齡正確性)
throw new RuntimeException(a+"歲,超出人類認(rèn)知");

圖示示例


19.jpg

取值(獲取 get)getAge
構(gòu)造函數(shù)
構(gòu)造函數(shù)細(xì)節(jié)

圖示示例


20.jpg

圖示示例


21.jpg

重載

package object;
public class PersonDemo2 {
public static void main(String[] args) {
// TODO Auto-generated method stub
Person1 person1 =new Person1() ;
Person1 person =new Person1("list") ;
Person1 person2 =new Person1("wangwu",12);
person2.speak();
}
}
class Person1{
//屬性: 姓名,年齡
private String name;
private int age;
//一初始化,既沒有姓名,又沒有年齡.
Person1(){

};
//定義構(gòu)造函數(shù),對象一創(chuàng)建就具備姓名.
Person1(String n){
//將接收到的值賦值給對象的name
name = n;
};
Person1(String n,int a){
//將接收到的值賦值給對象的name
name = n;
age = a;
};
//行為
public void speak(){
System.out.println("name="+name+",age="+age);
}
 }

this
圖示示例

22.jpg
23.jpg
24.jpg

垃圾回收
圖示示例


25.jpg

Ststem.gc()
通知虛擬機jvm立即進行垃圾回收
finalize()方法會被自動調(diào)用 用于觀察何時被回收
static 關(guān)鍵字
靜態(tài)變量
靜態(tài)方法
靜態(tài)代碼塊

知識點

命名規(guī)則

圖示


26.jpg

classpath

類變量地址(虛擬機用的)
配置set classpath =? C:\javaapp(為空時长已,清除classpath)
?set classpath =? C:\javaapp 不等于?set classpath =? C:\javaapp蕊连;加烘豌;代表還有當(dāng)前目錄靖榕,不加代表唯一 (一般不加标锄,如果要加classpath =? .;)
同class名下,虛擬機優(yōu)先尋找class?path文件
classpath?
?.;%JAVA_HOME%\lib;%JAVA_HOME%\lib\tools.jar
C:\Program Files\Java\jdk1.8.0_91\lib;C:\Program Files\Java\jdk1.8.0_91\lib\tools.jar;?

java 注釋

/**
@author?
@version?
java獨有的文檔注釋javadoc
可以生成html的文檔說明? ??
?/
/

多行注釋?
?*/?
* // 單行注釋?

其他知識點

print 和println 的區(qū)別
前者不換行 后者換行
進制

二進制(由數(shù)字0和1組成)100舉例

27.jpg

1100100
?java開頭加0b或0B用以區(qū)分十進制
(0b01100100或0B01100100)??
八進制(由數(shù)字1到8組成)100的二進制舉例


28.jpg

二進制轉(zhuǎn)八進制←001 001 100(144)
(0144)?

十六進制(由0-9,A-F組成每4位為一段
二進制轉(zhuǎn)十六進制←0110 0100(64)
?(0x64或0X64)
轉(zhuǎn)義字符

轉(zhuǎn)義字符圖示


29.jpg
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子规个,更是在濱河造成了極大的恐慌葬荷,老刑警劉巖,帶你破解...
    沈念sama閱讀 211,042評論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件越败,死亡現(xiàn)場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機逊脯,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 89,996評論 2 384
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來竣贪,“玉大人军洼,你說我怎么就攤上這事⊙菰酰” “怎么了歉眷?”我有些...
    開封第一講書人閱讀 156,674評論 0 345
  • 文/不壞的土叔 我叫張陵,是天一觀的道長颤枪。 經(jīng)常有香客問我汗捡,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 56,340評論 1 283
  • 正文 為了忘掉前任扇住,我火速辦了婚禮春缕,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘艘蹋。我一直安慰自己锄贼,他們只是感情好,可當(dāng)我...
    茶點故事閱讀 65,404評論 5 384
  • 文/花漫 我一把揭開白布女阀。 她就那樣靜靜地躺著宅荤,像睡著了一般。 火紅的嫁衣襯著肌膚如雪浸策。 梳的紋絲不亂的頭發(fā)上冯键,一...
    開封第一講書人閱讀 49,749評論 1 289
  • 那天,我揣著相機與錄音庸汗,去河邊找鬼惫确。 笑死,一個胖子當(dāng)著我的面吹牛蚯舱,可吹牛的內(nèi)容都是我干的改化。 我是一名探鬼主播,決...
    沈念sama閱讀 38,902評論 3 405
  • 文/蒼蘭香墨 我猛地睜開眼枉昏,長吁一口氣:“原來是場噩夢啊……” “哼陈肛!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起兄裂,我...
    開封第一講書人閱讀 37,662評論 0 266
  • 序言:老撾萬榮一對情侶失蹤句旱,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后懦窘,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體前翎,經(jīng)...
    沈念sama閱讀 44,110評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,451評論 2 325
  • 正文 我和宋清朗相戀三年畅涂,在試婚紗的時候發(fā)現(xiàn)自己被綠了港华。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 38,577評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡午衰,死狀恐怖立宜,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情臊岸,我是刑警寧澤橙数,帶...
    沈念sama閱讀 34,258評論 4 328
  • 正文 年R本政府宣布,位于F島的核電站帅戒,受9級特大地震影響灯帮,放射性物質(zhì)發(fā)生泄漏崖技。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 39,848評論 3 312
  • 文/蒙蒙 一钟哥、第九天 我趴在偏房一處隱蔽的房頂上張望迎献。 院中可真熱鬧,春花似錦腻贰、人聲如沸吁恍。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,726評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽冀瓦。三九已至,卻和暖如春写烤,著一層夾襖步出監(jiān)牢的瞬間翼闽,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,952評論 1 264
  • 我被黑心中介騙來泰國打工顶霞, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留肄程,地道東北人锣吼。 一個月前我還...
    沈念sama閱讀 46,271評論 2 360
  • 正文 我出身青樓选浑,卻偏偏與公主長得像,于是被迫代替她去往敵國和親玄叠。 傳聞我的和親對象是個殘疾皇子古徒,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 43,452評論 2 348

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

  • SwiftDay011.MySwiftimport UIKitprintln("Hello Swift!")var...
    smile麗語閱讀 3,829評論 0 6
  • Win7下如何打開DOS控制臺? a:開始--所有程序--附件--命令提示符 b:開始--搜索程序和文件--cmd...
    逍遙嘆6閱讀 1,589評論 4 12
  • Lua 5.1 參考手冊 by Roberto Ierusalimschy, Luiz Henrique de F...
    蘇黎九歌閱讀 13,763評論 0 38
  • 一. Java基礎(chǔ)部分.................................................
    wy_sure閱讀 3,805評論 0 11
  • 今天跟女同學(xué)孫一起出去了读恃。 整個過程感覺氣場不合隧膘。她似乎不太顧忌別人感受,只按著自己心思走寺惫。我這個人又一慣順從疹吃,除...
    菲菲大王嘟嘟嘟閱讀 89評論 0 0