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種以外都叫引用型別