java字面量
❶ java中變數為byte類型
b是byte類型,3是字面量,JAVA中字面量默認為INT類型,並且有一點很重要:INT ,CHAR ,BYTE ,這三個類型的變數,任選兩個類型變數或同類型兩個變數相加,結果都為INT 類型的量
b+3結果為int類型變數,將它賦值給byte類型的b,所以報錯Type diamatch:cannot convert from
int to byte。
❷ java中byte b=10;byte b1=~b;編譯錯誤原因。byte b 2=~10;是正
java中byte在內存中實際上是用int運算的。b取反後,會自動變成int類型。加法、減法,都一樣,byte會自動變成int類型。所以會報錯。
而~10可以,這是java字面量編譯原則,會先將~10計算出來。在賦值給byte,所以不會有問題。
❸ java 如何緩存幾十M的字元串
java的字元串字面量的長度是有限制的,6萬多個字元。
幾十M的就需要你切割用+拼接了,或者使用文件輸入流讀到內存中
❹ JAVA中字面量是什麼意思
字面量是指雙引號引住的一系列字元,雙引號中可以沒有字元,可以只有一個字元,也可以有很多個字元。
❺ 我是一個java初學者,分不清字元串與字面量的區別
這個問題其實牽扯就有點多了
在java里,除了int,long等基本類型外
其餘都是類,包括String,所以String是個類,他是個封裝了操作字元串的方法的類
比如String
s=new
String("a
string")
"a
string"是個字元串對象
s也是個字元串對象,使用String類的構造器方法構造的一個字元串實例(對象)
字元串在java中就是一個對象
一般來說,String都是指String這個類(首字母大寫),string指的是字元串年
說的不清楚,建議去看看thinking
in
java,我想你應該是學過其他語言的,所以這本書應該比較適合你肯,裡面講面向對象思想講的很好
❻ JAVA中的直接量,宏替換,常量池,宏常量,常量
-- 直接量,在js中有這個概念,java中沒聽說過
直接量也稱為字面量,是JavaScript中一種對象的表示(或者說創建)方式,它可以通過直接給變數賦上JavaScript中原生對象值的方式從而轉換為一個相應的對象。
對象直接量提供了一種創建並初始化新對象的簡單而直接的方式。
var circle={x:0, y:0, radius:2,speed:function(){alert('ok')}}
說白了==>Javascript里直接量即對象的json表示法
供參考By monical
-- 宏替換 c/cpp裡面的概念,不明
-- 常量池,java里指的是jvm的常量池,下面是原文:
For each type it loads, a Java Virtual Machine must store a constant pool. A constant pool is an ordered set of constants used by the type, including literals (string, integer, and floating point constants) and symbolic references to types, fields, and methods. Entries in the constant pool are referenced by index, much like the elements of an array. Because it holds symbolic references to all types, fields, and methods used by a type, the constant pool plays a central role in the dynamic linking of Java programs.
大概是講常量池保存了各個類型的引用,對java這種動態語言很重要.
--宏常量 c/cpp裡面的概念,不明
-- 常量,所有編程語言都有,java的常量就是給定的量,死的.比如int i= 1;i就是常量,不同的常量存儲的區域不大一樣.
分static變數,final變數,全局變數,局部變數等.
❼ 解釋字面量,常量和變數之間的區別
區別:
1,在計算機科學中,字面量(literal)是用於表達源代碼中一個固定值的表示法(notation)。幾乎所有計算機編程語言都具有對基本值的字面量表示,諸如:整數、浮點數以及字元串;而有很多也對布爾類型和字元類型的值也支持字面量表示;還有一些甚至對枚舉類型的元素以及像數組、記錄和對象等復合類型的值也支持字面量表示法。
2,「常量」在程序運行時,不會被修改的量。換言之,常量雖然是為了硬體、軟體、編程語言服務,但是它並不是因為硬體、軟體、編程語言而引入。
常量區分為不同的類型,如25、0、-8為整形常量,6.8、-7.89為實型常量,『a』『b』為字元常量。常量一般從其字面形式即可判斷。這種常量稱為字面常量或直接常量。
3,變數來源於數學,是計算機語言中能儲存計算結果或能表示值抽象概念。變數可以通過變數名訪問。在指令式語言中,變數通常是可變的;但在純函數式語言(如
Haskell)中,變數可能是不可變(immutable)的。在一些語言中,變數可能被明確為是能表示可變狀態、具有存儲空間的抽象(如在Java和
Visual Basic中);但另外一些語言可能使用其它概念(如C的對象)來指稱這種抽象,而不嚴格地定義「變數」的准確外延。
❽ Java的String用法
java中String類型的字面量(即「java」這個字元串)是存放在內存中的靜態存儲區,當程序執行到String a = "java";該區域里就會生成一個字元串字面量「java」,執行String b = "java";時,java對字元串的創建過程進行了優化,會先去該區域里尋找字面量為「java」的字元串,如果找到了,就把該字元串的引用指向到b,如果找不到就創建新的字元串「java」,所以a和b共用一個。加號(+)是字元串的一個連接方法,可以理解為String類的concat方法,String c = x +y;和String c = x.concat(y);效果是一樣的,變數c接受的是concat方法的返回值,是內存中「ja」和「va」連接後的對象,與前面的過程不是一碼事!如果還不理解,可以再問我!
❾ Java中,這些字元串什麼時候進入常量池的
Java中字元串對象創建有兩種形式,一種為字面量形式,如String str = "droid";,另一種就是使用new這種標準的構造對象的方法,如String str = new String("droid");,這兩種方式我們在代碼編寫時都經常使用,尤其是字面量的方式。然而這兩種實現其實存在著一些性能和內存佔用的差別。這一切都是源於JVM為了減少字元串對象的重復創建,其維護了一個特殊的內存,這段內存被成為字元串常量池或者字元串字面量池。