一、關健字java
1.一、被Java語言賦予特定意義的單詞(如:class,interface,public ,static)數組
1.二、所有是小寫spa
1.三、注意事項(goto和const做爲關健字保留起來)接口
二、標識符字符串
2.一、給類,接口,方法,變量起名字的字符get
2.二、組成規則(A:英文大小寫,B:數據,C:$ _)class
2.三、注意事項(不能爲數字開頭,不能是java中的關健字,區分大小寫)變量
2.四、常見的命名規則(見名知意)數據類型
A:包 所有是小寫引用
單級包:小寫 如:peng,com
多級包:小寫 如:cn.hcc,ts.hnyj,com.baidu
B:類與接口:
一個單語:首字大寫 如 Hello,Student
多個單詞:每一個單詞首字大寫 如HelloWorld,StudentName
C:方法與變量:
一個單詞:首字小寫 如name,main,get
多個單詞:首字小寫,從第二單詞開始首字大寫 如showAllStudents,getPersonName,className
D:常量: 所有大寫
一個單詞時:所有大寫
多個單詞時:多部大寫同時每一個單詞之間用_分開 如 MAX_AGE
三、常量
3.1 在程序執行的過程當中,其值不發生改變的量
3.2 分類:
3.2.一、字符串常量 "hello",
3.2.二、整數常量 12,23,
3.2.三、小數常量 12.33,
3.2.四、布爾常量 true,false
3.2.五、字符常量 'a','b'
3.2.六、空常量
3.3 在Java中針對整數常量提供了四種表現形式
A:二進制 以0,1組成,以0b開頭
B:八進制 以0---7組成,以0開頭
C:十進制 以0----9,整數默認是十進制
D:十六進制 以0----abcdef(大小寫均可以)以0x開頭
四、進制之間接轉換
其它進制轉換到十進制的方法是:
1112 = 1*10^3 + 1*10^2 + 1*10^1+2*10^0 = 1000+100+10+2 = 1112
0b00001010 = 1*2^3 + 1*2^0 = 8 + 2 = 10
02120 = 2*8^3 + 1*8^2 +1*8^1 = 1024+128+16 = 1104
0xa02 = 10*16^2+0+2*16^0 = 2560+2 = 2562
二進制到十進制的互轉
0b10100100=128 64 32 16 8 4 2 0============128+32+4==========164(看位得值法)
十制轉其它進制的方法:除基到商爲0取餘反轉過來就是他的值
21轉二進制:10101
五、變量與數據類型:
一、基本類型:4類8種 佔用字節數(一個字節佔8位)
1.一、整型:1.1.1 、 byte 1-------
1.1.二、 short 2
1.1.三、 int 4
1.1.四、 long 8
1.二、浮點型:
1.2.一、float 4
1.2.二、double 8
1.三、布爾 true/false 1
1.四、字符 char 2
注意:整數默認是int,浮點默認是double long定義時加L/l float 定義時加F/f
默認轉換:是由小到大:byte char short(前三者不互相轉換,是直接轉換成int)---------->int------------>long------------->float-------->double
強制轉換是由大到小:是默認反轉過來可能丟失精度,通常不見建議
思考題:
float f1=12.36f 與float f2=(float)12.36;有區別?
下面的程序有問題嗎?若是有,在哪裏?
byte b1 = 3;
byte b2 = 4;
byte b3 = b1 + b2;------這裏會有問題:由於兩個變量相加首先轉成int而後再加 int------->byte就會有問題
byte b4 = 3 + 4;----這個沒有問題
下面的操做結果是什麼?
byte b=(byte)130; -126要了解它的計算方法
130轉成二進制是00000000 00000000 00000000 10000010-------->但因爲是強轉成byte 前面三位都將去掉只留
10000010----------->最高是1說明是負數 存在計算機中是以補碼的形式存在:因此是求負數的反,原碼
反碼:1----------->00000 01
原碼:1---------->11111 10
再轉換十進制:-64+32+16+8+4+2===-126
再練習一次:
byte tt =(byte)150 tt=-106
二、引用類型:類,接口,數組,字符串
三、記得三個字符的ASCII碼: a=97 A=65 0=48 這樣能夠計算出不少值出來
四、思考題:字符串參與的運算
System.out.println("hello"+'a'+1);======helloa1
System.out.println('a'+1+"hello");======98hello
System.out.println("5+5="+5+5);======5+5=55
System.out.println(5+5+"=5+5");===== 10=5+5
六、補充知識:
計算機是以補碼存在的,
正數的原,反,補碼都是同樣最高位是(0)
負數的原,反,補碼不同最高位是(1) 原到反直接取反,最高位不變 反到補最高位不變+1