一、關鍵字:
關鍵字:被Java語言賦予特定含義的單詞。組成關鍵字的字母全部小寫。注:goto和const作為保留字存在,目前并不使用。main并不是關鍵字。
二、標識符:
標識符:就是給類,接口,方法,變量等起名字時使用的字符序列。
組成規則:英文大小寫字母、數字字符、$和_
注意事項:不能以數字開頭、不能是Java中的關鍵字、區分大小寫
我們通常會給下面的這些東西起一個標識符:
包、類或者接口、方法和變量、常量
三、注釋:
單行注釋的格式: //注釋文字
多行注釋的格式: /* 注釋文字 */
文檔注釋的格式:/** 注釋文字 */
注:多行注釋不能嵌套使用,而單行是可以的。
文檔注釋:被javadoc工具解析成一個說明書,面向對象部分的知識中會用到。
四、常量、進制和進制轉換
常量:在程序執行的過程中其值不可以發生改變
Java中常量分類:
- 字面值常量
- 自定義常量(面向對象部分講)
1、常見常量:
字符串常量:用雙引號括起來的內容
整數常量、
小數常量、
字符常量:用單引號括起來的內容
布爾常量:較為特有,只有true和false
空常量:null(數組部分講解)
2、進制與轉換:
Java針對整數常量提供了4種表現形式:二進制、八進制、十進制、十六進制。
八進制的整數以0開頭,十六進制的整數以0x開頭。
注:現在的計算機系統很少用八進制的了。二進制表示法太冗長,所以在程序中一般喜歡用十六進制
二進制與八進制的轉換:
二進制與十六進制的轉換:
3、有符號數據表示法:
在計算機內,有符號數有3種表示法:原碼、反碼和補碼。所有數據的運算都是采用補碼進行的。
- 原碼:就是二進制定點表示法,即最高位為符號位,“0”表示正,“1”表示負,其余位表示數值的大小。
- 反碼:正數的反碼與其原碼相同;負數的反碼是對其原碼按照位取反,但符號位(最高位)不變。
- 補碼:正數的補碼與其原碼相同;負數的補碼是在其反碼的末位加1。
主要原因:使用補碼,可以將符號位和其它位統一處理;同時,減法也可按加法來處理。
另外,兩個用補碼表示的數相加時,如果最高位(符號位)有進位,則進位被舍棄。
五、變量:
變量概述:在程序執行的過程中,在某個范圍內其值可以發生改變的量
變量定義格式:數據類型 變量名 = 初始化值;
注:Java語言是強類型語言,對于每一種數據都定義了明確的具體數據類型,在內存總分配了不同大小的內存空間
變量按數據類型劃分:
注:引用類型中還有一種特殊的null類型。所謂引用數據類型就是對一個對象的引用,對象包括實例和數組兩種。實際上,引用類型變量就是一個指針,只是Java中沒有指針這個說法。
變量按被聲明的位置劃分:
- 局部變量:方法或語句塊內部定義的變量
- 成員變量:方法外部、類的內部定義的變量
六、八種基本數據類型和類型轉換:
1、計算機存儲數據的基本單位:
字節(Byte)是:計算機文件大小的基本計算單位。
1個字節(Byte) = 8個位(Bit)
Bit意為“位”或“比特”,是計算機運算的基礎;二進制中的一位,是二進制最小信息單位。二進位可以用來表示一個簡單的正/負的判斷,有兩種狀態的開關(如電燈開關)。
說明:
- 在內存計算過程中,字節少的數據運算速度更快;
- 在硬盤存儲中,字節少的數據類型也可充分存入更多的數據。
2、八種基本數據類型:
注:
(1)整數默認:int。聲明long型常量必須在數字后面加‘l’或‘L’ ,如: long l1 = 88888888888L; //必須加l否則會出錯
(2)浮點型常量(小數)默認:double。聲明一個float型常量,則需在數字后面加 f 或 F ,如:double d = 12345.6; //正確 float f = 12.3f; //必須加f否則會出錯
(3)Java 字符采用 Unicode 編碼,每個字符占兩個字節,因而可用十六進制編碼形式表示。注:Unicode是全球語言統一編碼。Java語言中的字符char可以存儲一個中文漢字,因為java語言中的字符占用兩個字節。
(4)boolean 類型適于邏輯運算,一般用于程序流程控制。
boolean 類型數據只允許取值 true 或 false ,不可以 0 或非 0 的整數替代 true 和 false ,這點和C語言不同。
(5)byte、short在定義的時候,他們接收的其實是一個int類型的值。這個是自己做了一個數據檢測的,如果不再它們的范圍內,就報錯。
128:10000000
-128:10000000 (這里的1即是符號位,也是數值位)
使用變量注意事項:
- 作用域:變量定義在哪一級大括號中,哪個大括號的范圍就是這個變量的作用域。相同的作用域中不能定義兩個同名變量。
- 初始化值:沒有初始化值不能直接使用
- 在一行上建議只定義一個變量:可以定義多個,但是不建議
3、數據類型轉換:
注:boolean類型不能轉換為其他的數據類型
- 默認轉換:(從小到大的轉換)
byte,short,char—int—long—float—double
byte,short,char相互之間補轉換,他們參與運算首先轉換為int類型
- 強制轉換:
目標類型 變量名=(目標類型)(被轉換的數據);
總結:那么,我們到底用那種轉換呢?
一般建議,最好不要隨意使用強制類型轉換,容易造成數據精度的損失。
(1)容量大的數據類型轉換為容量小的數據類型時,要加上強制轉換符,但可能造成精度降低或溢出;使用時要格外注意。
(2)有多種類型的數據混合運算時,系統首先自動的將所有數據轉換成容量最大的那一種數據類型,然后再進行計算。
面試題:
A:下面兩種方式有區別嗎?
float f1 = 12.345f;
float f2 = (float)12.345;
答案:有區別:f1其實是通過一個double類型轉換過來的;而f2本身就是一個float類型。
B:下面的程序有問題嗎,如果有,在哪里呢?
byte b1 = 3;
byte b2 = 4;
byte b3 = b1 + b2;
byte b4 = 3 + 4;
答案:byte b3 = b1 + b2;是有問題的。因為變量相加,會首先看類型問題,最終把結果賦值的也會考慮類型問題。
常量相加,先把結果計算出來,然后看是否在byte的范圍內,如果不是,才報錯。
C:下面的操作結果是什么呢?
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");
注:這里的+不是加法運算,而是字符串連接符。
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持服務器之家。
原文鏈接:http://www.cnblogs.com/smyhvae/p/4143348.html