導航:首頁 > 編程語言 > java定義char

java定義char

發布時間:2024-12-26 10:40:11

『壹』 java中定義一個char數組,有最大長度限制嗎

你好,在我的機器上沒有這個錯誤,我是這樣寫的 char[] chars = new char[30000];
java規定數組的長度只要整型就可以的,所以理論上最大長度是整型的最大值2147483647,超過這個值運行的時候就會拋java.lang.NegativeArraySizeException這個異常,就是超出了數組規定最大長度,所以30000是絕對沒問題的,不過我試過char[] chars = new char[2147483647];運行的時候會拋java.lang.OutOfMemoryError: Java heap space,也就是我設置分配給java的內存不夠大,
而你所說的code too large,這個應該跟數組沒關系的,應該其他代碼有問題的,你可以檢查一下看看,還是不行的話留個聯系方式,遠程給我看看什麼情況,或者把你寫的代碼貼出來看看

『貳』 java char的長度

char類型的是占兩個位元組;
一個位元組是8位(bit),所以也可以表示為16bit。版
可以通過以下方式權定義一個char類型:
char c = 'a'; 實際佔一個位元組。
char d = '高';實際占兩個位元組。
擴展:計算一個字元串的位元組長度。
如:」我是gdb「占的位元組數就是2+2+1+1+1 =7個位元組。

『叄』 java中,能用char[]定義字元串數組嗎如果可以,怎麼定義它,怎麼輸出它

不能,java中string[]定義字來符串

『肆』 在JAVA中當定義char c='a',String s="abc"時,分別在內存中佔多少位元組

Java中無論是漢字還是英文字母都是用Unicode編碼來表示的,一個Unicode碼是16位,每位元組是8位,所以一個Unicode碼占兩位元組。但是英文字母比較特殊,源自於8位(1位元組)的ASCII嗎,於是在Unicode碼僅使用了低8位(1位元組)就可以表示,高8位的話不使用也無所謂。所以

char c='a';
System.out.println(c.getBytes().lenth()),得到的是1(位元組)

但漢字就完整地使用了16位(2位元組)的Unicode,所以
char c='中';
System.out.println(c.getBytes().lenth()),得到的是2(位元組)

綜上,c='a'在內存中確實只佔1位元組,但這不意味著String s="abc"在內存中只佔3位元組。應該這么說,String s="abc"至少在內存中佔3位元組。這是因為char是基本數據類型,而String確是對象類型。對象是一種很復雜的數據類型,你要看一個對象具體佔多少位元組,可以把這個對象序列化後存入一個文本文件來看它具體佔用了多少位元組,當然這也不是精確的,因為序列化需要寫入少量系統信息,但大致是對的。

閱讀全文

與java定義char相關的資料

熱點內容
qq有種紅包y上兩點 瀏覽:798
沒學歷的怎麼學編程 瀏覽:906
無線橋接網路不穩定如何解決 瀏覽:284
孩子要學編程怎麼辦 瀏覽:635
matlab調用c程序心得 瀏覽:921
史記台灣版本 瀏覽:397
iphone文件可以存到u盤嗎 瀏覽:327
肖戰家中直播用的什麼app 瀏覽:2
spring下載文件名亂碼 瀏覽:575
有哪些下載大學課件的網站 瀏覽:615
linux怎樣刪除非空文件 瀏覽:628
網路電台如何實時播放 瀏覽:660
職業技術學院學編程怎麼樣 瀏覽:569
按鍵精靈哪個版本好用 瀏覽:896
引用另一張表格數據如何保存 瀏覽:232
微信存儲文件太大怎麼轉移 瀏覽:343
sql2008伺服器資料庫備份 瀏覽:264
樂享群是什麼網站 瀏覽:255
二手蘋果皮 瀏覽:599
藍牙可以連接網路連接不了怎麼辦 瀏覽:789

友情鏈接