安裝與語法

一、基礎
1、JDK
JDK實際上是安裝一個虛擬機,其作用是爲不同的系統平臺翻譯解釋程序,保證程序能在不同操作系統中正常運行
JRE
JRE包含java所有包,其包含在JDK中,如果只是運行程序可只要JRE,如果開發需要JDK
bin是binary(二進制)的縮寫
2、Java優缺
特點:跨平臺(主要特點)
缺點:運行相對較慢,所以一般大型網絡遊戲就會用C++等
3、安裝後需要配置環境變量
配置環境變量:
1、PATH:將環境變量中”path”的變量後面加上JDK安裝目錄並加上”\bin”,中間以”;”隔開
2、CLASSPATH:將class文件目錄複製在此變量後面,中間以”;”隔開,其作用是爲了能在任何目錄下運行程序,注意:不是設置java源文件的編譯路徑
3、JACA_HOME:將JDK安裝目錄輸入即可
4、環境變量中”.”表示當前目錄
4、java編寫
1、Java所有代碼都是在類中,Java程序擴展名要改爲”.java”
2、Java程序中只能有一個”public”公共類,可以有多個類
3、Java程序命名必須與公共類名一致
4、Java程序編譯通過後要生成一個以”.class”爲擴展名的字解碼文件,若是有多個類則每個類都會產生一個字解碼文件
5、Java程序嚴格區分大小寫,類命名最好以單詞爲主,每個單詞最好首字母大寫
例如:編寫一個”HelloWorld”程序
public class HelloWorld{
public static void main(String[] args){
System.out.println(“Hello World!!!”);
}
}
class Person{
public void eat(){
System.out.println(“人會吃飯!”);
}
}
上面這個程序編譯通過後,就會產生”HelloWorld.class”和”Person.class”兩個字解碼文件
5、Java編譯與運行
編譯:語法:”javac 程序名.java”,在cmd中先切換至文件目錄下,若沒有提示,則編譯成功
運行:語法:”java 程序名”,若配置了”CLASSPATH”變量,則不用切換至文件目錄
6、註釋
1、單行註釋:”//內容”,不可跨行
2、多行註釋:”/內容/”,可跨行
3、文檔註釋:”/*內容/”,可跨行,且可以被doc工具解析,主要用於生成手冊
7、Java兩種核心機制
Java虛擬機(Java Virtual Machine)
垃圾收集機制(Garbage collection)
內存:是用於暫時存放CPU中的運算數據,以及與硬盤等外部存儲器交換的數據。只要計算機在運行中,CPU就會把需要運算的數據調到內存中進行運算,當運算完成後CPU再將結果傳送出來,內存的運行也決定了計算機的穩定運行。
緩存:緩存就是數據交換的緩衝區(稱作Cache),當某一硬件要讀取數據時,會首先從緩存中查找需要的數據,如果找到了則直接執行,找不到的話則從內存中找。由於緩存的運行速度比內存快得多,故緩存的作用就是幫助硬件更快地運行。
8、特殊語法
1、java -version 查詢使用的JDK版本號
2、java -verbose 程序名 查看執行程序的步驟/過程
二、基礎語法
1、標識符
Java語言中,對變量、方法、類等命名使用的字符稱爲標識符
命名規則:只能由字母、下劃線、美元符號或數字組成,不能以數字開頭,不能使用關鍵字
例: 合法的標識符:hell_、_958
不合法的標識符:class、98.3、hell world
關鍵字都是小寫字符串:abstract、default、if、private、this、boolean、do、implements、protected、throw、break、double、import、public、throws、byte、else、instanceof、return、transient、case、extends、int、short、try、catch、final、interface、static、void、char、finally、long、strictfp、volatile、class、float、native、super、while、const、for、new、switch、null、continue、goto、package、synchronized等等
2、變量
變量是程序中最基本的存儲單元,其要素包括變量名、變量類型和作用域
變量按被聲明位置劃分:
1、局部變量:方法或語句塊內部定義的變量
局部變量必須初始化
public void method(){
int i;
int j = i + 5;//編譯出錯,未被初始化
double d = 3.14;
}
2、成員變量:方法外部、類的內部定義的變量
成員變量之所以不用初始化是其聲明時,會默認分配該類型的一個值
class method{
private int num1;
private double num2;
public void getNum(){
System.out.println(num1+” “+num2);//輸出0 0.0
}
}
注意:類外面不能有變量的聲明
變量按所屬的數據類型劃分:
1、基本數據類型變量
2、引用數據類型變量
3、數據類型分類:基本數據類型、引用數據類型
基本數據類型:數值型、字符型(char)、布爾型(boolean)
數值型:整數類型(byte、short、int、long)、浮點類型(float、double)
引用數據類型:類(class)、接口(interface)、數組
注意:String是一個類,所以其不屬於數值類型
基本數據類型的轉換是根據容量轉換的,容量小的向容量大的轉換
“char、short、byte”之間不會相互轉換,他們三者之間在計算時首先會轉換爲”int”類型
爲了區分長整型最好在其後面加一個大寫的”L”
浮點型默認爲”double”型,因此”float”型後面需要加一個”F”
public void method(){
long L = 45; //不會報錯,因爲其是整數沒有超出”int”的範圍,
float F = 24.1; //報錯,沒有加”F”,系統認爲可能損失精度
System.out.println(L+F);
}
4、運算符
算術運算符:+,-,*,/,%,++,–(自加、自減)
“/”整除的除數與被除數類型只能爲整數,若商有小數位直接截取掉不會四捨五入
自加與自減規則:前加/前減則是先加/減”1”再參與運算,後加/後減則是先參與運算後加/減”1”
public void method(){
int a = 4;
int b = ++a + 2; //b=7,a=5
int c = a++ + 4; //c=9,a=6
}
關係運算符:>,<,>=,<=,==,===(恆等於)
“==”與”===”區別:”==”只要求兩值相等,”===”則要求值、類型等等完全一致
public void method(){
int a = 4;
double b = 4.0;
if (a == b){} //正確
if (a === b){} //錯誤,非法的表達式
}
邏輯運算符:!,&,|,&&,||(短路與/或)
“&、|”與”&&、||”區別:兩者”與/或”都遵守”同真爲真/有真即真”,但是前者若是第一個條件就不滿足還是會執行第二個條件,這樣就照成了內存浪費
public void method(){
int a = 1;
int b = 2;
if (a==2 & (b=3)==1){} //語句中條件一就不滿足了,但是最後b=3,說明條件二還在繼續執行
if (a==2 && (b=3)==1){} //語句中條件一就不滿足了,但是最後b=2,說明條件若是有一個不滿足就終止語句
}
因此,我們在寫程序時要多用”&&、||”短路與/或,可以加快程序運行速度,節約內存
位運算符:&,|,^(異或),~(取反),>>,<<,>>>(無符號右移,用0填充)
“&、|”是用於源碼:同1才爲1、有1即爲1;若”&”有負數,要先將負數取反+1;若”|”有負數,同樣負數取反+1,若還要轉換爲十進制則再取反+1
public void method(){
int a = 4;
int b = -7;
int c = 3;
System.out.println(a&c); //值爲0,原因:4=0100,3=0011,4&3=0000=0
System.out.println(a&b); //值爲0,原因:7=0111,-7=1000+1=1001,-7&4=0000=0
System.out.println(a|c); //值爲7,原因:4&3=0111=7
System.out.println(a|b); //值爲-3,原因:-7|4=1101取反添負0010+1=0011=-3
}
“^”:相同爲0,不同爲1;”~”將源碼取反,因爲int是32位的,前面還有很多”0”,全部取反就變爲負數了,若轉換成十進制又要取反加”1”,最後添加負號(有個簡單的技巧就是:直接加”1”再添負號)
public void method(){
int a = 9;
int b = 13;
System.out.println(a^b); //值爲4,原因:9=1001,13=1101,9^13=0100=4
System.out.println(~a); //值爲-10,原因:9=0000……1001,~9=1111……0110=0000……1001+1=1010=-10
}
“a<

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章