その漫画自炊オタクはImageJマクロに恋をする

プログラミングを用いた、自炊漫画の画像処理

【ImageJマクロ超入門】#4 ifで条件分岐

 

f:id:yu3xx:20210503232607j:plain

 

 

皆さまこんにちは。

yu3xx(ゆーさんちょめちょめ)です。

 

 

 前回のおさらい


 

前回は「for」や「while」を使った繰り返し処理のお話でした。

 

今回は「if」を使った「条件分岐」についてです。これも繰り返し処理に並んで、よく使う超重要事項です。


おまけで「ダイアログを使った手動数値入力」の方法も紹介していきます。

 

単純な分岐


基本形はこちら。


if(条件式){
	trueの時の処理;
}else{
	falseの時の処理;
}

 
もし条件式に当てはまるなら「true側の処理」をする、そうじゃないなら「false側の処理」をする、という命令です。


  ◆ else以下の「もしそうじゃないなら...」の部分を省略する書き方もできます。

 

サンプル 1 ifの基本

//example 4-1

number = 911;

if(number == 911){
	showMessage("This is 911.");
}

実行してみます。

f:id:yu3xx:20210504000007p:plain
ちなみにshowMessageは、Logウィンドウではなく、ポップアップウィンドウ上にメッセージを表示する方法です。

 

条件式の書き方はこんな感じです。


==	//等しい
!=	//等しくない
>	//~より大きい
>=	//~以上
<	//~より小さい
<=	//~以下

 
せっかくなので、数値を入力する簡単なダイアログも一緒に覚えてしまいましょう。


HENSUU = getNumber("文章", 初期値);

" "の文章を表示させてから、ダイアログに手動入力した数値を、変数の中に格納します。

 

例えば以下のように

 a = getNumber("a=",0);

というコードを実行すると、aに代入する値を聞いてくるダイアログが表示されます。

f:id:yu3xx:20210504000826p:plain

 
サンプル 2 数値入力で遊ぶ

//example 4-2

old = getNumber("How old are you?",0);

if(old < 20){
	showMessage("I'm sorry. You are too young.");
}else{
	showMessage("Thank you for your Registration. Click [OK] for Payment.");
}

ご自身でコードを実行して、自分の年齢を打ち込んで動作を確認してみてください。

 

 複雑な分岐


「else if」を使って、少し複雑な分岐も設定できます。

 

基本形はこちら。


if(条件式1){
	処理A;
}else if(条件式2){
	処理B;
}else{
	処理C;
}

もし「条件式1に当てはまる」なら「処理A」を、「条件式1には当てはまらないけど、条件式2には当てはまる」って時には「処理B」を、「条件式1にも2にも当てはまらないよ」って時には「処理C」を。
という命令です。


書き方で間違えやすい部分は「ifもelseも全部小文字で書く」ってところです。「If」じゃなく「if」、「elseIf」じゃなく「else if」です!

 

サンプル 3  else ifで複雑な条件分岐

//example 4-3

hour = getNumber("How mony hours do you sleep? (0-24)",0);

if(hour < 0){
	showMessage("Error!");
}else if(hour < 5){
	showMessage("You'd better sleep now!");
}else if(hour < 11){
	showMessage("Good!");
}else if(hour <= 24){
	showMessage("You need to work more.");
}else{
	showMessage("Error!");
}

 
マクロを走らせて、ダイアログに様々な数値を打ち込んでみてください。入力する値によって、メッセージが変化する様子が掴めると思います。

 

例えば、「hourが5以上11未満」だと「Good!」と表示されます。

このように、else ifを使うと「A以上、B未満」のような条件も設定することができます。

 

 

今回の内容は以上です。

 

要点はこんな感じです。

 ① 「If」じゃなく「if」

 ② showMessageで、ポップアップ上にメッセージ表示

 ③ 数値入力ダイアログはgetNumber("文章",初期値)

 

 

 

おしまい

 

 

 次回は、知ってると便利な「配列」を扱います!こちらもぜひ!


 

 

・公開したマクロのまとめ

imagej-jisui.hatenablog.com