亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

請問 int indexOf(int ch) 中為什么ch是 字符 參數卻是int類型呢

請問 int indexOf(int ch) 中為什么ch是 字符 參數卻是int類型呢

正在回答

8 回答

上面寫錯了,暫時找不到地方撤回,下面貼上搜來的答案:

這不該有疑問的,因為在Java當中char類型是可以給int類型賦值的,是可以相互賦值的
首先int類型32個位(1個符號位+31個數值位) char類型16個位(16個數值位)
char data = 97;這樣的賦值是沒有錯誤的 這是用ascii編碼來給char賦值
樓主問題是從char到int的自動提升 在Java當中?一個較小數據類型是直接可以賦值給大數據類型的而且在參數傳遞的時候同理,你可以寫這樣一行代碼:
int data = 'a'; //或者:
char c = 'e';
int i = c;//這樣的賦值也沒有錯誤
所以Java當中在參數匹配的時候是可以用char類型參數匹配int類型參數的定義的
s1.indexOf('e')等價于s1.indexOf(101) 在這里用e的ASCII編碼來匹配int類型參數

另外,當你把一個方法定義成double類型參數的時候 byte short char int long float 類型的變量都可以匹配這個方法的參數,你可以試試看....Java基礎問題...

1 回復 有任何疑惑可以回復我~

String a ?= "love";

a.indexOf('v');????// indexOf(char ch)????返回值:3

a.indexOf(3);???? // indexOf(int ch)????返回值:v

0 回復 有任何疑惑可以回復我~

ch就是個形參變量名,它具體是什么類型的看前面的修飾符

換句話說我如果開心,我都可以這么定義

String ch;

double ch;

float ch;

.......

0 回復 有任何疑惑可以回復我~

你這個是不完全的吧?是不是方法里面的:int indexOf(int ch){};這個ch是一個名字不是字符類型即一個叫ch的整型數字。

0 回復 有任何疑惑可以回復我~

int 是強制類型轉換

0 回復 有任何疑惑可以回復我~

這只是取了個名字而已。

0 回復 有任何疑惑可以回復我~

ch只是整型變量名,比如int a=1

0 回復 有任何疑惑可以回復我~

意思就好比 你 ?int abc=3;這個時候abc只是個變量名吧。?

0 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消

請問 int indexOf(int ch) 中為什么ch是 字符 參數卻是int類型呢

我要回答 關注問題
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號