準備

  1. 下載並安裝Java jdk 和 編輯器(eclipse或Netbeans)
  2. 配置環境變數
  3. 第一個程式
public class test{
public static void main(String[] args){
  System.out.println("Hello World!");
    }
}

  4.  java源程式與編譯型執行區

   編譯型源程式——編譯連線——可執行程式exe——執行——作業系統——裸機

  Java源程式——編譯——位元組碼程式——解釋執行——直譯器——作業系統——裸機

基礎

一、資料型別

1.命名規範:

  • 所有的識別符號都應該以字母(A~Z\a~z)、美元符號$、下劃線_ 開始,首字母之後可以是字母、$、下劃線_ 以及數字。
  • 識別符號對大小寫敏感,且不能用關鍵字
  • 類名:首字母應該大寫,若有多個單詞,則每個單詞首字母都應大寫。舉例MyFunction
  • 方法名:所有方法名都應該以小寫字母開頭。若有多個單詞,則後面每個單詞首字母都應大寫。

2.基本資料型別:

byte、short、int、long、float、double、boolean、char

資料型別 資料型別符號 位數 最小值 最大值 預設值 舉例
位元組型 byte 8 -2^7 2^7-1 0 byte a=100;
短整型 short 16 -2^15 2^15-1 0 short b=1000;
整型 int 32 -2^31 2^31-1 0 int c=100000;
長整型 long 64 -2^63 2^63-1 0L long d=100000L;
單精度小數 float 32     0.0f float f=234.5f;
雙精度小數 double 64     0.0d double d=123.4;
布林型別 boolean 1     false boolean flag=true;
字元型 char 16 \u0000 \uffff   char e='A';

自動轉換型別:由低精度向高精度轉換,不會損失精度,自動進行。

強制轉換型別:由高精度向低精度轉換,會損失精度,例如int a=(int)23.7。

3.String型別:

String str = "Hello World!";

4.陣列。

二、運算子及其他

三、控制結構和語句

1.順序

2.選擇

if……else if語句

if(布林表示式){
  //程式碼語句
}else if(布林表示式){
  //程式碼語句
}

switch語句

switch(){
  case value1:
   //程式碼語句
break;
  case  value2:
  //程式碼語句
break;
   default:
    //程式碼語句
}

3.迴圈

while迴圈和do……while迴圈

while(布林表示式){
  //迴圈內容
}

do{
  //迴圈內容
}while(布林表示式);

for迴圈和Java增強for迴圈

for(初始化; 布林表示式; 更新){
  //程式碼語句
}

for(申明語句:表示式){
  //程式碼語句
}

int[] numbers = {10,20,30,40,50,60};
for(int x:numbers){//迴圈輸出numbers陣列
  System.out.println(x);
}

*排序演算法

四、函式(方法)

有參、無參、有返回、無返回

static int result1(int a,int b){//有參有返回
  return a+b;
}

static void result2(){//無參無返回
  System.out.println("Hello World!");
}

五、物件和類

1. 類是一個模板,描述一些物件的屬性和行為;

  物件是類的一個例項,擁有類的共同特徵。

2. 變數範圍:

區域性變數:在方法、構造方法或者語句塊中定義的變數稱為區域性變數。變數申明和初始化都是在方法中,方法結束後,變數自動銷燬。

成員變數:成員變數是定義在勒種,方法體外的變數。

類變數:類變數也申明在類中,方法體外,但必須申明為static型別。

3.構造方法

public class People{
  public People(){//構造方法
    System.out.println("How are you");
  }
}

六、修飾符

訪問修飾符

修飾符 當前類 同一包內 子孫類 其他包
public Y Y Y Y
protected Y Y Y N
default Y Y N N
private Y N N N

非訪問修飾符

static:靜態變數和靜態方法

final:final類不能被繼承,沒有類能夠繼承finale類的任何特性

abstract:抽象類不能用來例項化物件,宣告抽象類的唯一目的是為了將來對該類進行擴充,抽象方法不能宣告成final和static。

synchronized:該關鍵字宣告的方法同一時間只能被一個執行緒訪問。

transient

volatile

七、包

格式:import 大包名.小包名1.小包名2.類名;

或  import 大包名.小包名1.*;

1. 官方包

2. 引入第三方包

3. 自己寫的包

八、輸入輸出及檔案

九、執行緒

十、GUI

十一、資料庫

十二、Java多媒體