字元串的長度java
1. java中如何獲取數組長度和字元串長度的代碼
public class Test {
public static void main(Sring[] args) {
int[] ary = {1,3,5,7,8} ; //數組中裝了5個元素
String str = "helloword!"; //字元串底層是字元數組,字元個數就是字元串的長度
int a = ary.length; /輪談/數組有個屬性為該數組的長度
int s = str.length(); //字元串類String有個length()方法,取得當前字元串的臘帆碰長度
System.out.println(a);
System.out.println(s); //將兩個轎橡長度列印出來
}
}
2. Java中String接受的最大字元串的長度是多少
數組最大的長度為Integer.MAX_VALUE
1.不過,我們在編寫源代碼的時候,如果使用
Sting
str
=
"aaaa";的形式定義一個字元串,那麼雙引號裡面的ASCII字元最多隻能有
65534
個。
2.因為在class文件的規范中,
CONSTANT_Utf8_info表中使用一個16位的無符號整數來記錄字元串的長度的,最多能表示
65536個位元組,而java
class
文件是使用一種變體UTF-8格式來存放字元的,null值使用兩個位元組來表示,因此只剩下
65536-
2
=
65534個位元組。
3.也正是變體UTF-8的原因,如果字元串中含有中文等非ASCII字元,那麼雙引號中字元的數量會更少(一個中文字元佔用三個位元組)。如果超出這個數量,在編譯的時候編譯器會報錯。
3. java中字元串長度的方法是什麼,返回值是什麼類型
可以通過」length「方法來獲取字元串長度,返回值類型是number類型(整形),舉例:
String str = "aaaaaabaaaabaaa";//定義一個字元串
int length = str.length();//獲取到長度值
System.out.print(length);//輸出長度結果
輸出結果:15.
備註:通常字元串類型的都是length,如果是對象的話,如List,長度獲取用size。
4. java字元串長度怎麼算
通過string自帶的length()方法獲取字元串長度。
string a="abcdefg";//定義一個字元串
int len = a.length();//通過length獲取字元串長度,這里等於7
length()該方法返回此字元串的長度。長度是等於unicode代碼單元中的字元串的數目。
5. java字元串最大長度
1.String內部是以char數組的形式存儲,數組的長度是int類型,那麼String允許的最大長度就是Integer.MAX_VALUE了,2147483647;
又由於java中的字元是以16位存儲的,因此大概需要4GB的內存才能存儲最大長度的字元串。所以,發送xml批量的需要在oracle資料庫中用clob類型,而在java 端可以用String;
2. ResultSet rs = st.executeQuery("select CLOBATTR from TESTCLOB where ID=1");
if (rs.next())
{
java.sql.Clob clob = rs.getClob("CLOBATTR");
inStream = clob.getCharacterStream();
char[] c = new char[(int) clob.length()];
inStream.read(c);
//data是讀出並需要返回的數據,類型是String
data = new String(c);
inStream.close();
}
inStream.close();
con.commit();
6. 簡單的JAVA字元串長度計算的實現
簡單實現代碼如下:
public
class
stringlength
{
/**
*
獲取字元串的長度,如果有中文,則每個中文字元計為2位
*
@param
value
指定的字元串
*
@return
字元串的長度
*/
public
static
int
length(string
value)
{
int
valuelength
=
0;
string
chinese
=
"[\u0391-\uffe5]";
/*
獲取欄位值的長度,如果含中文字元,則每個中文字元長度為2,否則為1
*/
for
(int
i
=
0;
i
<
value.length();
i++)
{
/*
獲取一個字元
*/
string
temp
=
value.substring(i,
i
+
1);
/*
判斷是否為中文字元
*/
if
(temp.matches(chinese))
{
/*
中文字元長度為2
*/
valuelength
+=
2;
}
else
{
/*
其他字元長度為1
*/
valuelength
+=
1;
}
}
return
valuelength;
}
public
static
void
main(string
args[]){
string
str
=
"hello你好";
system.out.println(stringlength.length(str));
}
}
7. Java中String類型有沒有長度的限制
嚴格來說,String確實有長度限制。
1、String內部使用一個char[]數組來存放字元串的內容,數組下標是整型(也可以參考String的構造方法String(char value[], int offset, int count) ,可以知道字元數量是用整型表示),整型(Java規定32位)表示範圍是2G,也就是說,Java數組最大的長度是2G,即字元串不能超過2G個字元。
2、Java的數組大小還有沒有別的限制?事實上數組大小不能超過Java堆的大小,而Java堆的最大尺寸可以通過啟動參數指定,如果Java堆開得足夠大,數組的最大長度是可以不斷增大的。
3、所以,理論上,字元串不能超過2G個字元,少於2G個字元都有可能。
8. Java編程,求字元串的長度
- 首先打開my eclipse
新建一個java項目,名字隨意起
名字起好後,點擊完成
右鍵點擊項目名稱,新建,類
類的名字叫TextLength
包的名字叫 com.zf.s2,點擊完成 - 判斷是否是漢字
int chineseCount=0;
if(!"".equals("")){//判斷是否為空
s=new String(s.getBytes(),"GBK"); //進行統一編碼
}
for(int i=0;i<s.length();i++){//for循環
c=s.charAt(i); //獲得字元串中的每個字元
if(isChineseChar(c)){//調用方法進行判斷是否是漢字
chineseCount++; //等同於chineseCount=chineseCount+1
}
}
return chineseCount; //返回漢字個數
}
獲得字母、數字、空格的個數
public static String getStringInfo(String s){
char ch;
int character=0,blank=0,number=0;
for(int i=0;i <s.length();i++) //for循環
{
ch=s.charAt(i);
if((ch>='a'&&ch <='z')||(ch>='A'&&ch <='Z'))//統計字母
character++; //等同於character=character+1
else if(ch==' ') //統計空格
blank++; //等同於blank=blank+1
else if(ch>='0'&& ch <='9') //統計數字
number++; //等同於number=number+1;
}
完整代碼
package com.zf.s2;//創建一個包
public class TextLength {//描述字元串長度的類
public static boolean isChineseChar(char c) throws Exception{//判斷是否是一個漢字
return String.valueOf(c).getBytes("GBK").length>1;//漢字的位元組數大於1
}
public static int getChineseCount(String s) throws Exception{//獲得漢字的長度
char c;
int chineseCount=0;
if(!"".equals("")){//判斷是否為空
s=new String(s.getBytes(),"GBK"); //進行統一編碼
}
for(int i=0;i<s.length();i++){//for循環
c=s.charAt(i); //獲得字元串中的每個字元
if(isChineseChar(c)){//調用方法進行判斷是否是漢字
chineseCount++; //等同於chineseCount=chineseCount+1
}
}
return chineseCount; //返回漢字個數
}
public static String getStringInfo(String s){//獲得字母、數字、空格的個數
char ch;
int character=0,blank=0,number=0;
for(int i=0;i <s.length();i++) //for循環
{
ch=s.charAt(i);
if((ch>='a'&&ch <='z')||(ch>='A'&&ch <='Z'))//統計字母
character++; //等同於character=character+1
else if(ch==' ') //統計空格
blank++; //等同於blank=blank+1
else if(ch>='0'&& ch <='9') //統計數字
number++; //等同於number=number+1;
}
return "字元串中共有"+character+"個字母,"+blank+"個空格,"+number+"個數字";
}
public static void main(String []args) throws Exception {//java程序的主入口方法
String s="hello world 世界你好!!123*";
System.out.println("字元串的總長度:"+s.length());//顯示字元串長度
System.out.println("字元串中漢字長度:"+getChineseCount(s)); //調用方法顯示漢字長度
System.out.println(getStringInfo(s)); //調用方法顯示其它字母類型的長度
}
}