1. 程式人生 > >Java基礎語法(一)

Java基礎語法(一)

*********************************成員變數*****************************

定義在類體內,方法體外的變數.....


public class Hello{


//一.成員變數
//1.靜態變數
//static int a = 10;

//2.例項變數(非靜態變數)
int b = 20;

public static void main(String[] args){


}
}

分類:


1. 靜態變數


使用static修飾的成員變數叫做靜態變數

 

2. 非靜態變數(例項變數)

 

****************************靜態程式碼塊不能夠訪問非靜態成員**********************

使用static來修飾的程式碼塊叫做靜態程式碼塊


演示程式碼:

/**
作者: zhangzy<br>
公司: 藍橋軟體學院<br>
時間: 2017-06-21 下午
功能: 演示成員變數

*/
public class TestChengYuan{

//1.靜態變數(類變數)
//static int a = 10;

//2.非靜態變數(例項變數)

int b = 20;
public static void main(String[] args){

System.out.println(b);//編譯報錯 無法從靜態上下文中 引用非靜態的變數b

}
}

 

 

 

 

****************************同名的區域性變數對成員變數的隱藏**********************

演示程式碼:

/**
作者: zhangzy<br>
公司: 藍橋軟體學院<br>
時間: 2017-06-21 下午
功能: 演示同名區域性變數對成員變數的隱藏

*/
public class TestYinCang{

static int a = 10;

public static void main(String[] args){

int a = 20;

System.out.println(a);

}
}

 

*********************************變數按資料型別分*****************************

一.基本型別


二.引用型別

 

****************************************基本型別*****************************

2大類4小類8種


2大類: boolean 和 數值型別


4小類: boolean 和 整型、實型(浮點型)、字元型

 

8種


boolean


char

int long float double

byte short

 

1 2 4 8 4 8位元組

 


****************************************boolean 布林型別*****************************


只能用 true 和 false 來表示, 不能使用數值表示,例如0或1

true 真

false 假

 

c語言 0 false 非0的整數 真

 

****************************************char 字元型***********************************


1. 定義字元型變數 使用 ''

char c = 'a';

 

2. 面試題


***java中的char型 可以表示中文嗎????


可以. java採用的是unicode編碼, unicode編碼 每個char型別佔兩個位元組,2的16次方,65536種可能,

可以表示豐富的國際化文字..


3. 中文和英文都只能存一個

unicode編碼 不管是表示中文還是英文都是使用2個位元組來表示


4. char 型別的實質 是數值型

 

5. 轉義字元


\n newLine 換行

\t tab 製表符


\r return 回車


演示程式碼:

/**
作者: zhangzy<br>
公司: 藍橋軟體學院<br>
時間: 2017-06-21 下午
功能: 演示轉義字元

*/

public class TestZhuanYi{
public static void main(String[] args){
System.out.print("111");
System.out.print("\n");//\n 換行 \t tab 縮排 \r return 回車
System.out.print("222");


}
}


*********************************整型*****************************

 

int long
byte short

定義整型的時候, 右值預設是int型別

 

1. int

int a = 10;


2.long型別的定義


(1) 如果沒有超過int的表數範圍(-2的31次方 --------2的31次方-1 )可以加L也可以不加


long a = 10L;

long a = 10;


********************************寬轉換************************************


long a = 10;//寬轉換

boolean


char
int long float double
byte short


---------------------------------------------------------->寬轉換


<----------------------------------------------------------窄轉換


寬轉換: 表數範圍小的 賦值給表數範圍大的叫做寬轉換

特點: 安全的 自動的 不需要強制型別轉換 就像把小瓶的可樂 倒進大桶的可樂裡面 不會發生溢位問題

 


00010010 00010010 00010010 00010010
00000000 00000000 00000000 00000000 00010010 00010010 00010010 00010010


= 的實質是二進位制位的拷貝 long a = 10;// 相當於把int型別的32位拷貝到long型別的低32中 肯定是沒問題的


窄轉換: 把表數範圍大的 賦值給表數範圍小的叫做窄轉換...

特點: 不安全 不是自動的 可能會發生精度丟失 需要進行強制型別轉換


long a = 10;

int b = a;//窄轉換

窄轉換的兩種可能


(1) long型別數值不是很大 可以放到型別中


(2) 轉換真正溢位的時候

 

********************************可以直接給byte short char賦值***********************************

 

short a = 10;// short<------int

 


********************************浮點型別***********************************


float 單精度

double 雙精度


預設右值是 double型別


1. double型別


double d = 3.14;

 

2. float 型別

float f = 3.14;

 


****************************************引用型別***********************************


除了8種基本型別以外,其他的都屬於引用型別


類、字串、陣列...

******************************************運算子*****************************


一.算數運算子


+ - * / % ++ --

 


++a 和a++的區別?


++a 先加後使用

a++ 先使用後加

 

二.關係運算符


> < >= <=


判斷左右兩邊數值是否相等 ==

!= 不相等


= 賦值運算子

 

三.邏輯運算子


與 &&


或 ||


非 !


^ 異或 相同得0 不同得1

四.賦值運算子

=

五.字串連線運算子

1.+ 表示算數加


2.+ 字串連線


六.三目運算子


變數 = 表示式1 ? 表示式2:表示式3


表示式1的值 如果是true 整個結果 使用表示式2的值

如果表示式1 的值 是false 最終 返回 表示式3的值


******************************面試題 && 和 & 有什麼區別??????******************************


&& 邏輯與 短路與 false 短路


表示式1&&表示式2 只要表示式1的結果是false 表示式2就不求了 這種運算叫做 短路運算

 

|| 邏輯或 短路或 true 短路

 

 

& 按位& 位運算 10&8 沒有短路運算

 

 

*****************************************表示式******************************************

運算子 加上 運算元 組成的字元序列叫做表示式

10 + 20 算數表示式 int

a&&b 邏輯表示式 boolean


表示式的型別

 


******************************************資料型別和運算子回顧****************************


重點:

掌握變數的分類

一.按宣告的位置分

1. 成員變數

(1) 靜態變數

(2) 例項變數

2. 區域性變數

(1)方法的形參 整個方法體

(2)方法體內的區域性變數 宣告的位置開始到方法體的結束


(3) 程式碼塊中的區域性變數 宣告的位置開始到 程式碼塊的結束

 

二.按照資料型別分

1. 基本型別

2大類4小類8種

2. 引用型別


除了這8種以外都叫引用型別