這不該有疑問(wèn)的,因?yàn)樵贘ava當(dāng)中char類型是可以給int類型賦值的,是可以相互賦值的 首先int類型32個(gè)位(1個(gè)符號(hào)位+31個(gè)數(shù)值位) char類型16個(gè)位(16個(gè)數(shù)值位) char data = 97;這樣的賦值是沒(méi)有錯(cuò)誤的 這是用ascii編碼來(lái)給char賦值 樓主問(wèn)題是從char到int的自動(dòng)提升 在Java當(dāng)中?一個(gè)較小數(shù)據(jù)類型是直接可以賦值給大數(shù)據(jù)類型的而且在參數(shù)傳遞的時(shí)候同理,你可以寫(xiě)這樣一行代碼: int data = 'a'; //或者: char c = 'e'; int i = c;//這樣的賦值也沒(méi)有錯(cuò)誤 所以Java當(dāng)中在參數(shù)匹配的時(shí)候是可以用char類型參數(shù)匹配int類型參數(shù)的定義的 s1.indexOf('e')等價(jià)于s1.indexOf(101) 在這里用e的ASCII編碼來(lái)匹配int類型參數(shù)
另外,當(dāng)你把一個(gè)方法定義成double類型參數(shù)的時(shí)候 byte short char int long float 類型的變量都可以匹配這個(gè)方法的參數(shù),你可以試試看....Java基礎(chǔ)問(wèn)題...
2017-09-24
上面寫(xiě)錯(cuò)了,暫時(shí)找不到地方撤回,下面貼上搜來(lái)的答案:
這不該有疑問(wèn)的,因?yàn)樵贘ava當(dāng)中char類型是可以給int類型賦值的,是可以相互賦值的
首先int類型32個(gè)位(1個(gè)符號(hào)位+31個(gè)數(shù)值位) char類型16個(gè)位(16個(gè)數(shù)值位)
char data = 97;這樣的賦值是沒(méi)有錯(cuò)誤的 這是用ascii編碼來(lái)給char賦值
樓主問(wèn)題是從char到int的自動(dòng)提升 在Java當(dāng)中?一個(gè)較小數(shù)據(jù)類型是直接可以賦值給大數(shù)據(jù)類型的而且在參數(shù)傳遞的時(shí)候同理,你可以寫(xiě)這樣一行代碼:
int data = 'a'; //或者:
char c = 'e';
int i = c;//這樣的賦值也沒(méi)有錯(cuò)誤
所以Java當(dāng)中在參數(shù)匹配的時(shí)候是可以用char類型參數(shù)匹配int類型參數(shù)的定義的
s1.indexOf('e')等價(jià)于s1.indexOf(101) 在這里用e的ASCII編碼來(lái)匹配int類型參數(shù)
另外,當(dāng)你把一個(gè)方法定義成double類型參數(shù)的時(shí)候 byte short char int long float 類型的變量都可以匹配這個(gè)方法的參數(shù),你可以試試看....Java基礎(chǔ)問(wèn)題...
2017-09-24
String a ?= "love";
a.indexOf('v');????// indexOf(char ch)????返回值:3
a.indexOf(3);???? // indexOf(int ch)????返回值:v
2016-10-19
ch就是個(gè)形參變量名,它具體是什么類型的看前面的修飾符
換句話說(shuō)我如果開(kāi)心,我都可以這么定義
String ch;
double ch;
float ch;
.......
2016-09-08
你這個(gè)是不完全的吧?是不是方法里面的:int indexOf(int ch){};這個(gè)ch是一個(gè)名字不是字符類型即一個(gè)叫ch的整型數(shù)字。
2016-09-08
int 是強(qiáng)制類型轉(zhuǎn)換
2016-09-08
這只是取了個(gè)名字而已。
2016-09-08
ch只是整型變量名,比如int a=1
2016-09-08
意思就好比 你 ?int abc=3;這個(gè)時(shí)候abc只是個(gè)變量名吧。?