LoginSignup
2
1

More than 5 years have passed since last update.

【読書】独習Java メモっぽいレポート 三枚目

Last updated at Posted at 2016-06-16

メモっぽいレポート3枚目。

第3章Javaの制御ステートメントの概要

3.1 ifステートメント

ifのステートメントはJavaでは選択ステートメントまたは条件ステートメント
と、呼ばれている。
ifのステートの動作は、値が真か、偽かの2つの動きがあり、
真か偽かを調べるために、「関係演算子」というものがある。

「等しいことを比較する」

i == 10

「対象となる値より未満か超えるかを比較する」

//大きいかどうか
i > 10

//小さいかどうか
i < 4

「対象となる値より等しいまたは以上か以下かを比較する」


//以下か、または等しいか
i <= 10

//以上か、または等しいか
i >= 10

3.2 if-elseステートメント

if-elseのステートメントを使えば

if(i % 2 == 0){

  System.out.println("偶数");

}
if(i % 2 != 0){

   System.out.println("奇数");

}

と、やっていたことを以下のようにできる。

if(i % 2 == 0){

  System.out.println("偶数");

}else{

  System.out.println("奇数");

}

3.3 コードのブロック

コードのブロックとは{}で囲った(グループ化した)ステートメントで、以下のようなもののことを指す。

static{
   System.out.println("灼熱"
      System.out.println("Black.by"
      System.out.println("Naughty"
      System.out.println("DigitalTank"
}

コードブロックの中かに書かれているステートメントは必ず実行される。

3.4 forステートメント

Javaには3つループステートメントが存在する。(while ステートメント do-whileステートメント、 for ステートメント)
そのうちの一つであるforステートメントは以下のように書く。

for(int i = 0; i < 0; i+1)

このforステートメントを使うことにより

for(int i = 1; i < 10; i+1)
  System.out.println(i);

とすることで1 2 3 4 5 6 7 8 9のような結果が得られる。

forループの動作は最初にint = 0;初期化が実行され
i < 0 で条件を満たしているか満たしていないかの評価がされ、
最後にi+1が実行される。
int = 0;(初期化)についてだがこれはfor文に入って一回しか実行されない。

3.5 インクリメント演算子とデクリメント演算子

インクリメント演算子とは

i++; ++i;

と、いうように書き、デクリメント演算子は

i--; --i;

と書く。

※代入ステートメントとして使う場合だけなら++i --iともして良い。

また、インクリメント演算子とデクリメント演算子を使うことにより、3.4(forステートメント)であった
for(int i = 0; i < 0; i+1)
i + 1の部分をi++i--と置き換えることが可能。

for(int i = 1; i < 10; i++)

for(int i = 1; i < 10; i--)

3.6 バックスラッシュコード

バックスラッシュコードとは¥または\をつけて表すコードのことである
よく使われるバックスラッシュコードとして¥n \nがある。

これは改行を意味し、

System.out.print("New line");
System.out.println("CarriageReturn \rFGH");

結果New lineCarriageReturn 

のような結果で表示される文字列を

System.out.print("New line \n");
System.out.println("CarriageReturn \rFGH");

結果New line 
    CarriageReturn 

上記のような形で出力することができる。
バックスラッシュコードにはこのほかにも

¥b \b
¥r \r
¥f \f
¥" \"
¥' \'
¥0 \0
¥¥ \\
¥(0~7) \(0~7)
¥値値(0~7)(0~7) \値値(0~7)(0~7)
¥値値値(0~)(0~7)(0~7) \値値(0~)(0~7)(0~7)
¥uxxxx(桁の16進定数) \uxxxx(桁の16進定数)

上記のように多くの種類がある。

3.7 関係演算子と論理演算子

論理演算子は、論理積・論理和・排他的論理和、否定で判別する。

関係演算子の戻ってくる結果はbooleanで会って論理演算子はbooleanに働きかけるので
下記のようにセットで使われることが多い。

if(i < 3 && i == 1)

論理演算子の種類として下記の様なものがある。

「両方が真である時」(AND)

if((i < 3) & (i / 5))

if(i < 3 && i == 1)

「どちらかが真である時」(OR)

if(i < 3 | i == 1)

if(i < 5 || i <= 6)

「どちらの値も違う時に真となる」

if(i <= 6 ^ i == 1)

「等しい時に真となる」

if(i == 1)

「等しくない時に真となる」

if(i = 1)

「否定・○○でない時に真となる」
java
!a

3.8 三項演算子

if-elseの間にthenが入った if-then-elseというステートメントがある。

書き方は以下の様になる

 (mini < max) ? mini : max

この場合 maxよりminiが小さかったらminiが結果として返り、
そうでなければmaxが結果として返ってくる。

第4章:制御ステートメントと演算子

4.1 ifステートメントのネスト
ネストとは入れ子になっている状態を指す。

if(...)
 if(...)
if( ...){

  if( ...){

  }
}

下記の様な状態をif-else-ifラダーという

if(...)hoge;
 else(...)hoge;
    if(...)hoge;
      else(...)hoge;

これは以下の様に変えて書くことができる

if(...)

 else if(...)

 else if(...)

 else if(...)

 else(...)

今日はここまでで、4章は次に続く。

2
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
1