String型の文字列なら、入力した文字がそのまま表示されるとは限りません。それが特殊文字!

問題 - 特殊文字「難易度:低」

次のようなJavaプログラムがあります。

String dir = "c:\temp";
System.out.println(dir);

さて、System.out.printlnで出力される内容はどのようなものでしょうか?

String型の文字列なら、入力した文字がそのまま表示されるとは限りません。それが特殊文字!

問題 - 特殊文字「難易度:低」

次のようなJavaプログラムがあります。

String dir = "c:\temp";
System.out.println(dir);

さて、System.out.printlnで出力される内容はどのようなものでしょうか?

解答

出力される内容は「c:  emp」(:とeの間にはタブスペースが入ります)。

解説

変数dirには文字列の"c:\temp"がセットされているので、ダイアログボックスには「c:\temp」と表示されるように思えますが、Javaでは「\t」はタブを表す特殊文字になります。そのため、"c:\temp"は「c:」と「emp」の間にタブスペースの入った文字列として表示されます。

「\」記号はエスケープシーケンスと呼ばれ、特殊文字を扱うために使用されます。たとえば、改行は「\n」として記述します。「c:\temp」と表示させたい場合は、「\」記号の前にエスケープシーケンスの「\」をつけて"c:\\temp"と記述します。

よく使う特殊記号の表記は覚えておこうね。ではまた!