ScalaでのIF ELSE

Source: Scala – IF ELSE Statements

多くの他のアプリケーションやプログラミング言語と同様に、Scalaも決定を取る条件文if-elseステートメントを持っています。ifステートメントの条件ブロックは、条件がTrueである場合に実行されます。そうでない場合は、elseの条件ブロックが実行されます(elseステートメントが存在する場合のみ)。

一般的に、elseステートメントには条件はありません。if条件がFalseの場合にのみ実行されます。つまり、短く言えば、if-elseステートメントはブール式によってTrue-Falseの基盤で作動します。

if-elseステートメントには、様々な種類があります:

if文、

if-else文、

ネストされたif-else文、

if-else-if-else文。

if-elseステートメントの異なる種類を学び始める前に、以下の手順に従ってmacユーザー向けのScala環境を迅速にセットアップしてください。

注意:Javaがインストールされていることを確認してください。もしまだない場合は、ここで提供されている指示に従ってください。

– \$ brew update

– \$ brew install scala

– \$ brew install sbt

– \$ echo ‘-J-XX:+CMSClassUnloadingEnabled’ >>
/usr/local/etc/sbtopts

– $ echo ‘-J-Xmx2G’ >> /usr/local/etc/sbtopts

上記の手順が完了次第、ターミナルでscalaと入力してインストールを迅速にテストします。以下のような出力が表示されるはずです。

注意:このチュートリアルでは、vimエディターでコードを記述し、ターミナルから実行します。

Scala if 文

if文は、boolean(真または偽)性質の式で構成されています。式が真になると、if文の中のコードブロックが実行されます。偽の場合、if文の終了後の最初の行のコードが実行されます。

if(boolean expression) { execute if boolean expression holds true }

まず、objectまたはclassという名前のscala_ifを定義します。そのオブジェクト内で、main関数を設定し、主要なコード本体を記述します。整数変数xを20という値で定義します。最後に、ifブロックがコードの核心です。条件x<=20で、xの値が20なので、if文の中のブロックが実行されます。

以下のコードをif.scalaという名前で保存してください。

上記のコードを実行するには、scala if.scalaとタイプするだけです。以下のような出力が表示されます。

Scala if-else 文

以下のコードでは、if-elseステートメントが使用されています。これはifステートメントに似ており、boolean(真偽)の性質を持つ式で構成されています。ifステートメントが真であれば、ifステートメント内のコードブロックが実行され、偽であればelseステートメント内のコードブロックが実行されます。

if(boolean expression) { execute if boolean expression holds true } else { execute block if boolean expression (if statement) holds false }

以下のコードでは、変数xの値が20より大きいため、elseステートメントの中のコードブロックが実行されます。

以下のコードをif-else.scalaという名前で保存してください。

このコードを実行するには、scala if-else.scalaと入力するだけで、以下のような出力が表示されます。

スカラのネストされたif-elseステートメント

通常のifステートメントにelseステートメントが続くように、ネストされたif-elseステートメントも同様です。ネストされたif-elseでは、ifまたはelse-ifステートメントの中に別のifまたはelse-ifステートメントを使用できます。

次のセクションでは、else-ifステートメントについて見ていきます。

if(boolean expression 1) { execute block 1 if boolean expression 1 holds true** if(boolean expression 2) { execute block 2 if boolean expression 1 and 2 holds true } }

以下のコードは、4つの整数変数$v$、$x$、$y$、$z$を比較するためにnested-ifステートメントを使用しており、最終的にはすべてのステートメントが正しい場合にターミナルに出力を表示します。

以下のコードをnested-if-else.scalaという名前で保存してください。

スカラのelse-ifステートメント

else-ifステートメントはif-elseステートメントより有効である。if-elseステートメントではelseの後にifステートメントが来ますが、else-ifステートメントはそのものが单一のステートメントです。else-ifステートメントを使用することで、さまざまな条件をテストする自由度があります。

しかし、else-ifステートメントを使用する際に注意すべきルールがいくつかあります。

  • if文の後にelse-if文が来ます。if文にはelse-if文を0個または複数個持つことができます。

  • 同様に、else文はif文とelse-if文の後に来ます。if文には0個または1個のelse文を持つことができます。

  • 一旦else-ifステートメントが成功すると、残りのelse-ifステートメントやelseステートメントは考慮されず、直接飛ばされます。

if(boolean expression 1) { execute block 1 if boolean expression 1 holds true } else-if(boolean expression 2) { execute block 2 if boolean expression 2 holds true } else { execute this block if all of the above statements holds false }

また、恭喜として、チュートリアルを完了しました。

このチュートリアルは、Scalaの条件付きIF ELSE文を学ぶ初学者にとって良い出发点でした。

皆さんにとっての小さな练习として、Scalaでのelse-if文について少しのコードを書いて、これらの文と他の文の違いを理解してみてください。

参照:

このチュートリアルに関する質問は、下のコメント欄でお聞きください。

Source:
https://www.datacamp.com/tutorial/if-else-in-scala