1. 程式人生 > >Java字面量(Java直接量)和符號引用

Java字面量(Java直接量)和符號引用

1、Java字面量(Java直接量)

int i = 1;把整數1賦值給int型變數i,整數1就是Java字面量,
同樣,String s = "abc";中的abc也是字面量。

資料型別

直接量描述

舉例

int

整數直接量(可用二、十、八、十六進位制表示)

12

-12

+12

0b12

012

0x12

long

在整數直接量(也就是int型)後面,加上字母l或L

12l

-12L

float

在數字(包括整數和小數)後面,加上字母f或F

3f

-3.14F

3.14e5F

-3.14E-5f

.5f

double

1.浮點數直接量

2.科學計數法直接量

3.在數字(包括整數和小數)後面加上字母d或D

3d

3.14e-5

-.5

boolean

布林直接量true、false

true

false

char

1.單引號內的單個字元

2.單引號內的轉義字元

‘a’

‘中’

‘\n’

‘\u0000’

String

雙引號內的字元序列

“abc”

“中國”

null

引用型別的空指向

null

舉例:

?
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 int i1 = 123// 十進位制123 int i2 = +0b101; // 二進位制101 int i3 = -0123// 八進位制123 int i4 = 0xA9E3F// 十六進位制A9E3F long l1 = 123456789l; long l2 = 0b101L; long l3 = +0123L; long l4 = -0xA9E3FL; float f1 = 3.14f; float f2 = -3e-5f; float f3 = +.5F; // float型數 正0.5 double d1 = 3.0; double d2 = +314e-2; double
 d3 = -.5// double型數 負0.5 boolean b = true; char c1 = 'a'; char c2 = '中'; char c3 = '\\'// 轉義字元,最終的字元是反斜槓 char c4 = '\123'// \+三位八進位制數 char c5 = '\u000f'// Unicode 000f String s1 = "abc"; String s2 = "中國"; String s3 = "\n\r"// 轉義字串,最終的字串是換行回車 Object o = null; String s = null// 因為String是引用型別,所以可以賦null

錯誤的字面量

  1. 比int的最大值還要大1的直接量2147483648是錯誤的,因為超過int表示的範圍,應該使用2147483648L表示。

  2. 比long的最大值大1的直接量9223372036854775808L是錯誤的,因為超過long表示的範圍,應該使用 BigInteger類來表示:BigInteger b = new BigInteger("9223372036854775808");

  3. 下面四個字面量是錯誤的: 
             一個單引號:''' 
             一個反斜槓:'\' 
            帶有"引號的字串:"abc"xyz" 
            帶有\反斜槓的字串:"abc\xyz" 
    正確的寫法是轉義: 
            '\'' 
            '\\' 
            "abc\"xyz"
            "abc\\xyz"

說明

  1. 整數直接量的四種表示:十進位制、二進位制(JDK7支援)、八進位制、十六進位制。
      八進位制:以數字0開頭的整數,如012,表示十進位制的10;
      十六進位制:以數字0和字母X(或x)組合開頭的整數,如0x12,表示十進位制的18。
      二進位制:以數字0和字母B(或b)組合開頭的整數,如0b11,表示十進位制的3;

  2. Java中,數字前多餘的0,會自動去掉。如00.1表示0.1,0012表示八進位制012。

  3. Java中,小數可省略0.部分或.0部分,如.3表示0.3,3.表示3.0。

  4. 對於數字直接量,需要根據直接量型別以及各型別的取值範圍來規範賦值,不能將高取值範圍的直接量賦值給低取值範圍的型別,如:

    ?
    1 2 3 4 float f1 = 3.14// 錯誤,3.14是double型,float型取值範圍小於double float f2 = 3.14f; // 正確

    相關推薦

    Java字面Java直接符號引用

    1、Java字面量(Java直接量) int i = 1;把整數1賦值給int型變數i,整數1就是Java字面量, 同樣,String s = "abc";中的abc也是字面量。 資料型別 直接量描述 舉例 int 整數直接量(可用二、十、八

    Java 局部變、實例變、類變靜態變區別

    其中 對象 llc -c cli num 改變 system name 1. 局部變量: 局部變量是類的方法中的變量; 2. 實例變量: 實例變量也是類中獨立於方法之外的變量,不過沒有static修飾,也叫 對象變量 3. 類變量(靜態變量): 類變量是類中獨立於方法之外的

    轉: 【Java並發編程】之二十:並發新特性—Lock鎖條件變含代碼

    ets exc n) 否則 max 長時間 info trace space 簡單使用Lock鎖 Java 5中引入了新的鎖機制——Java.util.concurrent.locks中的顯式的互斥鎖:Lock接口,它提供了比synchronized更加廣泛的鎖

    隨筆⑨ java中的變 --- 類變靜態變,final變,成員變,局部變

    stat 很大的 public color 靜態 不同 nbsp 綜合 加載 java中的變量 --- 類變量(靜態變量),final變量,成員變量,局部變量 ① 類變量(也叫靜態變量)是類中獨立於方法之外的變量,用static 修飾,靜態變量隨著類的加載而加載。 ② f

    ProjectLombok外掛----減少 Java 應用程式中樣板程式碼get、set.....

    Lombok是一個外掛,用於自動生成java程式碼,減少 Java 應用程式中樣板程式碼量 Lombok外掛的安裝(必須安裝,如果不安裝Eclipse等工具無法解析Lombok註解)          安裝方法:                 1、雙擊下載下來的J

    同步工具類三:計數訊號java.util.concurrent.Semaphore

    計數訊號量用來控制同時訪問某個特定資源的運算元或同時執行某個指定操作的數量 A counting semaphore.Conceptually, a semaphore maintains a set of permits. Each acquire blocks if n

    Java學習筆記第一次課

    stdio.h println 標準 ant 方法參數 ann 控制 大小寫 protect 1.簡單的Java語言模板 package inclass1_1; import java.io.*;//導入包(相當於c語言的#include<stdio.h>)

    Java操作Redis代碼演示

    exce xxx mem log 來看 != 技術分享 org ons redis-demo演示 一、創建一個maven工程 1、在pom.xml中引入相關redis的相關依賴 1 <project xmlns="http://maven.apache.org/P

    Java語言基礎回頭復習

    double類型 最終 blog 默認 不能 ole byte 出錯 技術 /* 使用變量的時候要註意的問題: A:作用域 變量定義在哪個大括號內,它就在這個大括號內有效。 並且,在同一個大

    Shell特殊位置變$0,$1$2,$*,$#,$$,$?,$@,${}

    shell$0 文件名及路徑$1,$2 參數1,參數2$# 傳遞給腳本或函數的參數個數$$ 當前Shell進程ID$? 判斷上個命令的執行成功與否,0為成功。$@ 傳遞腳本或函數的所有參數$* 傳遞腳本或函數的所有參數${}註:$@和$*都是傳遞腳本或函數的所有參數。

    Java學習筆記trim()與substring()

    tro 字符串 n) substr java bsp log 執行 spa 了解到這兩個函數是因為在做OJ的題目時遇到了這樣的情況: 標註輸入為:4 abc 兩種數據用空格分隔開,但找不到只讀一個字符的方法(吃掉中間的空格) trim(): 去掉字符串首尾的空格 St

    java隨筆一關於定時任務

    implement adt dex run pre println time cut blog public class ThreadTest { class MyTask implements Runnable{ public void ru

    java小程序課堂作業03

    java ont public 實現 int get 初始 小程序 util 使用類的靜態字段和構造函數,我們可以跟蹤某個類所創建對象的個數。請寫一個類,在任何時候都可以向它查詢“你已經創建了多少個對象?”。 思路:因為靜態初始化塊只運行一次,是一個很好的記錄次數的方法,定

    Java學習筆記二十一:類型轉換instanceof關鍵字

    方法 png true feed out 實例 strong 運算符 nbsp 基本數據類型轉換: 自動類型轉換:把大類型的數據賦值給大類型的變量(此時的大小指的是容量的範圍) 1 byte b = 12; //byte是一個字節 2 int i = b; //i

    Java學習筆記二十二:打包程序

    lean 技術 打包成 skip 運行 ava div com bsp 加入一個程序測試完畢,我們就可以將它打包,就可以放到服務器上運行了 找到左下角的終端 點擊 輸入命令: mvnw clean package -DskipTests=true clean:清除以

    java快排兩種方法

    span ast [] ati pub 方法 color 整體 blog 快排是最基礎的排序算法之一,今天來回顧一下。 public class QuickSort { public static void quickSort(int[] ar

    Java——Link接口ArrayList,LinkListSet接口HashSet

    ott 機制 demo 不同的 inside 對象的比較 註意 enter bound List接口 List接口是Collection接口的子接口,List接口中的抽象方法,有一部分方法和他的父接口Collection是一樣,List接口的自己特有的方法, 帶有索引的功能

    BAT美團滴滴java面試大綱帶答案版之四:多線程Lock

    代碼 res zed 線程數 最好 就是 視頻教程 復制 new 每天學習一點點 編程PDF電子書、視頻教程免費下載:http://www.shitanlife.com/code 這是多線程的第二篇。   多線程就像武學中對的吸星大法,理解透了用好了可以得道

    Java學習總結二十四——前端:CSS樣式設計CSS引入,選擇器,盒子模型,浮動元素

    引入 itl AI dropdown 正常的 type ID 總結 網頁 一.CSS引入方式1.CSS簡介:(1)CSS(Cascading style Sheets):層疊樣式表。用來給html網頁設置樣式;(2)當多個選擇器對同一個元素進行樣式設計時,則該元素的樣式為多

    Java學習總計二十六——JavaScript正則表達式,Js表單驗證,原生js+css頁面時鐘

    text 先來 helloword 郵箱 用戶名 就是 lac round 外部 一.JavaScript正則表達式1.exec檢索字符串中指定的值,返回找到的值,並確定其位置2.test檢索字符串中指定的值,返回true或false3.正則表達式對象的創建:(1)方式一: