dポイントプレゼントキャンペーン実施中!

よろしくお願いします。

JAVAの勉強をしているのですが、リテラルのことで質問です。お願いいたします。

String s7 = 100+'A' + "hello" 

が 'A'がintと解釈されて答えは165helloになるそうなのですが、どうやって変換すると165なのか分かりませんでした。

どなたかお教えいただけませんか?

A 回答 (3件)

100+'A'


の「+」は数値としての足し算なので
165
と計算されます。
その次の「+」は文字列の連結の記号ですので、
165
という「数値」の文字列表現に「hello」という文字列を連結したものになります。

>String s7 = 100+'A' + "hello" 
を試しに
String s7 = ""+100+'A' + "hello";
としてみると、最初に「長さ0の文字列」に「100」という数値の文字列表現、
さらに「A」という文字、
さらに「hello」という文字列
が連結されて
100Ahello
となります。

1度でも文字列が現れると、それ以降は文字列として扱われます。

って間違ってるかも。(^^;A
    • good
    • 0

以下の通りです。



char 型のリテラルはシングル・クオティション (') で括られるます。従って、'A'をコード表現すると【\u0041(hex)】になり、10進数では65になるからです。
    • good
    • 0
この回答へのお礼

ありがとうございました。

勝手に65って!!って思ってました。
助かりました。次の問題いってみます。

お礼日時:2005/06/06 12:23

文字コードの決まりごと。



参考URL:http://homepage3.nifty.com/mmgames/c_guide/14-01 …
    • good
    • 0
この回答へのお礼

調べているうちに・・・もしや?
と思ってました。

ありがとうございます^^

お礼日時:2005/06/06 12:22

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!