數據類型+運算符基礎
1.1.1?????標識符
??可以簡單的理解為一個名字。在Java中,我們需要標識代碼的很多元素,包括類名、方法、字段、變量、包名等。我們選擇的名稱就稱為標識符,并且遵循以下規(guī)則:
A.?????標識符可以由字母、數字、下劃線(_)、美元符($)組成,但不能包含?@、%、空格等其它特殊字符。
B.??????不能以數字開頭。
C.??????標識符是嚴格區(qū)分大小寫的。
D.?????標識符的命名最好能反映出其作用,做到見名知意。
1.1.2?????關鍵字
在java語言中已經被賦予特定意義的一些單詞。一共有53個關鍵字。其中有兩個保留字:const和goto。關鍵字不能被用作標識符??!

1.1.3?????注釋
Java代碼的解釋說明。不影響程序的運行,用于輔助讀程。
//單行注釋
/*????多行注釋???*/
/**?????文檔注釋?????*/
1.1.4?????變量
在JAVA中,有的數據值是不固定的,總在變,我們還需要記錄這些值,我們可以把這些值理解為變量。
我們通過三個元素來描述變量:變量類型,變量名以及變量值。
int age=18;???//聲明int類型的變量并賦值
String tel;??//聲明String類型的變量
注意:
1、?變量名必須是一個有效的標識符。
2、?變量名不可以使用java關鍵字
3、?變量名不能重復
1.1.5?????常量
在程序運行過程中一致不會改變的量成為常量。
1.2??數據類型
1.2.1?????基本類型(八種)
1.2.1.1????介紹
位bit???字節(jié)byte???1byte=8bit

1.2.1.2????練習1:最大值最小值
1.2.1.3????練習2:輸入個人信息
1.2.1.4????練習3:圓形面積
圓的面積:π*r*r
圓的周長:2*π*r
1.2.1.5????練習4:變量交換

接收用戶輸入的值:假設a=1,b=2將a和b的值做交換。
2.1??引用類型
引用類型是一個對象類型,值是什么呢?它的值是指向內存空間的引用,就是地址,所指向的內存中保存著變量所表示的一個值或一組值。如:類,接口,數組,后面講。。。
2.2??基本類型的字面值(5條)
2.1.1?????整數字面值是int類型
int a = 999999999;//錯,右側是int類型,但是超出范圍
2.2.2?????byte,short,char三種比int小的整數可以用范圍內的值直接賦值
byte b=127;//對
byte b=128;//錯,右面已經超過byte范圍是int類型的數據
2.2.3?????浮點數的字面值是double類型
double??a=3.14;//對
float a=3.14;//錯,右面是double,float是四字節(jié)double是八字節(jié)存不下
2.2.4?????字面值后綴l f d
L –long???如:long a = 99999999999;//錯,超出范圍,解決方案加L
F –float???如:float a = 3.14;//錯,右面是double類型,解決方案加F
D –double??如:double a=3;//錯,右面是int,解決方案加D或者改成3.0
2.2.5?????進制前綴
0x???- 16進制
0????-8進制
\u???-char類型,16進制
2.3??基本類型的類型轉換
2.3.1?????小到大(隱式轉換)
Byte a =120;
Int b=a;//直接轉

2.3.2?????大到小(顯式轉換)
需要強制類型轉換
int?xx?= 356;
byte?y=(byte)?xx;
注意:小數轉成整數,小數直接舍棄
2.4??運算規(guī)則(5條)
2.4.1?????計算結果的數據類型,與最大類型一致
3/2???得1?,而不是1.5,結果是int類型
3d/2??得1.5,相當于double/int,結果是double類型
2.4.2?????byte,short,char三種比int小的整數,運算時會先自動轉換成int
byte a=3;
byte b=4;
byte c=a+b;//錯,運行時,byte會先自動轉成int再運算,int+int還是int
2.4.3?????整數運算溢出
整數運算,類似于一個中標,轉到最大時,再轉會回到最小。
計算:光速運行一年的長度是多少米
System.out.println(300000000*60*60*24*365);
System.out.println(300000000l*60*60*24*365);
2.4.4?????浮點數運算不精確
java提供了解決方案,后面就會講到。
System.out.println(1-0.8);
System.out.println(4.35*100);
2.4.5?????浮點數的特殊值
Infinity?無窮大??3.14/0?
Nan??not a number??0/0.0
2.5??拓展
2.5.1?????什么是顯示類型轉換和隱式類型轉換
2.5.2?????char?型變量中能不能存儲一個中文漢字,為什么?
char?類型可以存儲一個中文漢字,因為?Java?中使用的編碼是?Unicode(不選擇任何特定的編碼,直接使用字符在字符集中的編號,這是統(tǒng)一的唯一方法),一個?char?類型占?2?個字節(jié)(16?比特),所以放一個中文是沒問題的。