ユーさんは見た!#4 一周する
2022年8月2日(火)で、弊社は設立から1周年となりました。
1周年…
いっしゅうねん…
いっしゅう…
1周…
ということで、配列の中身を1周して出力(表示)するJavaのコードを作成してみたいと思います!
-------------------------------------
1周年ということで、そんな一文を配列の各要素にして、for文で出力してみます。
◎コード1
「1」をそのまま配列に格納しても良かったのですが、
・int(数値)型の変数に数値の「1」を代入
・String.valueOf()で数値から文字列に変換し、Stringクラスの変数に代入
・このStringクラスの変数を配列に格納
と、少しアレンジしました。
このコード1を実行すると、「アイサット1周年!」と出力されます。
arrayという配列の中に入っているそれぞれの値を、ループ処理のfor文・出力処理のSystem.out.print()を利用して、配列内の最初から最後まで1つずつ出力していきます。そうすると最終的に、上記のような出力結果になります。
けっこう無理やりな気はしますが、「一周する」ですね。
今回はせっかくなので、このコードをもう少しアレンジしていこうと思います。
1.現在の日時との差をプログラムで求める
コード1では「int year = 1」というように1周年の「1」を変数へ直接代入していましたが、この部分をアレンジしてみます。
◎コード2
コード1に比べてかなり行数が増えましたね。
・現在日時を取得する。
・弊社の設立日である2021年8月2日との年数の差を求める。
といった処理が加わっており、この年数の差を変数へ代入しています。(コード1の『int year = 1』の部分に当たります。)
そして、日付を扱うクラスとしてDateクラスやCalendarクラスなどがありますが、今回はタイムゾーンのない日時を設定できるLocalDateクラスを利用しました。
このコード2を実行しても、コード1と同様に「アイサット1周年!」と出力されます。
もう少しアレンジをしてみましょう。
2.様々な方法で文字列を連結する
コード1・2では「String[] array = {“ア”, “イ”, “サ”, “ッ”, “ト”, strYear, “周”, “年”, “!”};」というように、「アイサット1周年!」の各文字を1文字ずつ配列に直接格納していました。このあとのコード3では、あえて配列を使わずにこの部分をアレンジしてみます。
◎コード3
コードがより一層長くなりましたね…。
コード3では、文字列連結を4つの方法で行ってみました!
① 算術演算子(『+』や『+=』)
② appendメソッド(keyword2の変数で使用しています。)
③ insertメソッド(keyword3の変数で使用しています。)
④ concatメソッド(keyword5の変数で使用しています。)
①:「+」は「1+1=2」というような数式だけでなく、文字列の連結にも使用できます!
②:「append」は付け加えるという意味で、文字列や変数の末尾(最後)に挿入することができます。
③:「insert」は挿入するという意味で、文字列や変数の末尾だけでなく、任意の位置に挿入することができます。
コード3の場合は、keyword3の変数の0番目(最初)に「ッ」という文字を挿入しています。
④:「concat」は連結するという意味の単語である「concatenate」の略です。
なお、今回は使用しませんでしたが、joinメソッドでも文字列連結を行うことができます。
また、今回は文字列を扱うStringクラスとは別に、2つのクラスを使用してみました。
<1> StringBufferクラス…並列処理(マルチスレッド)向き
<2> StringBuilderクラス…直列処理(シングルスレッド)向き
そして、このコード3を実行しても、コード1・2と同様に「アイサット1周年!」と出力されます。
-------------------------------------
今回は、「一周する」コードや、文字列を連結する複数の方法について見ていきました。
出力される内容(出力結果)は同じでも、そこまでの処理方法(コードの記述方法)は多岐にわたることを改めて実感しました。
そして、弊社が2周年、3周年…と迎えていけるように、今後も私なりに頑張っていきたいです!
ここまでご覧くださり、ありがとうございました!
「ユーさんは見た!」次回もお楽しみに♪