というわけでみどりの小野 (id:yutoma233)さんには目と耳塞ぎながら耐えてITパスポート取ってほしいと願うしかないのですが(メンション飛ばすのやめろよw)、Java、どうなんすか。難しくないっすか!?
で、Javaの難しさは置いておいてif文のおーはなし。このへん、どんな言語にもあるから大事。とても大事。
if else文、100までの整数xがあるとき、80以上100以下ならA、50以上80未満ならB を返せみたいな問題で、なぜ答えがif (x>=80)else if (x>=50)になるのかしばらく悩んでた。
elve on Twitter: "@yutoma233 @AzuLitchi いや正しいのか・・・連続ifで条件が合えば上書きになるんすけどね・・・フローチャート描きたい!! すっごいクソレスおばさんハッスルハッスル気分!! ああ!! 仕事どころじゃねぇ!!←" / Twitter
プログラムが順番に実行されるのですね!
これはもう絶対問題が悪いんだけど、プログラムが順番に実行される*1がわからん段階で、else if !? ッと言うので心がザワつく層が多いと思うのですよ。
if→else→else ifの順でしっかり理解しないと後でドはまりする元よね。ドはまりしたよね。そんな早口の皆さんの言い分をコードとともに観ていきましょうw
ベースはこれで考えよう。x=80だからAだよって表示されてるね。
阿豆らいち (id:AzuLitchi)さん
順番にっていうか、else ifが「そうじゃなくて もし」みたいな意味だからかなー。
阿豆らいち on Twitter: "@yutoma233 順番にっていうか、else ifが「そうじゃなくて もし」みたいな意味だからかなー。 else 無しのif文で繋げると返り値が上書きされると思う。" / Twitter
else 無しのif文で繋げると返り値が上書きされると思う。
elseがなくなると、上下2箇所のif文の条件が合うのでA、Bともに出力されていますね。
ただ前提が「返せ」と言う話なのでreturn "A"; とか書いてたらAだけ返るんですよね・・・。
この辺はまた説明が長くなる。式とは!? 戻り値が!! 引数も使ってみる!? やめろ!!!wwwww
で、ifに戻るとelse ifの前に、elseの中で条件つける、と言うのはちょっと考えてほしいなぁって思うじゃないですか!?
イイタイコトガアレコレ - スナックelve 本店
- [programming]
- [java]
↓「順番に実行」else ifというものはありません。if (x>=80) {re="A";} else {if (x>=50) {re ="B";} else {re="C";}}構造のelse節は単文なので、わざわざ{}で括るまでもなくif (x>=80) {re="A";} else if (x>=50) {re="B";} else {re="C";}と書けるだけです(早口
2022/08/20 00:16
↓「順番に実行」else ifというものはありません。if (x>=80) {re="A";} else {if (x>=50) {re ="B";} else {re="C";}}構造のelse節は単文なので、わざわざ{}で括るまでもなくif (x>=80) {re="A";} else if (x>=50) {re="B";} else {re="C";}と書けるだけです(早口 - narwhal のブックマーク / はてなブックマーク
早口キタ━━━━(゚∀゚)━━━━!!wwwww
やめろ、解答にたどり着いた人を混乱さすなwwww
単文とブロック文の話も面倒だからなぁ・・・。私はもう常にブロック扱いにしてます。
xが80のときはこんな感じで
xが50のときはこんな感じ
ちなみにxが8だとこんな感じ
単文命令
単文だとこんな感じになるよ、多分。
で、この改行も省略できるので
皆早口になってて楽しいねぇぇぇぇぇえええええぇえぇぇぇ(*´﹃`*)
界隈に新しい血が来ると小躍りして囲んでしまうの、ちょっとわかるw
俺、プログラムに自覚してた以上に思い入れあるんだなぁってしみじみしちゃったw