はじめに
初投稿になります。
筆者はプログラミングを4月から始めた素人です。この記事は備忘録のつもりで書いたものなのですが、厳しく教えていただけたら幸いです!
if-else文の省略形を使ってみた!
なんとな~く研修していてたらこんなコードを書くことになった。
import java.util.Arrays;
public class MyJava {
public static void main(String[] args) {
int[] a = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 };
int[] b = new int[a.length];
for (int i = 0; i < a.length; i++) {
// a の i 番目の要素の偶奇判定
if (a[i] % 2 == 0) {
b[i] = 0;
} else {
b[i] = 1;
}
}
// 本題とずれるけどprintfメソッド覚えると便利です
// Arrays.toString(array)は、配列を出力したいときにforを回さなくていいので便利です。
System.out.printf("b配列の中身は %s です。\n",
Arrays.toString(b));
}
}
if-else文簡略化ver,1
この程度の処理で層が深くなるの気持ち悪いなあ…
なんていうふうに思って調べていると…
あれ?
これってif文の中に入ったらcontinueすればいいんじゃね?
else文減るやん!
ってわけで以下のコードです。
import java.util.Arrays;
public class MyJava {
public static void main(String[] args) {
int[] a = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 };
int[] b = new int[a.length];
for (int i = 0; i < a.length; i++) {
// a の i 番目の要素の偶奇判定
// 偶数なら 0 、奇数なら 1 を代入する
if (a[i] % 2 == 0) {
b[i] = 0;
continue;
}
b[i] = 1;
}
System.out.printf("b配列の中身は %s です。\n",
Arrays.toString(b));
}
}
if-else文簡略化ver,2
できたけど今度は奇数のときの判定がポツンとしてて読みにくいなあ、、、
んんん!?これは、、、!?
####if-else文を簡略化した書き方
hoge ? fuga : foo
なんぞこれは?
hoge がTrue のとき fuga が、False のとき fooが実行される。
なるほど!変に層を作らないでも済むんだな!よし!
import java.util.Arrays;
public class MyJava {
public static void main(String[] args) {
int[] a = { 1, 2, 3, 4, 5, 6, 7, 8, 9 };
int[] b = new int[a.length];
for (int i = 0; i < a.length; i++) {
b[i] = a[i] % 2 == 0 ? 0 : 1;
}
System.out.printf("b配列の中身は %s です。\n",
Arrays.toString(b));
}
}
ふう、すっきり!
#あとがき
初投稿なのでつたない文章失礼しました。これからも少しずつ学んだことを記録していきたいので、是非「もっとこうしたほうが読みやすい!」などお声いただけたら幸いです!ここまで読んでいただきありがとうございました。
#参考サイト
Javaの道さま 代入演算子とその他の演算子
(http://www.javaroad.jp/java_operator6.htm)