HOME»基本情報技術者試験掲示板»30年秋問11(Java)設問2質問
投稿する

30年秋問11(Java)設問2質問 [2637]

 Java初心者さん(No.1) 
平成30年度秋対11設問2について質問です。
細かいところになってしまうんですが、switch文の条件が\\になっていることについてです。
疑問点は以下です。
1. cは単一文字なのになぜ\\なのか(意味的には\なんでしょうか??)
2. 次の文字を格納するという処理をした場合、\>などの場合は理解できるが、\\\>の場合\>の二つが格納されることになるのか(ここは問題文の解釈ができてないのですが、奇数個目に続く一文字というのは\自体も含んでいるのでしょうか)
重ねての質問になってしまいましたが、教えて頂けると幸いです。
2021.01.10 17:22
管理人(No.2) 
ざっくりですが回答させていただきます。

1について
Javaに限りませんが、プログラム言語にはエスケープシーケンスという仕組みがあり、\に続けて特定の文字を記載することで、改行やタブなどの制御文字を表したり、文字列中の"や'を普通の文字として解釈させたりします。
一方、文字としてのバックスラッシュ1文字を表すときには\\と記載しなければなりません。

2について
空欄に正しい選択肢を入れると、\ という文字を見つけたとき、\を飛ばして次の1文字を buf に格納します。結果として、\付きの < と > は普通の文字列として解釈されることになります。
2021.01.11 23:35
 Java初心者さん(No.3) 
ありがとうございます!
理解できました!
2021.01.12 11:13
返信投稿用フォームスパム防止のためにスレッド作成日から30日経過したスレッドへの投稿はできません。
© 2010- 基本情報技術者試験ドットコム All Rights Reserved.

Pagetop