單行注釋://
多行注釋:/* */
文檔注釋:/** */通過cmd輸入javadoc Demo.java生成很多的html文檔,打開index.html查看幫助文檔
注意:如果直接對class Demo去使用javadoc Demo.java會出現(xiàn)找不到可以文檔化的公共或受保護的類
必須聲明public (例如 public class Demo{主函數(shù)})才能生成幫助文檔
錯誤示例
2.正確示例
2.關(guān)鍵字:都是小寫的,例如public class int abstract...
3.常量:不可隨意改變的數(shù)據(jù),程序在運行過程中其值不可隨意的更改
1.字符串常量:1.必須使用雙引號引起來;2.字符串是由0個到多個字符組成;3.空字符串" "
2.整數(shù)常量:可以直接輸出 System.out.println(10);
3.小數(shù)常量:同樣可以直接輸出 System.out.println(1.2);
4.字符常量:1.字符必須由' '引起來;2.里面<只能>有一個數(shù)字或一個字母
5.布爾常量:只能取兩個值true/flase
6.空常量null:不能直接輸出
注意:除空常量之外,其它常量均可以使用輸出語句輸出
1.二進制:只能是0/1,每一個二進制數(shù)就是一個bit,也就是一位
2.十進制:0123456789
3.八進制:01234567 每3個(二極管/位)為一組進行數(shù)據(jù)的存儲
4.十六進制:0123456789ABCDEF 每4個(二極管/位)為一組進行數(shù)據(jù)的存儲
進制轉(zhuǎn)換:二進制101轉(zhuǎn)十進制:1*2^0+0*2^1+1*2^2=5(十進制)
1B(字節(jié))=8bit
1KB=1024B=2^10B
1MB=1024KB
1GB=1024MB
1TB=1024GB
注意1:真正存儲數(shù)據(jù),一個二極管(一位)是不可能真的代表一個數(shù)據(jù),最少需要8個二極管,因為1字節(jié)=1個byte=8個位=8個bit=8個二進制數(shù),所以計算機最小的存儲單元是字節(jié)(byte),而計算機最小的信息單元是位(bit)。
注意2:
打印2進制數(shù)必須以0b開頭為標志 0b0(二進制)--->0(十進制)
打印8進制數(shù)必須以0開頭為標志 012(八進制)--->10(十進制)
打印16進制數(shù)必須以0x開頭為標志 0x10(十六進制)--->21(十進制)
5.變量:在程序運行過程中,其值可以發(fā)生改變的值,它的本質(zhì)是在內(nèi)存中開辟了一小塊空間用于臨時存儲數(shù)據(jù)用的
如何聲明一個變量
1.數(shù)據(jù)類型 變量名; int a;
2.賦值; a=10;
兩者合二為一進行變量聲明:int a=10;
1.基本數(shù)據(jù)類型
四類八種:
1.整數(shù)類型:byte(1個字節(jié)) short(2個字節(jié)) int(4個字節(jié)) long(8個字節(jié))
2.小數(shù)類型:float(4個字節(jié)) double(8個字節(jié))
3.字符類型:char(2個字節(jié)) 漢字占二個字節(jié),標點符號占一個字節(jié),可以定義char a='嗨';來使用
4.布爾類型:boolean(1個字節(jié))
2.引用數(shù)據(jù)類型(面向?qū)ο螅篠tring 類 對象 枚舉
11111111--->第一個1/0代表這個二進制數(shù)是正數(shù)還是負數(shù);也就是后七位有效
1+2+4+8+16+32+64=127
取值范圍(01111111---11111111)由于這是為負數(shù)時涉及反碼和補碼的運算所以這里不作解釋,有興趣的小伙伴們可以自己去百度查找相關(guān)內(nèi)容
取值范圍(-128---127)
實例:如果byte a=128; System.out.println(a);會出錯,因為128已經(jīng)超出了byte的取值范圍,而自動
轉(zhuǎn)換成了int類型,而int類型又賦值給byte類型的數(shù)據(jù),會有精度的損失,所以會報錯?。?
8.使用變量時會出現(xiàn)的一些問題和解決方法
1.同一個程序中變量名不能重名,值可以覆蓋
int a=10;
System.out.println(a); /程序正確,輸出10
int a=20
System.out.println(a); /程序錯誤,彈出已在main方法中定義了a
int a=10
a=20;
System.out.println(a);/程序正確,a的值可以覆蓋
2.復制(涉及到不同的變量)
int a=10;
int c=a;
System.out.println(a);/程序正確,a的值不變
System.out.println(c);/程序正確,將a的值復制給c c的值為10
3.變量名不能以數(shù)字開頭
int 1b=20;
System.out.println(1b);/程序錯誤
4.變量名可以是漢字,但是不推薦使用
int 哈哈=2
System.out.println(哈哈);/程序正確
5.當char轉(zhuǎn)換成int類型時,輸出的一串數(shù)字
char a='嗨';
int b=a;
System.out.println(b);/程序正確,但是會輸出15694(一串數(shù)字)
6.String類型的數(shù)據(jù)轉(zhuǎn)換成int類型的數(shù)據(jù)會報錯
String a="嗨";
int b=a;
System.out.println(b);/程序錯誤
7.=左邊只能寫變量名,不能寫表達式
int a=10;
int b=20;
int a+b=c;
System.out.println(c);/程序報錯
9.數(shù)據(jù)類型的轉(zhuǎn)換(自動轉(zhuǎn)換和強制轉(zhuǎn)換)
自動轉(zhuǎn)換:小的數(shù)據(jù)可以直接賦值給大的數(shù)據(jù)
1.自動轉(zhuǎn)換的正確實例,小的數(shù)據(jù)會自動轉(zhuǎn)換成大的數(shù)據(jù)
byte a=1;
int b=a;
System.out.println(b);/程序正確,會自動轉(zhuǎn)換
2.因為a+2默認是int類型,而大的數(shù)據(jù)不能直接賦值給小的數(shù)據(jù)
byte a=1;
byte b=a+2;
System.out.println(b);/程序錯誤,
3.因為小數(shù)默認是double類型,占8個字節(jié),而float占4個字節(jié),而大的數(shù)據(jù)不能直接賦值給小的數(shù)據(jù)
float a=1.2;
System.out.println(a); /程序錯誤
4.小數(shù)據(jù)可以直接轉(zhuǎn)換成大的數(shù)據(jù)---自動轉(zhuǎn)換
long e=100;
System.out.println(e); /程序正確
強制類型的轉(zhuǎn)換
5./正確實例
byte a=1;
byte b=(byte)(a+2);
System.out.println(b); /程序正確
6.錯誤實例
byte a=1;
byte b=(byte)a+2;
System.out.println(b); /程序錯誤,a會被強制轉(zhuǎn)換成byte+int類型的2
7.大的轉(zhuǎn)小的數(shù)據(jù)類型
long c=100L;
int d=(int)c;
System.out.println(b); /程序正確
8.變量必須先賦值(初始化)之后才能使用
變量名是沒有初始化值的
int a;
System.out.println(a); /程序錯誤,未初始化變量名
10.如果按照大->小的數(shù)據(jù)類型,不進行強制轉(zhuǎn)換是會報錯的,但是這里是正確的!!
float雖然只有四個字節(jié),但是它的排列規(guī)則和整數(shù)不一樣,實際float的四個字節(jié)的長度比long的八個字節(jié)的長度還要長
long a=200L;
float b=a;
System.out.println(b); /程序正確
11.為什么char可以自動轉(zhuǎn)換成int,不是char占2個字節(jié),而int占四個字節(jié)嗎??而且會輸出一串數(shù)字,并不是我們定義的字符變量??
這里涉及一個ASCII碼表,每一個字符都可以在ASCII碼表中找到一個對應的位置,而表現(xiàn)出來的形式就是int類型
char a='0' /0字符對應的ASCII碼值為48
char b='a' /a字符對應的ASCII碼值為97
char c='A' /A字符對應的ASCII碼值為65
12.整數(shù)默認是int,小數(shù)默認的是double類型,long a=10L(long建議加L ),float a=1.2f(float必須加F/f )
13.如何將兩個int類型的數(shù)據(jù)的值相互交換
需求:把a和b的值交換
思想:要有一個第三方變量
int a=10;
int b=20;
System.out.println("交換前a="+a+"\tb="+b);
int c;
c=a;
a=b;
b=c;
System.out.println("交換前a="+a+"\tb="+b); /程序正確
14.標識符:用戶編程使用的名字,給類,方法,變量,常量等命名
命名規(guī)則
1.第一個字符不是數(shù)字,由字母,數(shù)字,下劃線和美元符$組成
2.不能是java關(guān)鍵字
3.對大小寫敏感
約定(規(guī)范):是一些良好的建議,最好是遵循
1.小駝峰命名法:變量和方法
首字母小寫,其它單詞首字母大寫 用戶名:userName getMaxAndMin
2.大駝峰命名法:類
每一個單詞的首字母都要大寫 例如class Demo
最后編輯于 :2019.10.29 09:52:27
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者 【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。 平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。