筋トレ大好きな文系女学生のJava入門〜式と演算子〜

#はじめに
今回は、式と演算子についてです。
Java初心者の記事なので、基礎中の基礎のことを書いていきます :pencil: :grimacing:
独学でやってるので、「これはJavaやっていくにあたって役に立つ知識だぞ！！」というのがあれば、コメントして頂けるととても嬉しいです :flushed: :satisfied: ！！

##式の構成要素 
式「a = b + 3」を分解してみると、変数「a」「b」や値の「3」、計算記号「+」「=」に分けることができます。
この「a」「b」「5」を***オペランド***、「+」「-」演算子と呼び、すべての式はこの２つの要素だけで構成されています。
オペランドの中でも数字の「３」や文字列「Muscle World」などといった、ソースコードに記述されている値のことを***リテラル***と呼びます。

###演算子
Javaには多くの演算子がありますが、その中からよく使うものを紹介したいと思います。

```
【代表的な算術演算子】
+　　足し算　　　　　2 + 8 =10
-　　引き算　　　　　10 - 2 = 8
*　　掛け算　　　　　2 x 5 = 10
/　　割り算　　　　　3.2 / 2 →1.6   9/2 → 4
%　　割り算のあまり　9 % 2 → 1
```
```
【代入演算子】：右から左に代入する演算子
=　　 右辺を左辺に代入　                a = 10 →　a
+=　　左辺と右辺を足してから左辺に代入     
-=　　左辺から右辺を引き算し、左辺に代入
*=　　左辺と右辺を掛け算し、左に代入
/=　　左辺と右辺を割り算し、左に代入
%=　　左辺と右辺を割り算し、そのあまりを左に代入
+=　　左辺後ろに右を連結して代入    　a += "腹筋"　→　a //(a =a+ "腹筋")と同じ
```

たとえば・・・
変数aの内容を５増やしたい場合、「a += 5」「a = a +5」の２種類の書き方がある :stuck_out_tongue_closed_eyes: ！

```
【インクリメントとデクリメント演算子】：変数の内容を１だけ増やしたり減らしたりする場合
++　値を１増やす
--　値を１減らす
```

例 :arrow_down: :arrow_down: :arrow_down: :arrow_down: 

```java

1 public class MuscleWorld{
2   public static void main(String[] args){
3     int a = 10;
4     a++;   /*aの内容が１増える*/
5     System.out.println(a);
6    }
7  }
```

####命令実行の文
命令実行の文とはJavaが持っている様々な命令を呼び出すための文です。
最も代表的なのは、
これまでに数回出現してきた、``System.out.println``です :kissing_closed_eyes: :kissing_closed_eyes: 

```
【命令実行の文】
呼び出す命令の名前（引数）；
```

引数とは、メソッドに渡すデータのことです。
（）;の中にいれるのは、引数やパラメーターと呼ばれるもの。

今回は６つの命令文を紹介します :punch: :grin: 

```
【改行せずに画面に文字を入力する】
System.out.print(１);
/*画面に１を表示するが、改行せずに画面に表示されます*/
```


```java
1 public class Muscle{
2  public static void main(String[] args){
3    String niku = "腹斜筋";
4    System.out.print("私のチャームポイントは");
5    System.out.print(niku);
6    System.out.print("です！");
7  }
8 }
```

表示結果
私のチャームポイントは腹斜筋です！

```
【２つの値を比較して大きいほうの数字を代入する命令】

int p( = Math.max(１,２);

/*１or２は比較したい値や式。大きいほうの値がpに代入される。変数pはp以外でもOK*/
```

```java
1 public class Muscle{
2  public static void main(String[] args){
3    int a = 10;
4    int b = 5;
5    int p = Math.max(a,b);
6    System.out.println("比較："+a+"と"+b+"とで大きいほうは"+p);
7  }
8 }
```

表示結果
比較：10と５で大きいほうは10

```
【文字列を数字に変換する命令】
 int a = Integer.parseInt(１);

/*１は数字として解釈させたい文字列（"10"）など*/
```

```java
1 public class Muscle{
2  public static void main(String[] args){
3    String muscle = "15";
4    int a = Integer.parseInt(muscle);
5    System.out.println("腹筋の回数は"+(muscle+100)+"回ですよ❤︎！！");
6  }
7 }
```

表示結果
筋トレする回数は１１５回ですよ❤︎！！

これはどーゆうことかというと、文字列の"１５"を数字の１５に変換して計算していることです。

```
【乱数を発生させる】

int a = new java.util.Random().nextInt(１);

・１は発生させる乱数の値
・１に１以上の整数を指定してこの命令を呼び出すと、０以上かつ１で指定した数字未満のランダムな整数がaに代入される
例
１に100を代入すると、aには0〜99のいずれかが代入される
```

```java
1 public class Muscle{
2  public static void main(String[] args){
3    int a = new java.util.Random().nextInt(100);
4    System.out.println("今日の腕立ての回数は"+a+"です！！");
5   }
6  }
```

今日の腕立ての回数は８７回です！！
８７回のところは、毎回ランダムに表示されます。


```
【キーボードから１行の文字列の入力を受け付ける命令】

String input = new java.util.Scanner(System.in).nextLine();

【キーボードから１つの整数の入力を受け付ける命令】

int input = new java.util.Scanner(System.in).nextIn();

・これらの文を実行すると、プログラムは一時停止となり、ユーザーがキーボードから文字入力できる
・入力後、入力内容が変数inputに代入される
・nextLine()は文字列を受け取る　　　　
・nextInt()は数字の入力を受け取る
```

```java
1 public class Muscle{
2  public static void main(String[] args){
3   System.out.println("名前を入力してください！");
4   String name = new java.util.Scanner(System.in).nextLine();
5   System.out.println("年齢を入力してください！！");
6   int age = new java.util.Scanner(System.in).nextInt();
7   System.outprintln("Welcome!"+age+"歳の"+name+"さん！");
8  }
9 }
```

表示結果
名前を入力してください！
＜Amippy＞
年齢を入力してください！！
＜21＞
Welcome!＜Amippy＞歳の＜21＞さん！

※＜＞はキーボードから入力したものです。