課程
/后端開發
/Java
/Java入門第三季
String str =“學習 JAVA 編程 ”這個字符串的長度為什么是10啊, 而且‘編’這個字為什么在第8個字符位置上 ?求問
2017-03-09
源自:Java入門第三季 2-3
正在回答
這里是按Unicode計算字符串長度,而不是以字節單位獲得字符串的長度,所以漢字的長度是1,不是2,加上兩個空格長度就是10,另外字符串中字符的索引是從0開始的,所以str.indexOf(編)=8,表示的是在第9個字符位置上。
qq_周_16 提問者
xiaoxin3839519 回復 qq_周_16 提問者
你是不是java前有空格。。。
java中string的length()取出來的是字符長度而不是字節長度中文一個字符是占兩個字節的一個英文字母占一個字節所以如果?有字符串tmpString?=?"中國acb"則tempString.length()的結果是5
這里有一篇文章
http://bbs.csdn.net/topics/60386039
根據這個輸出,我認為編譯器對漢字和空格,英文都看做是一個字符
舉報
Java中你必須懂得常用技能,不容錯過的精彩,快來加入吧
3 回答字符串長度問題
2 回答關于字符串與數組長度的問題
4 回答字符串長度怎么算的
2 回答長度10以內的10個不同長度的字符串
1 回答關于字符串的插入問題
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號-11 京公網安備11010802030151號
購課補貼聯系客服咨詢優惠詳情
慕課網APP您的移動學習伙伴
掃描二維碼關注慕課網微信公眾號
2017-03-09
這里是按Unicode計算字符串長度,而不是以字節單位獲得字符串的長度,所以漢字的長度是1,不是2,加上兩個空格長度就是10,另外字符串中字符的索引是從0開始的,所以str.indexOf(編)=8,表示的是在第9個字符位置上。
2017-03-09
你是不是java前有空格。。。
2017-03-09
java中string的length()取出來的是字符長度而不是字節長度
中文一個字符是占兩個字節的一個英文字母占一個字節
所以如果?有字符串tmpString?=?"中國acb"
則tempString.length()的結果是5
這里有一篇文章
http://bbs.csdn.net/topics/60386039
2017-03-09
根據這個輸出,我認為編譯器對漢字和空格,英文都看做是一個字符