1.變量java
1.1.什麼是變量:數組
變量是用來命名一個數據的標誌符。函數
1.2.標誌符的命名規則:優化
- 不能爲關鍵字(如if,while等等)
- 由數字,字母,下劃線,$組成,但不能以數字做爲開頭
- java是大小寫敏感的
int a; int A;
a與A是不一樣的變量。編碼
java中其餘東西的命名規則:(建議使用)spa
- 類名:每一個單詞的首字母大小。如:MyClass
- 函數名and變量名:第一個單詞的首字母小寫,其餘單詞的首字母大寫。如addUser()
1.3.如何定義變量:code
int i=5;
int表示爲int的數據類型,i表示變量名,5爲具體的數據blog
對於變量應該先定義後使用內存
2.數據類型utf-8
2.1java數據類型的分類:
大體可分爲基礎數據類型和引用數據類型。
基礎數據類型又可分爲:整型,浮點型,字符型,布爾型
常見的引用類型:如數組等等。
具體如圖所示:
2.2數據類型的使用:
2.2.1基本數據類型
1)整型(byte,short,int,long)
byte b=1; short s=1; int i=1; long l=1l;
- byte 佔用內存 一個字節 範圍:-128至127
- short 佔用內存 兩個字節 範圍:-32768至32767
- int 佔用內存 四個字節 範圍:-2147483648至2147483647
- long 佔用內存 八個字節 範圍:-?至?
注意:對於長整型的定義有點不一樣,必須在後面加上l(L)。
2)浮點型(float,double)
float f=1f; double d=1;
- float 佔用內存 四個字節 範圍:3.4E-38至3.4E+38 只能提供7位有效數字
- double佔用內存 八個字節 範圍:1.7E-308至1.7E+308 可提供16位有效數字
注意:對於單精度浮點型來講,後面也必須加上f。
3)布爾型(boolean)
能夠表示"真"或者"假",取值爲true和false。和C語言不一樣的是不能用0/1代替
boolean b =true
4)字符型(char)
能夠表示 單個字符,字符類型是char。char是兩個字節(能夠存放漢字)
多個字符咱們稱爲字符串,在java中String這種數據類型表示,可是String不是基本數據類型,而是類,類是複合數據類型。
char c='a';
對char進行運算的時候,直接當作ascii碼對應的整數對待。
int test1='a'+'b'; //輸出值195 char test2='a'+'b'; ///輸出值? char test3='中'; //輸出值195
對於中文字符而言:
- 採用ISO8859-1編碼方式時,佔一個字節。
- 採用GB2312或GBK編碼方式時,佔兩個字節。
- 採用utf-8編碼方式時,佔3 個字節
2.2.2引用數據類型
3.數據類型的轉換
3.1自動轉換
數據類型能夠自動的從低精度-->高精度。高精度不能轉爲低精度。
byte小於<short小於<int小於<long小於<float小於<double
在java中的小數默認是double數據類型
int a=1.2; //1 double b=3; //3.0
3.2強制轉換
int a=(int)1.2;
int a=1; double b=4.5; a=b; // 報錯 int a=1; double b=4.5; b=a;// 成功
錯誤緣由:就是b已是double類型固然不能直接賦值給a.必須強轉
3.3計算過程當中的轉換
當一個整數和一個double運算的時候,運算結果會向高精度轉換
int a=3; double b=a+3.4;
java中byte,short,char在進行計算時都會提高爲int類型。
byte b1=1,b2=1,b3; b3=b1+b2;//報錯
關於自動提高類型,有如下幾個規則:
- 全部的byte,short,char被轉換爲int
- 若是有long,則結果爲long
- 若是有float,則結果爲float
- 若是有double,則結果爲double
- 若是被final修飾,則不會報錯,由於被JVM優化了
4.常量
final修飾的變量
final int a=5;
5.變量的做用域
5.1全局變量
當一個變量被聲明在類下面,變量就叫作字段 或者屬性、成員變量、Field
好比變量i,就是一個屬性。那麼從第2行這個變量聲明的位置開始,整個類均可以訪問獲得,因此其做用域就是從其聲明的位置開始的整個類
public class HelloWorld { int i = 1; int j = i; //其餘的屬性能夠訪問i public void method1(){ System.out.println(i); //方法1裏能夠訪問i } public void method2(){ System.out.println(i); //方法2裏能夠訪問i } }
5.2局部變量
聲明在方法內的變量,叫作局部變量
其做用域在聲明開始的位置,到其所處於的塊結束位置
public class HelloWorld { public void method1() { int i = 5; //其做用範圍是從聲明的第4行,到其所處於的塊結束12行位置 System.out.println(i); { //子塊 System.out.println(i); //能夠訪問i int j = 6; System.out.println(j); //能夠訪問j } System.out.println(j); //不能訪問j,由於其做用域到第10行就結束了 } }