国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發(fā)設計 > 正文

[java學習筆記]java語言基礎概述之標識符&關鍵字&注釋&常量和變量

2019-11-14 15:32:50
字體:
供稿:網(wǎng)友

一.標識符

    • 在程序中自定義的一些名稱
    • 由26個英文字母的大小寫,數(shù)字,_$組成
    • 定義合法標識符的規(guī)則:
    1. 不能以數(shù)字開頭
    2. 不能使用關鍵字
    • java嚴格區(qū)分大小寫
    • 注意:在起名字時,為了提高閱讀性,必須得起得有意義。

二.關鍵字

被賦予了特殊java含義的單詞。

  • 關鍵字全都是小寫

捕獲

三.注釋

1.行注釋:使用 // 來注釋一行文字或代碼。

//這是行注釋的內(nèi)容

2.塊注釋: 塊前使用 /* ,塊后使用 */ 包裹住要注釋的塊內(nèi)容

/*這是塊注釋這是塊注釋*/

3.文檔注釋:文檔前使用 /** ,文檔后使用 */ 包裹文檔注釋的內(nèi)容。

/**這是文檔注釋*/

注釋的作用:

  • 注解說明程序
  • 調(diào)試程序

四.常量和變量

1.常量:

  • 常量表示不能改變的數(shù)值。代碼中直接出現(xiàn)的值。
  • java中常量的分類:
  1. 整數(shù)常量。所有整數(shù)
  2. 小數(shù)常量。所有小數(shù)
  3. 布爾常量,true或false
  4. 字符常量。將一個符號,數(shù)字或字母用單引號(’’)標識
  5. 字符串常量。將一個或多個數(shù)字,符號或字母用雙引號(””)標識
  6. null常量,只有一個值 即 null,表示空

2.變量:

    • 變量的概念:
    1. 內(nèi)容中的一個存儲區(qū)域
    2. 該區(qū)域有自己的名稱(變量名)和類型(數(shù)據(jù)類型)
    3. 該區(qū)域的數(shù)據(jù)可以在用一類型范圍內(nèi)不斷變化
    • 為什么要定義變量:

                      用來不斷的存放同一類型的常量,并可以重復利用

    • 使用變量應注意的問題:
    1. 變量的作用范圍(一對{}之間)
    2. 在使用變量前必須先初始化
    • 定義變量的格式:
    1. 數(shù)據(jù)類型  變量名 = 初始化值
    2. 注意:格式是固定的

 

java是強類型語言,對每一種數(shù)據(jù)都定義了明確的具體數(shù)據(jù)類型,在內(nèi)存中分配了不同大小的區(qū)域。

捕獲

整數(shù)默認:int  小數(shù)默認:double

取值范圍:

byte : -128~127   , 1個字節(jié)

short: -2^15~2^15-1 ,2個字節(jié)

int : -2^31~2^31-1  ,4個字節(jié)

long:-2^63~2^63-1  , 8個字節(jié)

float : 4個字節(jié)

double: 8個字節(jié)

char: 0~65535, 2個字節(jié)

 

變量的定義:

byte b = 3;short s = 4000;int x = 12;long l = 1234567890123l;//最后一個字符不是數(shù)字1,而是字母Lfloat f = 2.3f;double d = 2.3;char ch = 'a'; boolean bl = true;
 

3.類型提升和強制類型轉(zhuǎn)換

整數(shù)的類型提升和強制類型轉(zhuǎn)換:

類型提升,如:

int a = 12;byte b = 3;a = a + b;

運算過程:a+b時,由于a為4個字節(jié),b為1個字節(jié),在運算時,java會自動類型提升,并且以a為主,即把b轉(zhuǎn)換為4個字節(jié),前三個字節(jié)全為0,再進行相加,結(jié)果為4個字節(jié),最后把結(jié)果賦值給a。

強制類型轉(zhuǎn)換,如:

int a = 12;byte b = 3;b = (byte)(a + b);

運算過程:和上面一樣,a+b的結(jié)果為4個字節(jié),不能直接賦值給byte類型的b,需要進行強制類型轉(zhuǎn)換,將結(jié)果的第一個字節(jié)保留后賦值給byte類型的b。要對整數(shù)進行強制類型轉(zhuǎn)換,必須確保要轉(zhuǎn)換的值在byte范圍之內(nèi),否則后丟失數(shù)據(jù)。

注意:字符型數(shù)據(jù)和int類型數(shù)據(jù)運算時,取字符類型數(shù)據(jù)的Ascii碼再和這個int數(shù)據(jù)運算,結(jié)果為int數(shù)據(jù)。


左側(cè)擁抱到這里,我有了一個疑問:在定義和初始化byte類型數(shù)據(jù)時,byte b = 4; 4不是int類型數(shù)據(jù)嗎?怎么不用強制類型轉(zhuǎn)換,就可以把4賦值給byte類型的變量b。

原因:java在運行byte b = 4這句代碼時,編譯器會自動判斷4這個int型數(shù)據(jù)是否超過byte型數(shù)據(jù)所能表示的范圍(-128~127)之內(nèi),如果4這個數(shù)在這個范圍內(nèi),自動類型轉(zhuǎn)換為byte數(shù)據(jù),沒有丟失數(shù)據(jù);如果4這個數(shù)超出這個范圍,編譯就會報 可能丟失精度的錯誤。

面試題下面兩個代碼為什么出現(xiàn)不同的結(jié)果。

1.

byte b = 4;b = 3+7;System.out.PRintln(b);

2.

byte b = 4;byte b1 = 3;byte b2 = 7;b = b1 + b2;System.out.println(b);

結(jié)果:第一個代碼運行不會報錯,第二個會報b = b1 + b2 這句可能損失精度的錯誤。

原因分析:第一個代碼分析同上面疑問的原因,第二個,由于b1和b2是變量,編譯器不確定它們的值會不會超出byte表示數(shù)據(jù)的范圍。所以也就檢查不了。第一個為常量,可以判斷和檢查3+7的結(jié)果有沒有超出byte類型所表示的范圍。

聯(lián)想:以下代碼不會報錯:

int x ;int x1 = 100;int x2 = 98;x = x1 + x2;System.out.println(x);

原因:int是整數(shù)的默認類型。就算這個結(jié)果超出了int數(shù)據(jù)表示的范圍,底層也會進行強制類型轉(zhuǎn)換,不管是不是損失精度。


發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 九龙坡区| 台州市| 胶州市| 广饶县| 龙川县| 武定县| 仙桃市| 裕民县| 老河口市| 温宿县| 隆昌县| 江达县| 习水县| 兴安县| 济南市| 通化县| 安吉县| 蓬莱市| 巩留县| 旌德县| 临西县| 永福县| 吴堡县| 延寿县| 蒲江县| 根河市| 贵定县| 旅游| 怀远县| 兴仁县| 昔阳县| 高安市| 利川市| 仙居县| 亳州市| 长泰县| 衡水市| 加查县| 平顶山市| 大渡口区| 廊坊市|