Java學習的第六天(JavaSE基礎(chǔ)02)

  • 1.注釋
單行注釋://
多行注釋:/* */
文檔注釋:/** */通過cmd輸入javadoc Demo.java生成很多的html文檔,打開index.html查看幫助文檔
注意:如果直接對class Demo去使用javadoc Demo.java會出現(xiàn)找不到可以文檔化的公共或受保護的類
必須聲明public (例如 public class Demo{主函數(shù)})才能生成幫助文檔
  1. 錯誤示例

    2.正確示例
    image.png
  • 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:不能直接輸出
注意:除空常量之外,其它常量均可以使用輸出語句輸出
  • 4.進制
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;
  • 6.Java中的數(shù)據(jù)類型的分類
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 類 對象 枚舉
  • 7.byte的取值范圍
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
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關(guān)閱讀更多精彩內(nèi)容

  • Java byte code 的學習意義 為啥要學java bytecode,這就跟你問我已經(jīng)會python了為...
    shanggl閱讀 1,865評論 0 3
  • Win7下如何打開DOS控制臺? a:開始--所有程序--附件--命令提示符 b:開始--搜索程序和文件--cmd...
    逍遙嘆6閱讀 1,713評論 4 12
  • 一、基礎(chǔ)知識:1、JVM、JRE和JDK的區(qū)別:JVM(Java Virtual Machine):java虛擬機...
    殺小賊閱讀 2,569評論 0 4
  • Java是一種可以撰寫跨平臺應用軟件的面向?qū)ο蟮某绦蛟O計語言。Java 技術(shù)具有卓越的通用性、高效性、平臺移植性和...
    Java小辰閱讀 1,175評論 0 2
  • 1 關(guān)鍵字 1.1 關(guān)鍵字的概述 Java的關(guān)鍵字對java的編譯器有特殊的意義,他們用來表示一種數(shù)據(jù)類型,或...
    哈哈哎呦喂閱讀 785評論 0 0

友情鏈接更多精彩內(nèi)容