30年秋問11(Java)設問2質問

午前試験免除制度対応!基本情報技術者試験のeラーニング【独習ゼミ】
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日経過したスレッドへの投稿はできません。

その他のスレッド


Pagetop