stringjava初始化
A. java的string初始化為null,為什麼把null當成了字元串而不是空
沒懂您的意思,String默認值是nulll,"null"和null是 有區別的。"null"是一個字元串,就和"abc"一個意思。
也就是String,在Java里,它屬於包裝類型,默認值是null(如果你不賦值的情況下)
B. java中string類型變數的默認初始值是什麼
java中string類型變數的默認初始值是為null。
C. java中String類型一定需要初始化嗎
如果後面有
賦值語句
,那麼就不需要初始化,如果沒有賦值語句,需要初始化,測試代碼如下:
class
test
{
public
static
void
main(String[]
args)
{
String
s;
//System.out.println(s);
s="Hello";
System.out.println(s);
}
}
如果把注釋部分的注釋符號去掉,則會出現s未初始化的錯誤提示
D. java中為什麼字元串要初始化
字元串初始化,實際上是為了進行內存存儲和地址引用。
如:String str = new String("ABC");這個就是在內存中創建一個位孝扒置來存儲「ABC」,之後在通消慎團過地址引用,賦值給「str」,如果不初始化的話,就沒有進行存儲,也就無從談起引用。
備註:拿橘String str = 「ABC」;結果和之前的「String str = new String("ABC");」是一樣的,「ABC」創建過程實際上就是一個初始化過程,所以沒必要糾結在這塊,會用即可。不同的是每次new都創建一個存儲空間來存儲,而賦值(「ABC」)的形式,如果之前存在就直接引用,不存在才會創建。
E. JAVA里初始化是什麼意思
初始化就是給變數一個初始值。
例如:
聲明一個變數:String aa = "abc";int cc =0;其中abc和0就是初始化的值,最後值不一定是abc或者 0加入你覆蓋了aa的值如下:
aa = "def" ; cc=1;那最後aa變數的值就是def,cc變數就是1了,初始化的目的是為了讓變數有值,防止使用時出現異常。
(5)stringjava初始化擴展閱讀:
作用
1、遇到new,getstatic,putstatic,或invokestatic這4條位元組碼指令時,如果類沒有進行過初始化,則需要先觸發其初始化。生成這四條指令單最常見的Java代碼場景是:
使用new關鍵字實例化對象的時候,讀取或設置一個類的靜態欄位(被final修飾,已在變異期把結果放入常量池的靜態欄位除外)的時候,以及調用一個類的靜態方法的時候。
2、使用java.lang.reflect包的方法對類進行反射調用的時候,如果類沒有進行過初始化,則需要先出法其初始化。
3、當初始化一個類的時候,如果發現其父類還沒有進行初始化,則需要先出法其父類的初始化。
4、當虛擬機啟動時,用戶需要指定一個要執行的主類(包含main()方法的那個類),虛擬機會先初始化這個主類。
F. JAVA中一個類包含String數組怎麼初始化的
不可以滴!!
因為在B中,如果沒有了帶*的那一行,那麼僅僅只是代表 有存在一個存放A類型數組:as[i],但是裡面每個元素到底存放什麼我們是不知道的,在JAVA裡面,就是引用為空的意思,既as[i] = null。就是說裡面其實是沒有任何東西的,僅僅只有一個定義而已,那怎麼可以指向A類裡面的a屬性呢?因為as[i]指向的東西都為空,空就是代表沒有任何東西,那麼裡面自然也不會有a這個屬性咯。所以我們在聲明完數組的時候,必須把數組裡面的元素也申明了。但是為什麼C可以呢。
你看C是這樣做的:
C先聲明了一個數組,所以只要存在C的實例,就可以使用到這個數組。雖然這時候,數組裡面的元素是為空的,但是你在主程序裡面使用了c.s[1]="3",意思就是為c實例裡面的數組的第2個元素給申明了,而不是直接引用,這與B是不同的。
——————————————————————————————————————————————————————
B-->不為空,所以可以使用B裡面的元素,既as數組,但是as數組裡面的元素是空的,所以不存在裡面有某種屬性的說法,自然是不可是使用A類裡面的元素a咯。
C--》不為空,所以可以使用C裡面的元素s數組,然後對s數組進行操作。
祝你好運!!希望你能夠理解
G. Java局部變數初始化,String類型為什麼不用初始化就能使用
局部變數String需要初始化!
以下代碼:
public class Test {
public static void main(String[] args) {
String s;
System.out.println(s);
}
}
這個代碼直接報錯,無法編譯
你上面的代碼沒錯是因為你在while循環里對s進行了初始化
H. java String 初始化 是 null 還是 「」 他們的區別
你在創建的時候,沒有初始化時或賦值時,列印出的是null
因為String類型是一個對象,而不像int之類是基本類型有初始默認值
如果在初始時賦值「」(空值),那也算創建對象了(就是相當於new 操作)
列印出的為「」(空值)
I. java 如何定義字元串變數
一、使用 String 類定義:
在 Java 中每個雙引號定義的字元串都是一個 String 類的對象。因此,可以通過使用 String 類的構造方法來創建字元串,該類位於 java.lang 包中,作用域是 final。
String 類的構造方法有多種重載形式,每種形式都可以定義字元串。下面介紹最常用的幾種形式。
1、 String()
初始化一個新創建的 String 對象,表示一個空字元序列。
2、String(String original)
初始化一個新創建的 String 對象,使其表示一個與參數相同的字元序列。換句話說,新創建的字元串是該參數字元串的副本。
3、String(char[ ]value)
分配一個新的字元串,將參數中的字元數組元素全部變為字元串。該字元數組的內容已被復制,後續對字元數組的修改不會影響新創建的字元串。
4、String(char[] value,int offset,int count)
分配一個新的 String,它包含來自該字元數組參數一個子數組的字元。offset 參數是子數組第一個字元的索引,count 參數指定子數組的長度。該子數組的內容已被賦值,後續對字元數組的修改不會影響新創建的字元串。