Java基礎語法入門01
學習java你要先進行去了解JDK,JRE,JVM
JDK Java開發工具包
JRE Java語言開發的運行環境
JVM Java虛擬機,用於Java語言的跨平台所用。
當你下載jdk之后,jdk中包含jre,jre中包含jvm
java運行原理
java變量
變量用於保存數據,構成變量三個要素:變量類型,變量名稱,變量值
變量的使用規則:
- 先聲明后使用
- 聲明進行初始化或聲明后賦值
- 在剛開始賦值時,只能賦一個值,但可以修改多次
- mian方法中的變量先賦值才能輸出
- 避免使用中文
變量分為三種:
局部變量
- 聲明在構造方法、靜態方法、實例方法、代碼塊中的變量,都是局部變量;
- 不能使用static和訪問修飾符修飾;
- 可以使用final修飾,即為常量,不必在聲明語句中賦值;
- 當執行局部變量所在的方法或代碼塊時,才有機會被創建,在方法或代碼塊執行結束后被自動銷毀;
- 局部變量在內存的棧區分配;
- 局部變量在使用之前必須要先賦值;
成員變量
- 聲明在所有方法體和代碼塊之外,並且沒有使用static修飾的變量,叫做成員變量;
- 可以使用訪問修飾符和final修飾;
- 使用final修飾時,一定要賦值;
- 實例變量是在對象被創建時創建,對象被銷毀時銷毀;
- 作用域范圍在整個類中;
靜態變量
- 聲明在所有方法體和代碼塊之外,並且使用static修飾的變量;
- 可以使用訪問修飾符修飾;
- 一般配合final使用,即public static fianl,標識符使用大寫;
- 類變量被分配在靜態存儲區,是被所有該類的對象共享數據;
- 類變量是在程序開始時被創建,程序結束時銷毀;
標識符:是用於給 Java 程序中變量、類、方法等命名的符號,簡單一些,就是你給這個變量或者這個類,方法起的名字。
標識符的四個遵守規則:
1.由字母,數字,下划線_,$符號組成,但不能由其他特殊符號組成,不能以數字開頭。
2.區分大小寫。
3.要見名知意。
4.不能是Java中的關鍵字或保留字。
java數據類型
Java數據類型分為兩種:
基本數據類型:
數值型:
整數類型(byte,short,int,long)
浮點類型(float,double)
字符型(char)
布爾型(boolean)
引用數據類型:
類(class)
接口(interface)
數組
特別提醒String為引用類型。
基本類型存儲的是數據的本身,引用類型存儲的是保存數據的空間地址
變量類型的轉換分為自動類型轉換和強制類型的轉換:
自動類型的轉換:
1.目標類型與源類型兼容
2.目標類型大於源類型(字節大小)
強制類型的轉換
使用“(轉換類型)變量名稱”這種方式進行強制轉換。
java運算符
運算符(一種帶有功能的符號)分為以下幾種:
算術運算符:
特別注意:++ --出現在操作數值的左邊和右邊結果是不一樣的
1 int a=5; 2 int b=a++; 3 System.out.println(a); 4 System.out.println(b);
結果為:6,5
a++ 先進行將a的值賦予b,再進行了自增。
int a=5; int b=++a; System.out.println(a); System.out.println(b);
結果為:6,6
++a 先進行自增,后賦值給b。
賦值運算符:
比較運算符:
特別注意:
1、 > 、 < 、 >= 、 <= 只支持左右兩邊操作數是數值類型
2、 == 、 != 兩邊的操作數既可以是數值類型,也可以是引用類型
邏輯運算符:
特別注意:
&與&&的區別:
使用&&時候,有短路功能,即當第一個條件為錯誤時,不在進行判斷第二個。
使用&時候,當第一個條件為錯誤時,仍進行判斷第二個。
|與||的區別:
與&和&&相同,|前后兩個條件都會進行判斷,||遇到第一個為真時就不再進行判斷。
條件運算符:
也稱為三目運算符。
語法形式:布爾表達式 ? 表達式1 :表達式2
String ss=(5>7)?"正確":"不正確";
System.out.println(ss);
輸出為:正確。
當括號內容正確時,輸出第一個,錯誤時輸出第二個。
運算符的優先級:
java流程控制語句
Java中的流程控制語句分為以下幾種:
if語句:進行簡單的判斷條件,條件滿足執行大括號內的內容。
if else語句:先進行判斷if中的條件語句,滿足執行其中語句,不滿足執行else里面的語句。
switch語句:
switch(表達式){
case 值1:
執行代碼塊1;
break;
case 值2:
執行代碼塊2;
break;
......
default:
默認代碼塊;
}
執行過程:當 switch 后表達式的值和 case 語句后的值相同時,從該位置開始向下執行,直到遇到 break 語句或者 switch 語句塊結束;如果沒有匹配的 case 語句則執行 default 塊的代碼。
特別注意:switch中的表達式的值類型必須是整數型或字符型。
while循環語句:循環語句,滿足括號內的表達式,會進行循環,直到不滿足,跳出循環。
do while循環語句:先進行循環在進行判斷,先進行的do大括號內的語句,在進行判斷do小括號內的表達式。
for循環語句:語法結構為
for(循環變量初始化;循環條件;循環變量變化){
執行代碼塊
}
Java循環跳轉語句:
break:跳出循環,執行后面代碼。
continue:跳過本次循環,進行下次循環。
java數組
數組就像一個大盒子,這個盒子規定了所放進物品的屬性,所放進的物品,按照順序進行放置,在進行取出來的時候,只需要知道它的位置信息就行了。
int[] a={7,8,9,10}; /*它的每一個值都有一個索引。索引從0開始, 當你想要取9這個值的時候,那么你輸出語句應該這樣寫:*/ System.out.println(a[2]); /* a[0]=7; a[1]=8; a[2]=9; a[3]=10; */
數組的使用
進行聲明數組:
數組類型[] 數組名稱;
或者 數組類型 數組名稱[];
int [] a; int a[];
給數組進行分配空間:
數組名稱=new 數組類型[數組長度];
a=new int[5];
還可以將上面兩個步驟進行合並:
int a=new int[5];
賦值:
a[0]=6;
a[1]=7;
還可以進行將上述三步合並成為一步:
int[] a={1,2,3,4} //或者 int[] a=new int[]{1,2,3,4} //注意 這個進行賦值new int[] 中括號的內容必須為空
學習數組時,會有這個操作,對數組進行排序,在java中有Arrays類進行操作數組
int[] a={3,2,5,9,6,}; //使用 Arrays.sort(數組名)對數組進行排序,但這個排序出來的順序是從小到大的 Arrays.sort(a); // 可以使用Arrays.toString(數組名);方法將一個數組轉換成字符串, //該方法按順序把多個數組元素連接在一起,多個元素之間使用逗號和空格隔開 System.out.println(Arrays.toString(a)); //輸出結果為:[2,3,5,6,9]
在進行輸出數組所有的值的時候,除了使用for這些循環輸出外,可以使用一種更為方便的foreach
格式為for(元素類型 元素名稱:遍歷對象名稱){
執行代碼
}
元素名稱是隨意起的名字,但要符合變量起名規范,遍歷對象名稱就是你要進行遍歷對象的名稱
int a[]={5,6,87,23,45}; for (int aa:a) { System.out.println(aa); }
二維數組
一維數組就是一條線,所有的數據在這個線上存着,而二維數組就是一個平面,所有的數據都在這個平面上存着。
二維數組的聲明和分配空間格式:
數組類型[][] 數組名=new 數組類型[行數][列數];
或者
數組類型[][] 數組名;
數組名=new 數組類型[行數][列數];
//定義了一個3行2列的二維數組 int [][] a=new int[3][2]; /* 或者int [][] a; a==new int[3][2]; */
給二維數組賦值:
數組類型[][] 數組名={{值,… ,值},…,{值,…,值}}
數組名[行的地址][列的地址]={{值,… ,值},…,{值,…,值}}
舉個例子:
//一個3行2列的二維數組 int[][] a={{1,2},{3,4,},{5,6}};
在輸出二維數組特別注意:需要兩個循環
for(int i=0;i<3;i++){ for(int j=0;j<2;j++){ System.out.println(a[i][j]); } }
java方法
怎么去定義java中的方法
定義方法的語法為:
訪問修飾符 返回值類型 方法名(參數){
方法體
}
方法分為
1.無參無返回值方法
2.無參帶返回值方法
3.帶參無返回值方法
4. 帶參帶返回值方法
方法的使用
無參無返回值方法
public static void main(String[] args){ //創建一個名為tt的對象 myText tt=new myText(); //調用show方法 tt.show(); } 無參無返回值方法 public void show(){ System.out.println("hello world!");
}
無參帶返回值方法
public static void main(String[] args){ myText tt=new myText(); int ss= tt.show(); System.out.println(ss); } // 無參帶返回值方法 public int show(){ int a=10; int b=20; int sum; sum=a+b; return sum; }
帶參無返回值方法
public static void main(String[] args){ myText tt=new myText(); int a=10; int b=20; tt.show(a,b); } //帶參無返回值方法 public void show(int a,int b){ int sum; sum=a+b; System.out.println(sum); }
帶參帶返回值方法
public static void main(String[] args){ myText tt=new myText(); int a =10; int b=20; int ss=tt.show(a,b); System.out.println(ss); } //帶參帶返回值方法 public int show(int a,int b){ int sum; sum=a+b; return sum; }
方法的重載
什么是方法的重載?
方法的重載就是:
在同一個類中
1.方法名相同
2.方法參數個數不同
3.方法參數順序不同
4.方法類型不同
public class myText { public static void main(String[] args){ //創建一個對象 myText tt=new myText(); //調用方法 tt.show(); //調用重載方法 String name="菜鳥三四五"; tt.show(name); //調用重載方法 int password=123; tt.show(name,password); } public void show(){ System.out.println("無參無返回值方法"); } public void show(String name){ //重載show方法,參數類型為字符串 System.out.println("name="+name); } public void show(String name, int password){ //重載show方法,參數個數兩個,參數類型一個為字符串,一個為整數型 System.out.println("name="+name+"password="+password); } }
java類與面對對象
類是所有java程序中的組織單元,現有類才能創建對象。
類的通常格式:修飾符 class 類名
定義一個類:
類的名字
屬性
方法
//創建一個名為computer的類 public class computer { //類的屬性(也叫成員變量) String brand;//電腦的品牌 int price;//電腦的價格 String type;//電腦的類型 //類的方法 public void playGame(){ System.out.println("使用電腦打游戲"); } public void netPlay(){ System.out.println("使用電腦上網!"+"brand:"+brand+" price:"+price+" type:"+type); } }
使用類去創建對象
使用類去創建對象的過程叫做實例化
public class InitailComputer { public static void main(String[] args){ //使用computer類進行創建computer對象,new computer()就是實例化 computer computer=new computer();、 //調用方法 computer.netPlay(); } }
執行結果為:使用電腦上網!brand:null price:0 type:null
在沒有給實例變量賦值的情況下,默認值為0和NULL