‫お帰りなさい｡
‫そして､ この動画｡
‫文字列の操作について教えたいと思います｡
‫これは､ コーディングの経験やキャリアを通じて必要となるものなので､ 非常に重要なことです｡
‫そこで今回は番外編として､ データを画面に印刷するさまざまな方法について､
‫合成文字列､ 文字列書式､ 文字列補間､ 逐語的文字列についてお話しします｡
‫だから､ もちろん1つの方法が好きな人はこだわればいいし､ 全部が好きな人はそれでいいんです｡
‫しかし､ プロジェクトを通して一つのスタイルにこだわるようにしてください｡
‫そこでまず､ いくつかの変数を定義しておこう｡
‫そこで､ メインメソッドの内部で､ 2つの新しい変数を作成することにします｡
‫ひとつはH､ そして名前はアルフォンソになる予定です｡
‫そこで､ Hに整数を､ nameという文字列を用意しました｡
‫さて､ まずは文字列連結を使ってみましょう｡ このキーワードは以前にも取り上げました｡
‫早速見てみましょう｡
‫ここでは､ 文字列の連結を使って､ hello, my name isと言い､ プラス記号､
‫変数plus､ そして別の文字列､ いわば､ 別の変数と別の文字列､ いわば､ プラス記号を使っています｡
‫二重整数の例では､ どのような変数を足し合わせて和を求めるのか､ 基本的にこの方法を使いました｡
‫これは文字列の連結です｡ これを実行して見てみると､ 文字列の連結と書いてあるのがわかります｡
‫こんにちは､ アルフォンソです｡
‫私は31歳なので､ ここでは文字列だけでなく､ 整数でも完璧に動作します｡
‫つまり､ これは文字列で､ これは整数で､ 文字列の連結に使っているわけですが､ 私たちのコンソールでは何の問題もないのです｡
‫ここで右の行の文｡
‫わかりました｡
‫では､ 文字列の書式設定の考え方について見ていきましょう｡
‫少し高度な話になりますが､ 見ていきましょう｡
‫つまり､ 文字列のフォーマットはインデックスを使用するのです｡
‫そこで､ ここでは「これは文字列フォーマットです」という記述をしています｡
‫次に､ Hello, my name is も使いますが､ 今回は文字列の末尾を連結せず､ 中括弧を使って､ 最初のエントリーをインデックス0､
‫2番目のエントリーをインデックス1として､ 文字列を連結しています｡
‫つまり､ このカンマの後に来るものは､ ゼロの位置にある私の文字列の後に来るものである､ ということです｡
‫そこで､ 最初のエントリーはここに位置づけられることになります｡
‫そして､ 2番目のエントリであるインデックス1に配置されているものは､ ここに配置されることになります｡
‫そこで､ このゼロを名前の値に､ 1を値の値に置き換えることにします｡
‫これも実行して確認してみましょう｡
‫そして､ 私たちは見ています｡
‫こんにちは､ アルフォンソです｡
‫私は31歳です｡
‫では､ 次はちょっとしたチャレンジです｡
‫この上にもう一つ変数を作り､ 値を代入して定義します｡ この変数を文字列フォーマットの中で使うと､
‫どんな値でも使えるようになります｡
‫なるほど｡
‫そこで､ もう1つ文字列を作成します｡
‫これを1つの仕事として､ デベロッパーになるんです｡
‫だから､ 私は何歳なんだ､ みたいな｡
‫開発者なのかそうでないのか､ 中括弧の中も｡
‫これでインデックスにも載るわけですね｡
‫そして､ ここにデベロッパー変数を追加します｡
‫そして､ 実はJavaと呼ばれていたのです｡
‫そこで､ ライン全体を見ることができるように､ 少しスクロールさせてみます｡
‫ここで､ こんにちは､ 私の名前はゼロですと書いてあるわけです｡
‫私は1歳､ 私は2歳です｡
‫ですから､ これらの数値はもちろん実際の値ではありませんが､ ここにあるものに置き換えていくことになります｡
‫だから､ これを試してみて､ 成功したのだと思います｡
‫そこで､ ここで別のエントリーを追加すると､ jobと表示されます｡
‫では､ 見てみましょう｡
‫こんにちは､ アルフォンソです｡
‫私は31歳です｡
‫私は開発者です｡
‫よし､ これでうまくいきましたね｡
‫さて､ 文字列補間についてですが､ ここでは文字列補間を使います｡
‫そこで､ 文字列を操作する方法の3つ目の概念として､ 文字列補間と呼ばれるものがあります｡
‫そこで､ 文字列補間では､ 先頭にドル記号を使用します｡ これにより､ 変数をこのように書くことができるので､
‫インデックスを使用する代わりに､ 直接変数名を使用します｡
‫そこで､ ここでは文字列の先頭にドップラーを付加しています｡
‫こんにちは､ 私の名前は､ その後､ 名前です｡
‫私はもう何年も前の人間です｡ 最後に名前と年齢をここに書いてもいいですが､ もうこの時点では本当に必要ありません｡
‫これを省いてコードを実行しても､ 同じように動作することが確認できます｡
‫こんにちは､ 私の名前はアルフォンソで､ 31歳です｡
‫つまり､ この方法はインデックスを使用する必要がなく､ どの変数がどこにあったのかがわからない､
‫より説明的な方法です｡
‫まあ､ そういうわけでもないのですが､ それでも､ もう少し複雑なんです｡
‫プラスを使いまくる必要がない､ むしろ良い方法だと思っています｡
‫そして､ 逐語的な文字列であるナンバー4があります｡
‫では､ それらについて見ていきましょう｡
‫そのため､ 逐語的な文字列は､ atを使用して､ 文字列を文字通り受け取り､ スペースやバックスラッシュなどのエスケープ文字を無視するようにコンパイラに指示する必要があります｡
‫N では､ それがどういうことなのか､ お見せしましょう｡
‫ですから､ ここで少し大きな発言が必要なのです｡
‫このように追加して､ 超長い文字列がここにあります｡
‫一方では､ スペースやバックスラッシュのようなエスケープ文字を無視し､
‫他方では､ 文字列を文字通りに解釈しています｡
‫だから､ 空いたスペースがあれば､ ここに2つほど追加すると､ 文字通り翻訳してくれるんだ｡
‫ここで､ さらに2つのスペース､ あるいはスペースではなく､ 行全体が追加されていますね｡
‫この看板を使うことで実現できるわけです｡
‫ところで､ このバックスラッシュnを､ たとえば文字列のフォーマットで使用すると､
‫改行されることになります｡
‫だから､ ここにはこう書いてある｡
‫こんにちは｡
‫私の名前は､ そうここにあります｡
‫このバックスラッシュnが何を意味するのか不思議に思っている方は､ この改行があることをご存じでしょう｡
‫そして､ 逐語的な文字列は特定の場合に非常に有効です｡
‫では､ お見せしましょう｡
‫そこで､ ここでは､ ファイルのパスを書くのにバックスラッシュbackslashを使うのではなく､ verbatim文字列を使うことで､ より簡単に書くことができる｡
‫そのため､ エッジを外すと､ 例えばバックスラッシュ you バックスラッシュ a バックスラッシュ D は有効なエスケープ文字ではないため､
‫エラーになります｡
‫なぜなら､ そうしないと何かをエスケープしようとしている､ つまりバックスラッシュuを使おうとしていると判断されてしまうからです｡
‫例えばバックスラッシュnで見たように｡
‫そうだろ？
‫そこで､ ここではバックスラッシュを使用しました｡
‫N さて､ 私はそれを取り除きましたが､ ここにこのバックスラッシュがあります｡
‫N キャラクターから逃げてしまう｡
‫N このバックスラッシュを考慮しないことを意味する｡
‫Nを文字として使っても､ 次の行にジャンプしたりするだけです｡
‫これで､ この特定のパスと犬の写真が表示されるようになります｡
‫そこで､ この広告看板が超便利なんです｡
‫そのため､ あなたのマシンのパスや､ そのままの文字列では､ 有効なエスケープ文字でさえ機能しないのです｡
‫つまり､ ここでは､ このバックスラッシュnでも何もできないのです｡
‫逐語的な文字列では何の力も持たない｡
‫だから､ ここで広告サインを使うなら､ もっとハハバックスラッシュが見えるし､ パワーがあるにもかかわらず､
‫ここにはパワーがないんだ｡
‫そこで､ 別の例で紹介しましょう｡
‫広告なし
‫そして今､ このバックスラッシュのnがあります｡
‫そうすれば､ もっと見えてくるはずです｡
‫ははは｡
‫バックスラッシュ
‫例えば､ ここにはパワーがあると書いてあるはずなのに､ あなたにはパワーがない｡
‫では､ もう一度実行してみましょう｡
‫そして､ どうでしょう？
‫ははは｡
‫バックスラッシュnあなたには力がない｡
‫だから､ add記号を使っているのです｡
‫そして､ ここにも｡
‫バックスラッシュは改行を意味します｡
‫あなたには力がある｡
‫さて､ 以上が文字列操作のさまざまな方法です｡
‫最初の3つは､ 逐語的な文字列の場合､ どれか1つに決めて一貫して使うのが理にかなっていると言えますが､
‫例えばPC上の位置情報など､ 本当に特殊な使用例があります｡
‫だから､ 例えばファイルパスで｡
‫わかりました｡
‫というわけで､ 今回の動画はここまでです｡
‫次回作でお会いしましょう｡