準備
- 下載並安裝Java jdk 和 編輯器(eclipse或Netbeans)
- 配置環境變數
- 第一個程式
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. 自己寫的包