Java關(guān)鍵字、標(biāo)識符、常量、變量語法詳解
一、關(guān)鍵字
關(guān)鍵字:被Java語言賦予特定含義的單詞。組成關(guān)鍵字的字母全部小寫。注:goto和const作為保留字存在,目前并不使用。main并不是關(guān)鍵字。
二、標(biāo)識符
標(biāo)識符:就是給類,接口,方法,變量等起名字時使用的字符序列。
組成規(guī)則:英文大小寫字母、數(shù)字字符、$和_
注意事項:不能以數(shù)字開頭、不能是Java中的關(guān)鍵字、區(qū)分大小寫
我們通常會給下面的這些東西起一個標(biāo)識符:
包、類或者接口、方法和變量、常量
三、注釋
單行注釋的格式: //注釋文字
多行注釋的格式: /* 注釋文字 */
文檔注釋的格式:/** 注釋文字 */
注:多行注釋不能嵌套使用,而單行是可以的。
文檔注釋:被javadoc工具解析成一個說明書,面向?qū)ο蟛糠值闹R中會用到。
四、常量、進制和進制轉(zhuǎn)換
常量:在程序執(zhí)行的過程中其值不可以發(fā)生改變
Java中常量分類:
字面值常量自定義常量(面向?qū)ο蟛糠种v)
1、常見常量:
字符串常量:用雙引號括起來的內(nèi)容
整數(shù)常量、
小數(shù)常量、
字符常量:用單引號括起來的內(nèi)容
布爾常量:較為特有,只有true和false
空常量:null(數(shù)組部分講解)
2、進制與轉(zhuǎn)換:
Java針對整數(shù)常量提供了4種表現(xiàn)形式:二進制、八進制、十進制、十六進制。
八進制的整數(shù)以0開頭,十六進制的整數(shù)以0x開頭。
注:現(xiàn)在的計算機系統(tǒng)很少用八進制的了。二進制表示法太冗長,所以在程序中一般喜歡用十六進制
二進制與八進制的轉(zhuǎn)換:
二進制與十六進制的轉(zhuǎn)換:
3、有符號數(shù)據(jù)表示法:
在計算機內(nèi),有符號數(shù)有3種表示法:原碼、反碼和補碼。所有數(shù)據(jù)的運算都是采用補碼進行的。
原碼:就是二進制定點表示法,即最高位為符號位,“0”表示正,“1”表示負(fù),其余位表示數(shù)值的大小。反碼:正數(shù)的反碼與其原碼相同;負(fù)數(shù)的反碼是對其原碼按照位取反,但符號位(最高位)不變。補碼:正數(shù)的補碼與其原碼相同;負(fù)數(shù)的補碼是在其反碼的末位加1。
主要原因:使用補碼,可以將符號位和其它位統(tǒng)一處理;同時,減法也可按加法來處理。
另外,兩個用補碼表示的數(shù)相加時,如果最高位(符號位)有進位,則進位被舍棄。
五、變量
變量概述:在程序執(zhí)行的過程中,在某個范圍內(nèi)其值可以發(fā)生改變的量
變量定義格式:數(shù)據(jù)類型 變量名 = 初始化值;
注:Java語言是強類型語言,對于每一種數(shù)據(jù)都定義了明確的具體數(shù)據(jù)類型,在內(nèi)存總分配了不同大小的內(nèi)存空間
變量按數(shù)據(jù)類型劃分:
注:引用類型中還有一種特殊的null類型。所謂引用數(shù)據(jù)類型就是對一個對象的引用,對象包括實例和數(shù)組兩種。實際上,引用類型變量就是一個指針,只是Java中沒有指針這個說法。
變量按被聲明的位置劃分:
局部變量:方法或語句塊內(nèi)部定義的變量成員變量:方法外部、類的內(nèi)部定義的變量
六、八種基本數(shù)據(jù)類型和類型轉(zhuǎn)換
1、計算機存儲數(shù)據(jù)的基本單位:
字節(jié)(Byte)是:計算機文件大小的基本計算單位。
1個字節(jié)(Byte) = 8個位(Bit)
Bit意為“位”或“比特”,是計算機運算的基礎(chǔ);二進制中的一位,是二進制最小信息單位。二進位可以用來表示一個簡單的正/負(fù)的判斷,有兩種狀態(tài)的開關(guān)(如電燈開關(guān))。
說明:
在內(nèi)存計算過程中,字節(jié)少的數(shù)據(jù)運算速度更快;在硬盤存儲中,字節(jié)少的數(shù)據(jù)類型也可充分存入更多的數(shù)據(jù)。
2、八種基本數(shù)據(jù)類型:
注:
(1)整數(shù)默認(rèn):int。聲明long型常量必須在數(shù)字后面加‘l'或‘L' ,如: long l1 = 88888888888L; //必須加l否則會出錯
(2)浮點型常量(小數(shù))默認(rèn):double。聲明一個float型常量,則需在數(shù)字后面加 f 或 F ,如:double d = 12345.6; //正確 float f = 12.3f; //必須加f否則會出錯
(3)Java 字符采用 Unicode 編碼,每個字符占兩個字節(jié),因而可用十六進制編碼形式表示。注:Unicode是全球語言統(tǒng)一編碼。Java語言中的字符char可以存儲一個中文漢字,因為java語言中的字符占用兩個字節(jié)。
(4)boolean 類型適于邏輯運算,一般用于程序流程控制。
boolean 類型數(shù)據(jù)只允許取值 true 或 false ,不可以 0 或非 0 的整數(shù)替代 true 和 false ,這點和C語言不同。
(5)byte、short在定義的時候,他們接收的其實是一個int類型的值。這個是自己做了一個數(shù)據(jù)檢測的,如果不再它們的范圍內(nèi),就報錯。
128:10000000
-128:10000000 (這里的1即是符號位,也是數(shù)值位)
使用變量注意事項:
作用域:變量定義在哪一級大括號中,哪個大括號的范圍就是這個變量的作用域。相同的作用域中不能定義兩個同名變量。初始化值:沒有初始化值不能直接使用在一行上建議只定義一個變量:可以定義多個,但是不建議
3、數(shù)據(jù)類型轉(zhuǎn)換:
注:boolean類型不能轉(zhuǎn)換為其他的數(shù)據(jù)類型
默認(rèn)轉(zhuǎn)換:(從小到大的轉(zhuǎn)換)
byte,short,char—int—long—float—double
byte,short,char相互之間補轉(zhuǎn)換,他們參與運算首先轉(zhuǎn)換為int類型
強制轉(zhuǎn)換:
目標(biāo)類型 變量名=(目標(biāo)類型)(被轉(zhuǎn)換的數(shù)據(jù));
總結(jié):那么,我們到底用那種轉(zhuǎn)換呢?
一般建議,最好不要隨意使用強制類型轉(zhuǎn)換,容易造成數(shù)據(jù)精度的損失。
(1)容量大的數(shù)據(jù)類型轉(zhuǎn)換為容量小的數(shù)據(jù)類型時,要加上強制轉(zhuǎn)換符,但可能造成精度降低或溢出;使用時要格外注意。
(2)有多種類型的數(shù)據(jù)混合運算時,系統(tǒng)首先自動的將所有數(shù)據(jù)轉(zhuǎn)換成容量最大的那一種數(shù)據(jù)類型,然后再進行計算。
面試題:
A:下面兩種方式有區(qū)別嗎?
float f1 = 12.345f;
float f2 = (float)12.345;
答案:有區(qū)別:f1其實是通過一個double類型轉(zhuǎn)換過來的;而f2本身就是一個float類型。
B:下面的程序有問題嗎,如果有,在哪里呢?
byte b1 = 3;
byte b2 = 4;
byte b3 = b1 + b2;
byte b4 = 3 + 4;
答案:byte b3 = b1 + b2;是有問題的。因為變量相加,會首先看類型問題,最終把結(jié)果賦值的也會考慮類型問題。
常量相加,先把結(jié)果計算出來,然后看是否在byte的范圍內(nèi),如果不是,才報錯。
C:下面的操作結(jié)果是什么呢?
byte b = (byte)130;
System.out.println(b);
答案:-126
D:字符參與運算:是查找ASCII里面的值
'a' 97
'A' 65
'0' 48
System.out.println('a');
System.out.println('a' + 1);
E:字符串參與運算:這里其實是字符串的拼接
System.out.println("hello"+'a'+1);
System.out.println('a'+1+"hello");
System.out.println("5+5="+5+5);
System.out.println(5+5+"=5+5");
注:這里的+不是加法運算,而是字符串連接符。
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
JAVA多線程處理for循環(huán)數(shù)據(jù)詳細(xì)講解
這篇文章主要給大家介紹了關(guān)于JAVA多線程處理for循環(huán)數(shù)據(jù)的相關(guān)資料,我們在代碼中經(jīng)常需要使用for循環(huán)這個操作來達到目的,而當(dāng)for循環(huán)的次數(shù)過多時我們會發(fā)現(xiàn)執(zhí)行效率會變的很低,整體耗時非常多,需要的朋友可以參考下2023-07-07Java異常處理運行時異常(RuntimeException)詳解及實例
這篇文章主要介紹了 Java異常處理運行時異常(RuntimeException)詳解及實例的相關(guān)資料,需要的朋友可以參考下http://time.qq.com/?pgv_ref=aiotime2017-05-05Spring整合websocket整合應(yīng)用示例(下)
這篇文章主要介紹了Spring整合websocket整合應(yīng)用示例(下)的相關(guān)資料,需要的朋友可以參考下2016-04-04PowerJob的CleanService清理服務(wù)流程
這篇文章主要為大家介紹了PowerJob的CleanService清理服務(wù)流程源碼解讀,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪<BR>2024-02-02