⑴ 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基礎知識 有哪些知識點 要全面 不用詳細。。
第2章 一切都是對象
2.1 用句柄操縱對象
2.2 必須創建所有對象
2.2.1 保存在什麼地方
2.2.2 特殊情況:主類型
2.2.3 Java中的數組
2.3 絕對不要清除對象
2.3.1 作用域
2.3.2 對象的作用域
2.4 新建數據類型:類
2.4.1 欄位和方法
2.5 方法、自變數和返回值
2.5.1 自變數列表
2.6 構建Java程序
2.6.1 名字的可見性
2.6.2 使用其他組件
2.6.3 static關鍵字
2.7 我們的第一個Java程序
2.8 注釋和嵌入文檔
2.8.1 注釋文檔
2.8.2 具體語法
2.8.3 嵌入HTML
2.8.4 @see:引用其他類
2.8.5 類文檔標記
2.8.6 變數文檔標記
2.8.7 方法文檔標記
2.8.8 文檔示例
2.9 編碼樣式
2.10 總結
2.11 練習
第3章 控製程序流程
3.1 使用Java運算符
3.1.1 優先順序
3.1.2 賦值
3.1.3 算術運算符
3.1.4 自動遞增和遞減
3.1.5 關系運算符
3.1.6 邏輯運算符
3.1.7 按位運算符
3.1.8 移位運算符
3.1.9 三元if-else運算符
3.1.10 逗號運算符
3.1.11 字串運算符+
3.1.12 運算符常規操作規則
3.1.13 造型運算符
3.1.14 Java沒有「sizeof」
3.1.15 復習計算順序
3.1.16 運算符總結
3.2 執行控制
3.2.1 真和假
3.2.2 if-else
3.2.3 反復
3.2.4 do-while
3.2.5 for
3.2.6 中斷和繼續
3.2.7 切換
3.3 總結
3.4 練習
第4章 初始化和清除
4.1 由構建器保證初始化
4.2 方法過載
4.2.1 區分過載方法
4.2.2 主類型的過載
4.2.3 返回值過載
4.2.4 默認構建器
4.2.5 this關鍵字
4.3 清除:收尾和垃圾收集
4.3.1 finalize()用途何在
4.3.2 必須執行清除
4.4 成員初始化
4.4.1 規定初始化
4.4.2 構建器初始化
4.5 數組初始化
4.5.1 多維數組
4.6 總結
4.7 練習
第5章 隱藏實施過程
5.1 包:庫單元
5.1.1 創建獨一無二的包名
5.1.2 自定義工具庫
5.1.3 利用導入改變行為
5.1.4 包的停用
5.2 Java訪問指示符
5.2.1 「友好的」
5.2.2 public:介面訪問
5.2.3 private:不能接觸
5.2.4 protected:「友好的一種」
5.3 介面與實現
5.4 類訪問
5.5 總結
5.6 練習
第6章 類再生
6.1 合成的語法
6.2 繼承的語法
6.2.1 初始化基礎類
6.3 合成與繼承的結合
6.3.1 確保正確的清除
6.3.2 名字的隱藏
6.4 到底選擇合成還是繼承
6.5 protected
6.6 遞增開發
6.7 上溯造型
6.7.1 何謂「上溯造型」?
6.8 final關鍵字
6.8.1 final數據
6.8.2 final方法
6.8.3 final類
6.8.4 final的注意事項
6.9 初始化和類裝載
6.9.1 繼承初始化
6.10 總結
6.11 練習
第7章 多形性
7.1 上溯造型
7.1.1 為什麼要上溯造型
7.2 深入理解
7.2.1 方法調用的綁定
7.2.2 產生正確的行為
7.2.3 擴展性
7.3 覆蓋與過載
7.4 抽象類和方法
7.5 介面
7.5.1 Java的「多重繼承」
7.5.2 通過繼承擴展介面
7.5.3 常數分組
7.5.4 初始化介面中的欄位
7.6 內部類
7.6.1 內部類和上溯造型
7.6.2 方法和作用域中的內部類
7.6.3 鏈接到外部類
7.6.4 static內部類
7.6.5 引用外部類對象
7.6.6 從內部類繼承
7.6.7 內部類可以覆蓋嗎?
7.6.8 內部類標識符
7.6.9 為什麼要用內部類:控制框架
7.7 構建器和多形性
7.7.1 構建器的調用順序
7.7.2 繼承和finalize()
7.7.3 構建器內部的多形性方法的行為
7.8 通過繼承進行設計
7.8.1 純繼承與擴展
7.8.2 下溯造型與運行期類型標識
7.9 總結
7.10 練習
第8章 對象的容納
8.1 數組
8.1.1 數組和第一類對象
8.1.2 數組的返回
8.2 集合
8.2.1 缺點:類型未知
8.3 枚舉器(反復器)
8.4 集合的類型
8.4.1 Vector
8.4.2 BitSet
8.4.3 Stack
8.4.4 Hashtable
8.4.5 再論枚舉器
8.5 排序
8.6 通用集合庫
8.7 新集合
8.7.1 使用Collections
8.7.2 使用Lists
8.7.3 使用Sets
8.7.4 使用Maps
8.7.5 決定實施方案
8.7.6 未支持的操作
8.7.7 排序和搜索
8.7.8 實用工具
8.8 總結
8.9 練習
第9章 違例差錯控制
9.1 基本違例
9.1.1 違例自變數
9.2 違例的捕獲
9.2.1 try塊
9.2.2 違例控制器
9.2.3 違例規范
9.2.4 捕獲所有違例
9.2.5 重新「擲」出違例
9.3 標准Java違例
9.3.1 RuntimeException的特殊情況
9.4 創建自己的違例
9.5 違例的限制
9.6 用finally清除
9.6.1 用finally做什麼
9.6.2 缺點:丟失的違例
9.7 構建器
9.8 違例匹配
9.8.1 違例准則
9.9 總結
9.10 練習
第10章 Java IO系統
10.1 輸入和輸出
10.1.1 InputStream的類型
10.1.2 OutputStream的類型
10.2 增添屬性和有用的介面
10.2.1 通過FilterInputStream從InputStream里讀入數據
10.2.2 通過FilterOutputStream向OutputStream里寫入數據
10.3 本身的缺陷:RandomAccessFile
10.4 File類
10.4.1 目錄列表器
10.4.2 檢查與創建目錄
10.5 IO流的典型應用
10.5.1 輸入流
10.5.2 輸出流
10.5.3 快捷文件處理
10.5.4 從標准輸入中讀取數據
10.5.5 管道數據流
10.6 StreamTokenizer
10.6.1 StringTokenizer
10.7 Java 1.1的IO流
10.7.1 數據的發起與接收
10.7.2 修改數據流的行為
10.7.3 未改變的類
10.7.4 一個例子
10.7.5 重定向標准IO
10.8 壓縮
10.8.1 用GZIP進行簡單壓縮
10.8.2 用Zip進行多文件保存
10.8.3 Java歸檔(jar)實用程序
10.9 對象串聯
10.9.1 尋找類
10.9.2 序列化的控制
10.9.3 利用「持久性」
10.10 總結
10.11 練習
第11章 運行期類型鑒定
11.1 對RTTI的需要
11.1.1 Class對象
11.1.2 造型前的檢查
11.2 RTTI語法
11.3 反射:運行期類信息
11.3.1 一個類方法提取器
11.4 總結
11.5 練習
第12章 傳遞和返回對象
12.1 傳遞句柄
12.1.1 別名問題
12.2 製作本地副本
12.2.1 按值傳遞
12.2.2 克隆對象
12.2.3 使類具有克隆能力
12.2.4 成功的克隆
12.2.5 Object.clone()的效果
12.2.6 克隆合成對象
12.2.7 用Vector進行深層復制
12.2.8 通過序列化進行深層復制
12.2.9 使克隆具有更大的深度
12.2.10 為什麼有這個奇怪的設計
12.3 克隆的控制
12.3.1 副本構建器
12.4 只讀類
12.4.1 創建只讀類
12.4.2 「一成不變」的弊端
12.4.3 不變字串
12.4.4 String和StringBuffer類
12.4.5 字串的特殊性
⑶ java知識重點
J2SE 是手機那方面的
你如果去面試 應該是J2EE方向
如果面試 很少問及servlet這樣的問題
一般公司 都用主流點的SSH
把那個部分好好看看就行
在外面參加培訓 就像個輔導班 能提前學到東西
有的 還能推薦工作 如果想自學 必須你自己搞出個
SSH做的東西 論壇什麼都可以 必須懂那些流程
筆試 基本是JAVA基礎部分的東西。
⑷ java基礎知識
1. PATH環境變數。
作用是指定命令搜索路徑,在命令行下面執行命令如javac編譯java程序時,它會到PATH變數所指定的路徑中查找看是否能找到相應的命令程序。我們需要把jdk安裝目錄下的bin目錄增加到現有的PATH變數中,bin目錄中包含經常要用到的可執行文件如javac/java/javadoc等待,設置好PATH變數後,就可以在任何目錄下執行javac/java等工具了。
CLASSPATH環境變數。
作用是指定類搜索路徑,要使用已經編寫好的類,前提當然是能夠找到它們了,JVM就是通過CLASSPATH來尋找類的。我們需要把jdk安裝目錄下的lib子目錄中的dt.jar和tools.jar設置到CLASSPATH中,當然,當前目錄「.」也必須加入到該變數中。
2、public class Test {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
int sum=0;//設定一個變數,求和的值
for(int i=1;i<=100;i++){
sum=sum+i;
}
System.out.println("1+2+3+....+100的和:"+sum);
}
}
3、import java.util.Arrays;
public class Test {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
int str[]={1,3,9,5,4,8,2};
Arrays.sort(str);
System.out.println("數組中最大數:"+str[str.length-1]);
}
}
4、public class Test {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
String str="abc.java.txt";//定義一個變數設置文件名稱
System.out.println(str.substring(str.lastIndexOf(".")+1));
}
}
5、public class Student {
private String name;//姓名
private int age;//年齡
private double score;//成績
public Student(String name,int age,double score){
this.name=name;
this.age=age;
this.score=score;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public double getScore() {
return score;
}
public void setScore(double score) {
this.score = score;
}
}
6、我就不貼代碼了。你自己創建借個對象。然後把五個對象的成績放在一個數組中,直接調用Arrays.sort(數組名) 這個方法排序輸出就ok了。
7、方法:可以使用文件流來讀寫。樓主可根據文件的類型選擇是位元組流還是字元流來實現。如果樓主還需要,可以把代碼寫出來
8、TCP(Transmission Control Protocol,傳輸控制協議)是基於連接的協議,也就是說,在正式收發數據前,必須和對方建立可靠的連接。一個TCP連接必須要經過三次「對話」才能建立起來,其中的過程非常復雜,我們這里只做簡單、形象的介紹,你只要做到能夠理解這個過程即可。我們來看看這三次對話的簡單過程:主機A向主機B發出連接請求數據包:「我想給你發數據,可以嗎?」,這是第一次對話;主機B向主機A發送同意連接和要求同步(同步就是兩台主機一個在發送,一個在接收,協調工作)的數據包:「可以,你什麼時候發?」,這是第二次對話;主機A再發出一個數據包確認主機B的要求同步:「我現在就發,你接著吧!」,這是第三次對話。三次「對話」的目的是使數據包的發送和接收同步,經過三次「對話」之後,主機A才向主機B正式發送數據。
TCP協議能為應用程序提供可靠的通信連接,使一台計算機發出的位元組流無差錯地發往網路上的其他計算機,對可靠性要求高的數據通信系統往往使用TCP協議傳輸數據。
面向非連接的UDP協議
「面向非連接」就是在正式通信前不必與對方先建立連接,不管對方狀態就直接發送。這與現在風行的手機簡訊非常相似:你在發簡訊的時候,只需要輸入對方手機號就OK了。
UDP(User Data Protocol,用戶數據報協議)是與TCP相對應的協議。它是面向非連接的協議,它不與對方建立連接,而是直接就把數據包發送過去!
UDP適用於一次只傳送少量數據、對可靠性要求不高的應用環境。比如,我們經常使用「ping」命令來測試兩台主機之間TCP/IP通信是否正常,其實「ping」命令的原理就是向對方主機發送UDP數據包,然後對方主機確認收到數據包,如果數據包是否到達的消息及時反饋回來,那麼網路就是通的。例如,在默認狀態下,一次「ping」操作發送4個數據包(如圖2所示)。大家可以看到,發送的數據包數量是4包,收到的也是4包(因為對方主機收到後會發回一個確認收到的數據包)。這充分說明了UDP協議是面向非連接的協議,沒有建立連接的過程。正因為UDP協議沒有連接的過程,所以它的通信效果高;但也正因為如此,它的可靠性不如TCP協議高。QQ就使用UDP發消息,因此有時會出現收不到消息的情況。
TCP協議和UDP協議各有所長、各有所短,適用於不同要求的通信環境。
9、<form id="register" name="register" method="post" action="">
<table width="380" border="0">
<tr>
<td width="93" height="37">用戶名:</td>
<td width="271">
<input type="text" name="username" id="username" />
</td>
</tr>
<tr>
<td height="30">密碼:</td>
<td><input type="password" name="pwd" id="pwd" /></td>
</tr>
<tr>
<td height="26">確認密碼:</td>
<td><input type="password" name="confirmpwd" id="confirmpwd" /></td>
</tr>
<tr>
<td height="33">性別:</td>
<td>
<input type="radio" name="sex" value="女" />
男
<input type="radio" name="sex" value="男" />
女</td>
</tr>
<tr>
<td>城市:</td>
<td>
<select name="city" id="city">
<option value="" selected="selected"></option>
<option value="深圳市">深圳市</option>
<option value="上海市">上海市</option>
</select>
</td>
</tr>
<tr>
<td>興趣愛好:</td>
<td><label>
<input type="checkbox" name="hobby" id="mountain" value="mountain" />
爬山
<input type="checkbox" name="hobby" id="basketball" value="basketball" />
籃球
<input type="checkbox" name="hobby" id="swimming" value="swimming" />
游泳</label></td>
</tr>
<tr>
<td>簡介:</td>
<td>
<textarea name="introce" cols="30" id="introce" rows="3"></textarea>
</td>
</tr>
<tr>
<td></td>
<td><label>
<input type="button" name="Submit" value="提交" onclick="check()"/>
</label></td>
</tr>
</table>
</form>
10、我給你寫個js,你在代碼中調用這個方法
<script language="javascript" type="text/javascript">
function check(){
//判斷用戶名
var username=document.getElementById("username").value;
//定義正則表達式,用戶名必須是字母數字或下劃線, 不能以數字開頭
var regex1=/^[A-Za-z_][0-9A-Za-z_]$/
var s=document.getElementById("username").value;
alert(regex1.test(s));
return;
if(regex1.test(username)){
alert("用戶名必須是字母數字或下劃線, 不能以數字開頭");
return;
}
//判斷密碼
//定義正則表達式,密碼必須6-16位字母數字下劃線
var regex2=/^[0-9A-Za-z_]{6,16}$/
var pwd=document.getElementById("pwd").value;
if(regex2.test(pwd)==false){
alert("密碼必須6-16位字母數字下劃線");
return;
}
//判斷確認密碼
var confirmpwd=document.getElementById("confirmpwd");
if(pwd.value!=confirmpwd.value){
alert("兩次密碼輸入不一致,請重新輸入!");
return;
}
//判斷性別、城市、愛好、簡介
var sex=document.getElementsByName("sex");
var city=document.getElementById("city");
var hobby=document.getElementsByName("hobby");
var introce=document.getElementById("introce");
var t=0;
for(var i=0;i<sex.length;i++){
if(sex[i].checked==true){
t++;
}
}
if(t==0){
alert("請選擇性別!");
return;
}
t=0;
for(var i=0;i<hobby.length;i++){
if(hobby[i].checked==true){
t++;
}
}
if(t==0){
alert("請選擇愛好!");
return;
}
if(city.value==""){
alert("城市不能為空,請選擇城市");
return;
}
if(introce.value==""||introce.value.length==0){
alert("個人簡介不能為空");
return;
}
}
</script>
以上有不對的地方盡請指出,謝謝
⑸ java的基礎知識有哪些
根據我當初學習的資料整理了一下:
變數、運算符和表達式、掃描儀和隨機器、判斷語句、循環語句、數組、面向對象、封裝、繼承、多態、抽象類和介面、內部類、異常、包裝類和String、堆棧、集合、Swing圖形界、IO流、序列化、多線程、資料庫。
⑹ JAVA知識
我這里定義了一個dog類和一個cat類,然後再主類中調用列印出來。以後不必這么麻煩了,可以創建一個 動物 父類就OK。建議樓主先找本書看看
class dog{
String su="狗的速度是5m/s";
String daxiao="我比貓大";
String color="我是黃色的";
void zou(){
System.out.println("狗走5m/s");
}
void ting(){
System.out.println("狗停了");
}
void run(){
System.out.println("狗跑15m/s");
}
void jiao(){
System.out.println("狗叫的聲音是wangwang");
}
}
class cat{
String su="貓的速度是6m/s";
String daxiao="我比狗小";
String color="我是一隻白貓";
void zou(){
System.out.println("貓走6m/s");
}
void ting(){
System.out.println("貓停了");
}
void run(){
System.out.println("貓跑17m/s");
}
void jiao(){
System.out.println("貓叫的聲音是miaomiao");
}
}
public class chuji {
/**
* @param args
*/
public static void main(String[] args) {
// TODO 自動生成方法存根
dog a1=new dog();
cat a2=new cat();
System.out.println(a1.su+"\t"+a1.daxiao+"\t"+a1.color);
a1.zou();a1.ting();a1.run();a1.jiao();
System.out.println(a2.su+"\t"+a2.daxiao+"\t"+a2.color);
a2.zou();a2.ting();a2.run();a2.jiao();
}
}
⑺ 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初學者到精通需要掌握哪些知識點
Java涵蓋的知識點很多,想要成為滿足企業需求的Java工程師你不僅要掌握理論知識,更需要具備實戰開發經驗。不過事有輕重緩急,知識點也有主次之分,Java編程中哪些知識點最重要?下面一同來看看吧。
1、IDE。IDE(Integrated Development Environment,集成開發環境),是用於程序開發環境的應用程序,一般包括代碼編輯器、編譯器、調試器和圖形用戶界面工具。該程序可以獨立運行,也可以和其它程序並用,Java IDE常用的有eclipse、Myeclipse、NetBeans、jbuilder等。
2、數據類型。Java語言提供了八種基本類型:六種數字類型(四個整數型byte、short、int、long,兩個浮點型float、double),一種字元類型char,還有一種布爾型boolean,你需要熟練掌握這些數據類型的使用方法。
3、訪問控制。訪問控制在面向對象技術中處於很重要的地位,合理的使用訪問控制符,可以通過降低類和類之間的耦合性(關聯性)來降低整個項目的復雜度,也便於整個項目的開發和維護。
4、流程式控制制。Java流程式控制制包括順序控制、條件控制和循環控制,你需要區別三者有什麼不同,需要掌握的有:if、switch、loop、for、while等流程式控制制的語法。
5、面向對象。這是Java的核心概念,對於任何Java開發者都需要熟練掌握。主要知識點包括有:面向對象三大特性、各自的定義概念及其使用方法。
6、對象和實例。Java編程初學者需要了解class和instance的概念以及之間的差別。
7、Static 靜態屬性。需要掌握靜態屬性的定義、使用,以及類載入時如何初始化,靜態方法的定義和使用,靜態類的定義和使用,靜態代碼塊的定義和初始化時機。
當然,隨著學習的深入,Java編程初學者還需要掌握Java的集合框架、異常框架、IO流等知識點。如果你想快速入門Java,短期內積攢更多的實戰開發經驗,建議你來參加專業的學習。