java基礎知識點匯總
① java語法基礎有哪些
1,關鍵字:其實就是某種語言賦予了特殊含義的單詞。
保留字:其實就是還沒有賦予特殊含義,但是准備日後要使用過的單詞。
2,標示符:其實就是在程序中自定義的名詞。比如類名,變數名,函數名。包含 0-9、a-z、$、_ ;
注意:
1),數字不可以開頭。
2),不可以使用關鍵字。
3,常量:是在程序中的不會變化的數據。
4,變數:其實就是內存中的一個存儲空間,用於存儲常量數據。
作用:方便於運算。因為有些數據不確定。所以確定該數據的名詞和存儲空間。
特點:變數空間可以重復使用。
什麼時候定義變數?只要是數據不確定的時候,就定義變數。
變數空間的開辟需要什麼要素呢?
1,這個空間要存儲什麼數據?數據類型。
2,這個空間叫什麼名字啊?變數名稱。
3,這個空間的第一次的數據是什麼? 變數的初始化值。
變數的作用域和生存期:
變數的作用域:
作用域從變數定義的位置開始,到該變數所在的那對大括弧結束;
生命周期:
變數從定義的位置開始就在內存中活了;
變數到達它所在的作用域的時候就在內存中消失了;
數據類型:
1):基本數據類型:byte、short、int、long、float、double、char、boolean
2):引用數據類型: 數組、類、介面。
級別從低到高為:byte,char,short(這三個平級)-->int-->float-->long-->double
自動類型轉換:從低級別到高級別,系統自動轉的;
強制類型轉換:什麼情況下使用?把一個高級別的數賦給一個別該數的級別低的變數;
運算符號:
1)、算術運算符。
+ - * / % %:任何整數模2不是0就是1,所以只要改變被模數就可以實現開關運算。
+:連接符。
++,--
2)、賦值運算符。
= += -= *= /= %=
3)、比較運算符。
特點:該運算符的特點是:運算完的結果,要麼是true,要麼是false。
4)、邏輯運算符。
& | ^ ! && ||
邏輯運算符除了! 外都是用於連接兩個boolean類型表達式。
&: 只有兩邊都為true結果是true。否則就是false。
|:只要兩邊都為false結果是false,否則就是true
^:異或:和或有點不一樣。
兩邊結果一樣,就為false。
兩邊結果不一樣,就為true.
& 和 &&區別: & :無論左邊結果是什麼,右邊都參與運算。
&&:短路與,如果左邊為false,那麼右邊不參數與運算。
| 和|| 區別:|:兩邊都運算。
||:短路或,如果左邊為true,那麼右邊不參與運算。
5)、位運算符:用於操作二進制位的運算符。
& | ^
<< >> >>>(無符號右移)
練習:對兩個變數的數據進行互換。不需要第三方變數。
int a = 3,b = 5;-->b = 3,a = 5;
a = a + b; a =8;
b = a - b; b =3;c
a = a - b; a =5;
a = a ^ b;//
b = a ^ b;//b= a ^ b ^ b = a
a = a ^ b;//a= a ^ b ^ a = b;
練習:高效的算出 2*8 ------------------> 位移運算的考驗,java基礎面試中它的曝光率不低哦
5,語句。
If switch do while while for
這些語句什麼時候用?
1)、當判斷固定個數的值的時候,可以使用if,也可以使用switch。
但是建議使用switch,效率相對較高。
switch(變數){
case 值:要執行的語句;break;
…
default:要執行的語句;
}
工作原理:用小括弧中的變數的值依次和case後面的值進行對比,和哪個case後面的值相同了
就執行哪個case後面的語句,如果沒有相同的則執行default後面的語句;
細節:1):break是可以省略的,如果省略了就一直執行到遇到break為止;
2):switch 後面的小括弧中的變數應該是byte,char,short,int四種類型中的一種;
3):default可以寫在switch結構中的任意位置;如果將default語句放在了第一行,則不管expression與case中的value是否匹配,程序會從default開始執行直到第一個break出現。
2)、當判斷數據范圍,獲取判斷運算結果boolean類型時,需要使用if。
3)、當某些語句需要執行很多次時,就用循環結構。
while和for可以進行互換。
區別在於:如果需要定義變數控制循環次數。建議使用for。因為for循環完畢,變數在內存中釋放。
break:作用於switch ,和循環語句,用於跳出,或者稱為結束。
break語句單獨存在時,下面不要定義其他語句,因為執行不到,編譯會失敗。當循環嵌套時,break只跳出當前所在循環。要跳出嵌套中的外部循環,只要給循環起名字即可,這個名字稱之為標號。
代碼片段:
z: //for循環標號
for(int x=0;x<3;x++){
for(int y=0;y<2;y++){
//不帶標號的就是結束整個循環體的作用,在那個循環內部就結束哪個循環
if(x==1)break;
//帶標號跳過break後面的語句,回到標號位置的循環,繼續該循環下次的條件判斷,
//已決定是否執行該循環體
if(x==2&&y==1)break z;
}
}
continue:只作用於循環結構,繼續循環用的。
作用:結束本次循環,繼續下次循環。該語句單獨存在時,下面不可以定義語句,執行不到。
6,函 數:為了提高代碼的復用性,可以將其定義成一個單獨的功能,該功能的體現就是java中的函數。函數就是體現之一。
java中的函數的定義格式:
修飾符 返回值類型 函數名(參數類型 形式參數1,參數類型 形式參數1,…){
執行語句;
return 返回值;
}
當函數沒有具體的返回值時,返回的返回值類型用void關鍵字表示。
如果函數的返回值類型是void時,return語句可以省略不寫的,系統會幫你自動加上。
return的作用:結束函數。結束功能。
如何定義一個函數?
函數其實就是一個功能,定義函數就是實現功能,通過兩個明確來完成:
1)、明確該功能的運算完的結果,其實是在明確這個函數的返回值類型。
2)、在實現該功能的過程中是否有未知內容參與了運算,其實就是在明確這個函數的參數列表(參數類型&參數個數)。
函數的作用:
1)、用於定義功能。
2)、用於封裝代碼提高代碼的復用性。
注意:函數中只能調用函數,不能定義函數。
主函數:
1)、保證該類的獨立運行。
2)、因為它是程序的入口。
3)、因為它在被jvm調用。
函數定義名稱是為什麼呢?
答:1)、為了對該功能進行標示,方便於調用。
2)、為了通過名稱就可以明確函數的功能,為了增加代碼的閱讀性。
重載的定義是:在一個類中,如果出現了兩個或者兩個以上的同名函數,只要它們的參數的個數,或者參數的類型不同,即可稱之為該函數重載了。
如何區分重載:當函數同名時,只看參數列表。和返回值類型沒關系。
7,數 組:用於存儲同一類型數據的一個容器。好處:可以對該容器中的數據進行編號,從0開始。數組用於封裝數據,就是一個具體的實體。
如何在java中表現一個數組呢?兩種表現形式。
1)、元素類型[] 變數名 = new 元素類型[元素的個數];
2)、元素類型[] 變數名 = {元素1,元素2...};
元素類型[] 變數名 = new 元素類型[]{元素1,元素2...};
---------------------------------------------------------
//二分查找法。必須有前提:數組中的元素要有序。
public static inthalfSeach_2(int[] arr,int key){
int min,max,mid;//定義最小,最大,中間數
min = 0;//最小為0
max =arr.length-1;// 最大為數組的長度-1
mid =(max+min)>>1; //(max+min)/2;//中間數為最大加最小除以2
while(arr[mid]!=key){//如果數組中間值不等於key
if(key>arr[mid]){//如果key>中間值
min = mid+ 1;
}
elseif(key
max = mid- 1;
if(max
return -1;
mid =(max+min)>>1;
}
return mid;
}
知識拓展:
java內存。
1:寄存器。2:本地方法區。3:方法區。4:棧。5:堆。
棧:存儲的都是局部變數 ( 函數中定義的變數,函數上的參數,語句中的變數 );
只要數據運算完成所在的區域結束,該數據就會被釋放。
堆:用於存儲數組和對象,也就是實體。啥是實體呢?就是用於封裝多個數據的。
1:每一個實體都有內存首地址值。
2:堆內存中的變數
② 廈門北大青鳥分享零基礎學習Java需要了解的基礎知識點
許多Java編程初學者在接觸Java語言程序時,不知道學習哪些基礎知識。
廈門廈門java軟體開發總結了零基礎學習Java編程語言需要了解的幾個基本知識點。
希望能夠對Java新手有所幫助。
一、了解Java的基礎概念初學者首先了解Java的基本概念也是必不可少的,死記硬背肯定是不科學的,最重要的是理解,理解它們之間的區別和聯系,它們主要應用在哪些方面。
並且廈門計算機學院建議多想想這些代碼中使用的知識點。
不要一味的只是敲擊代碼,這樣是沒有任何效果的。
二、靜態方法和屬性的掌握靜態方法和屬性主要用於描述一類對象組的特徵,而不是單個對象的特徵。
廈門計算機培訓學校認為在Java中使用了大量的靜態方法和屬性,這是一種常見的技術。
但這種技術在許多語言中是不經常使用的。
Java集合框架是主要方法來描述復雜的數據結構。
而不是一個指針,Java集合框架描述數組,數組的對象是一個強大和復雜的數據結構。
廈門java培訓認為學習如何很好地描述這些數據結構對於應用程序編程至關重要,特別是對於伺服器端、3層結構編程。
此時程序員不能再描述資料庫結果集等結構中的數據。
③ 佳音北大青鳥分享怎樣掌握Java的基礎知識
經濟基礎決定上層建築,Java基礎知識決定Java學習成功。
你若想成功的把Java學好,那麼Java基礎知識的掌握就是關鍵,你的Java基礎知識沒掌握好,你Java學習進度越到後面會越來越緩慢,因為你不得不重新花時間來復習Java基礎知識。
那麼Java基礎知識點有哪些?如何掌握呢?一、Java基礎知識點有哪些?想要把Java基礎點掌握好,自然是得先對Java基礎知識點有那麼個大致的了解,比如你知道Java中什麼是重載?重載有什麼樣的特點?使用重載有什麼樣的優點嗎?重載概念:在同一個類中,允許存在一個以上的同名函數,只要它們的參數個數或者參數類型不同即可。
特點:與返回值類型無關,只看參數列表(參數類型以及參數個數)。
好處:方便於閱讀,優化了程序設計。
所以對Java基礎知識的掌握一定是得清清楚楚的,不能走馬觀花,學完後什麼影響都沒有。
二、Java基礎知識怎麼學?Java基礎知識點自然不止重載一個,還包含JVM、面向對象、環境變數、運算符等等知識,小編這短短的篇幅是介紹不完的,歡迎上北大青鳥官網Java課程體系查看,完整版的Java知識體系。
Java基礎知識多,這是大家都知道的,佳音北大青鳥http://www.kmbdqn.cn/發現都是處於一種今日學今日記得,過個星期還有那麼點印象,但是一個月沒有關注這個Java基礎知識點感覺自己好像從沒有學過這個Java知識點,明明學過。
④ 零基礎為什麼學習Java開發Java基礎知識點有哪些
零基礎為什麼學習Java開發?Java基礎知識點有哪些?零基礎小白學習編程語言為什麼要選擇Java呢?其實Java是很多編程語言的基礎,因為Java自由的特點所以在編程行業一直叱吒風雲,下面小編匯總了一下關於Java的一些屬性以及Java入門基礎知識點。
一、Java的特點:
1、Java簡單性
相對於c語言來說
c語言的核心 指針(保存地址)*p
Java中沒有指針的概念(使用的是引用概念)
2、Java面向對象(懶人思想)
類 對象 介面
面向對象的特性:封裝 繼承 多態
3、Java分布式
雙十一京東淘寶 1000億 5000萬訪問量 訪問他們的伺服器
若只有1台伺服器 壓力比較大
多台伺服器共同支持同一個業務
4、Java跨平台性(系統)
JDK 程序開發包(包含了JRE和JVM)
JRE 程序的運行環境(包含了JVM)
JVM Java虛擬機
Java代碼運行在虛擬機上
Mac系統 安裝一個Mac版的JVM
window系統 安裝一個Window版的JVM
Java文件後綴:.java
注意:.Java文件不能直接運行,需要一個編譯的過程.class文件(虛擬機能運行的文件)
5、Java安全性(內存方面)
Java內存處理機制:
GC 垃圾回收機制:延遲回收(延遲處理),某一時刻,會被系統自動回收(輪尋)
6、Java健壯性(讓你的網站增加容錯性)
Java屬於強類型語言(嚴格區分大小寫)
異常處理機制:提示用戶
二、Java基礎知識
java中最開始,你要先了解什麼是標識符,命名的規范性等,以及基本的那幾行代碼的含義.
1、**java中的標識符**
類名 變數名 介面名
標識符的命名規范
只能以數字 字母 下劃線_ 美元符號$ 開頭
2、**類名命名規范:**
使用大駝峰命名:單詞首字母大寫,多個單詞時每個單詞首字母大寫
小駝峰命名:(定義變數名使用)
第一個單詞首字母小寫,除了第一個單詞外,其他單詞首字母大寫
注意:起名時,必須見名知意;java中的關鍵字:系統提供的已經有特殊意義的單詞(系統用了,就不能再用)
3、**變數和常量**
常量:程序運行中不會更改的量就是常量
變數:存儲數據
數據類型 變數名=初值;
4、**數據類型:**
一.基本數據類型 :
(1)整型:
1.byte位元組型:表示一個位元組(一個位元組用八個二進制位來表示)可以存儲一個位元組大小的數據
2.short:短整型 兩個位元組
#整型(常用):四個位元組
4.long長整型:八個位元組
(2)浮點型:
1.float:四個位元組
2.double(常用 默認聲明的小數系統使用double類型):八位元組
3.字元型:char
特點:可以與整型相互轉換
4.boolean 布爾類型:
其實我們畢業後參加Java培訓或者自學Java技術開發,我們主要面臨的是就業,Java目前來說就業薪資和行業背景都是非常不錯的,如果您打算自學Java技術開發,小編送您一套Java視頻教程,是全套的呦!Java從入門到精通跟著老師一步一步的學習終會學有所成的。
免責聲明:內容來源於公開網路,若涉及侵權聯系盡快刪除!
⑤ 徐州北大青鳥分享零基礎學習Java需要了解的基礎知識點
許多Java編程初學者在接觸Java語言程序時,不知道學習哪些基礎知識。
徐州徐州java軟體開發總結了零基礎學習Java編程語言需要了解的幾個基本知識點。
希望能夠對Java新手有所幫助。
一、了解Java的基礎概念初學者首先了解Java的基本概念也是必不可少的,死記硬背肯定是不科學的,最重要的是理解,理解它們之間的區別和聯系,它們主要應用在哪些方面。
並且徐州計算機學院建議多想想這些代碼中使用的知識點。
不要一味的只是敲擊代碼,這樣是沒有任何效果的。
二、靜態方法和屬性的掌握靜態方法和屬性主要用於描述一類對象組的特徵,而不是單個對象的特徵。
徐州計算機培訓學校認為在Java中使用了大量的靜態方法和屬性,這是一種常見的技術。
但這種技術在許多語言中是不經常使用的。
Java集合框架是主要方法來描述復雜的數據結構。
而不是一個指針,Java集合框架描述數組,數組的對象是一個強大和復雜的數據結構。
徐州java培訓認為學習如何很好地描述這些數據結構對於應用程序編程至關重要,特別是對於伺服器端、3層結構編程。
此時程序員不能再描述資料庫結果集等結構中的數據。
⑥ 陝西北大青鳥:java多線程編程中涉及的基礎知識點
線程設計在軟體開發領域中是非常常見的一個設計構成,今天陝西北大青鳥http://www.kmbdqn.cn/就一起來了解一下,java多線程編程中都涉及到了哪些基礎知識點。
順序用於表示多個操作「依次處理」。
比如把十個操作交給一個人來處理時,這個人要一個一個地按順序來處理並行用於標識多個操作「同時處理」。
比如十個操作分給兩個人處理時,這兩個人就會並行來處理。
並發相對於順序和並行來說比較抽象,用於表示「將一個操作分割成多個部分並且允許無序處理」。
比如將十個操作分成相對獨立的兩類,這樣便能夠開始並發處理了。
如果一個人來處理,這個人就是順序處理分開的並發操作,而如果是兩個人,這兩個人就可以並行處理同一個操作。
總結多線程程序都是並發處理的。
如果CPU只有一個,那麼並發處理就是順序執行的,而如果有多個CPU,那麼並發處理就可能會並行運行。
等待隊列所有實例都擁有一個等待隊列,它是在實例的wait方法執行後停止操作的線程隊列。
就好比為每個實例准備的線程休息室在執行wait方法後,線程便會暫停操作,進入等待隊列這個休息室。
除非發生下列某一情況,否則線程會一直在等待隊列中休眠。
有其他線程的notify方法來喚醒線程有其他線程的notifyAll方法來喚醒線程有其他線程的interrupt方法來喚醒線程wait方法超時notify方法該方法會將等待隊列中的一個線程去除。
同wait方法一樣,若要執行notify方法,線程也必須持有要調用的實例的鎖。
notifyAll方法notify方法僅喚醒一個線程,而notifyAll則喚醒所有線程,這是兩者之間的區別同wait方法和notify方法一樣,notifyAll方法也只能由持有要調用的實例鎖的線程調用notify和notifyAll選擇notify方法和notifyAll方法非常相似,到底該使用哪個?實際上,這很難選擇,由於notify喚醒的線程較少,所以處理速度要比使用notifyAll時快。
但使用notify時,如果處理不好,程序便可能會停止。
一般來說,使用notifyAll時的代碼要比使用notify時的更為健壯。
⑦ java基礎知識有哪些
對於Java開發學習者來說,基礎掌握的知識點有以下幾種:
1. Java面向對象的優點:易維護、易復用、易擴展,由於面向對象有封裝、繼承、多態性的特性,可以設計出低耦合的系統,使系統更加靈活、更加易於維護。
2. Java虛擬機的概念,任何一種可以運行Java位元組碼的軟體均可看成是Java的虛擬機(JVM)
3. JDK顧名思義它是給開發者提供的開發工具箱,是給程序開發者用的。它除了包括完整的JRE(Java Runtime Environment),Java運行環境,還包含了其他供開發者使用的工具包。
4. JRE的概念,普通用戶而只需要安裝JRE(Java Runtime Environment)來運行Java程序。而程序開發者必須安裝JDK來編譯、調試程序。
5. Java中覆蓋(Override)是指子類對父類方法的一種重寫,子類只能拋出比父類更少的異常,且訪問許可權不能比父類的小。被覆蓋的方法不能是 private 的,否則只是在子類中重新定義了一個方法。
Java中重載(Overload)表示同一個類中可以有多個名稱相同的方法,但這些方法的參數列表各不相同。
⑧ 甘肅北大青鳥:零基礎學習Java需要了解的基礎知識點
許多Java編程初學者在接觸Java語言程序時,不知道學習哪些基礎知識。
甘肅甘肅java軟體開發總結了零基礎學習Java編程語言需要了解的幾個基本知識點。
希望能夠對Java新手有所幫助。
一、了解Java的基礎概念初學者首先了解Java的基本概念也是必不可少的,死記硬背肯定是不科學的,最重要的是理解,理解它們之間的區別和聯系,它們主要應用在哪些方面。
並且甘肅計算機學院建議多想想這些代碼中使用的知識點。
不要一味的只是敲擊代碼,這樣是沒有任何效果的。
二、靜態方法和屬性的掌握靜態方法和屬性主要用於描述一類對象組的特徵,而不是單個對象的特徵。
甘肅計算機培訓學校認為在Java中使用了大量的靜態方法和屬性,這是一種常見的技術。
但這種技術在許多語言中是不經常使用的。
Java集合框架是主要方法來描述復雜的數據結構。
而不是一個指針,Java集合框架描述數組,數組的對象是一個強大和復雜的數據結構。
甘肅java培訓認為學習如何很好地描述這些數據結構對於應用程序編程至關重要,特別是對於伺服器端、3層結構編程。
此時程序員不能再描述資料庫結果集等結構中的數據。
⑨ java基礎知識有那些
基礎語法:
jdk的安裝和環境配置,
變數和常量,
條件判斷語句,
循環語句,
循環控制語句
方法和數組:
方法的定義和調用,
方法的重載和遞歸操作,
數組的定義和初始化,
數組的遍歷和常見的方法調用
面向對象:
類的定義和對象的創建,
對象的實例化流程,
抽象,
封裝,
繼承,
多態思想,
介面的設計和實現
異常和常用類:
異常機制和異常體系,
try-catch語句,
throw和throws關鍵字,
自定義異常,
String,
StringBuffer,
StringBuilder類,
System,
Runtime類,
Math,
Random,
BigDecimal類
多線程:
並行和並發,
進程和線程,
線程的啟動方式,
線程安全的處理方式,
同步鎖和死鎖的概述,
線程的生命周期和狀態,
聯合線程和後台線程,
線程優先順序和線程禮讓和定時器
集合框架:
ArrayList和LinkedList,
HashSet和TreeSet,
LinkedHashSet,
Comparable介面和Comparator介面,
HashMap和TreeMap,
LinkedhashMap,
泛型的定義和使用
IO和網路編程:
File類的基本使用,
FilenameFilter介面的使用,
IO流的體系結構,
位元組流和字元流的使用,
緩沖流,標准流,列印流,轉換流,數據流,管道流,對象流,
對象序列化和發序列化,
字元編碼和解碼,
Properties類載入資源,
RandomAccessFile類,
NIO操作,
網路概述和分層模型,
網路三要素,
TCP和UDP協議和編程
⑩ java多線程編程中涉及的基礎知識點
線程設計在軟體開發領域中是非常常見的一個設計構成,今天昆明北大青鳥http://www.kmbdqn.com/就一起來了解一下,java多線程編程中都涉及到了哪些基礎知識點。
順序
用於表示多個操作「依次處理」。比如把十個操作交給一個人來處理時,這個人要一個一個地按順序來處理
並行
用於標識多個操作「同時處理」。比如十個操作分給兩個人處理時,這兩個人就會並行來處理。
並發
相對於順序和並行來說比較抽象,用於表示「將一個操作分割成多個部分並且允許無序處理」。比如將十個操作分成相對獨立的兩類,這樣便能夠開始並發處理了。如果一個人來處理,這個人就是順序處理分開的並發操作,而如果是兩個人,這兩個人就可以並行處理同一個操作。
總結
多線程程序都是並發處理的。如果CPU只有一個,那麼並發處理就是順序執行的,而如果有多個CPU,那麼並發處理就可能會並行運行。
等待隊列
所有實例都擁有一個等待隊列,它是在實例的wait方法執行後停止操作的線程隊列。就好比為每個實例准備的線程休息室
在執行wait方法後,線程便會暫停操作,進入等待隊列這個休息室。除非發生下列某一情況,否則線程會一直在等待隊列中休眠。
有其他線程的notify方法來喚醒線程
有其他線程的notifyAll方法來喚醒線程
有其他線程的interrupt方法來喚醒線程
wait方法超時
notify方法
該方法會將等待隊列中的一個線程去除。同wait方法一樣,若要執行notify方法,線程也必須持有要調用的實例的鎖。
notifyAll方法
notify方法僅喚醒一個線程,而notifyAll則喚醒所有線程,這是兩者之間的區別
同wait方法和notify方法一樣,notifyAll方法也只能由持有要調用的實例鎖的線程調用
notify和notifyAll選擇
notify方法和notifyAll方法非常相似,到底該使用哪個?
實際上,這很難選擇,由於notify喚醒的線程較少,所以處理速度要比使用notifyAll時快。但使用notify時,如果處理不好,程序便可能會停止。一般來說,使用notifyAll時的代碼要比使用notify時的更為健壯。