Java基礎語法入門01


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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM