Javaの基本的なコードの書き方、データ型、変数などについて学ぶ　 5/21

 ①変数の初期化
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3438361/d88df010-f56e-963f-2340-36b3be240b9f.png)
・変数の値の代入は変数定義と同時に行うことができる
変数定義と同時に値を代入することを変数の初期化と呼ぶ
②int型変数の計算
数値が入った変数なら、数値と同様に計算が可能です
数値と変数の計算も、変数同士の計算もできる
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3438361/fecfbfb5-f9f0-14e7-5f8c-0766176a8b8b.png)
③String型変数の連結
・同様に文字列の入った変数であれば、文字列と同様に、文字列の連結を行うことが可能です。
※なお、左の図の波線部にも書いている通り、文字列が入っているからといって変数にダブルクォーテーションを付けてはいけません。付けてしまうと、変数ではなく文字列として扱われてしまうので注意しましょう。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3438361/e6d5d98a-4fb5-7c5f-6947-1da84d695ad0.png)

--------------------------------------------------------------------------------------------
①変数の更新
・また変数は、中に入っている値を変更することもできる
・一度値を代入した変数に、その後再び値を代入すると、後で代入した値によって変数の中身が上書きされる
※下図では、変数を途中で上書きしたことによって、出力結果が変わっています。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3438361/68ea2573-9a0d-c08a-cf42-f75dae6fa665.png)
②更新時の注意点
・変数numberを上書きするために、左の図のように「int number = 5;」とするとエラーになる
・これは、変数名の前にデータ型をつけると変数を定義しようとしますが、同じ処理内で同一名の変数を定義できないためです。
※上書きするときはデータ型をつけないように注意しましょう。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3438361/ccbe0337-5206-106c-2ec7-8a04a4983c9d.png)
------------------------------------------------------------------------------------------
①自己代入
・変数xに3が入っているとき、xの値に2を足して5に上書きしたい場合はどうすればよいでしょうか。
　　→この場合は、左の図のように変数xと2を足して、また変数xに代入します。不思議な式に見えますが、
　　　プログラミングでは「=」は代入なので問題はありません。よく使うので覚えておきましょう。
・またこのような代入を自己代入と呼びます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3438361/f8237354-9cf9-2e0a-4677-500bbf30b41a.png)
------------------------------------------------------------------------------------------
①自己代入の省略した書き方
・自己代入には省略した書き方があります。よく使いますので、下図の省略系をしっかり覚える
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3438361/b033746d-e23c-1d4c-96f4-16501e998686.png)
②1を足す、1を引く
・変数に1を足す、もしくは1を引く場合は、さらなる省略系が存在します。
・「++」という記号は変数に「1を足す」という意味です。変数xに対してx++とするのは、x += 1と同じ意味　　　になります。
・反対に--とすると1を引くことができます。便利な書き方なのでぜひ覚えておきましょう。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3438361/03cbbeb9-5aed-4abd-9e22-fedd88cbdce4.png)
------------------------------------------------------------------------------------------
①なぜ変数を使うのか
・なぜ変数を使うのでしょうか？実際に開発するときには、プログラムの中にありとあらゆる値が
　登場します。開発者はそれらを間違いがないように整理し、わかりやすくコードを書き、そしてすぐに変更　　できるようにしなければなりません。それを助けるための1つの仕組みが変数です。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3438361/a7a44af3-986d-1b41-e631-bc82d8850068.png)
②変数の役割
・変数の使いどころを見てみましょう
・左の図のように、”重複する箇所”が多い場合は、右の図のように変数にしておくと便利です
・この文章が後で変更になったとしても、変数を用いていればその変数に代入する文字列を1箇所変更するだけ　　で対応することができます
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3438361/7b2aaf9a-85db-41c8-3e3f-fae921056f73.png)
③変数の注意点
・変数にはいくつか決まりがあります。変数名は基本的に自由に決められますが、Javaでは下図のような決まり
　があります。
・「userName」のように2語以上の変数名を使うときは、単語の始めを大文字にして区切りましょう。
　　この記述法をキャメルケースと呼びます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3438361/108832d5-39ff-5f9a-3a93-c7195c2d2bb1.png)
④変数名
・変数名を決めるときにまず大事なのは、何のデータをいれる変数なのか
　わかりやすい変数名をつけることです
・何の値が入っている変数かわかりにくい名前は、コードが読みにくくなり、ミスを生む原因となります。
　わかりやすい変数名をつけるよう心がけましょう
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3438361/4699361c-c334-8ccc-5264-087a18934434.png)
------------------------------------------------------------------------------------------
①double型（小数）
・これまで数値は、int型（整数）しか使ってきませんでしたが、小数を表すデータ型も存在します
・そのひとつがdouble型です。重要なデータ型なので覚えておきましょう
　またJavaの世界にはまだ多くのデータ型が存在します。興味のある人は、「Java データ型」といった具合　
　に調べてみてください
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3438361/c1e5fc98-f84f-87fa-7b45-eb14f18fdc25.png)
②double型の変数
・整数とは「3」「-39」のように小数点以下を持たない数です。
・対して小数とは「3.28」「-5.7」のように小数点以下を持つ数になります。大きさは同じでも、
　3はint型ですが、3.0はdouble型になります。int型と同様に変数の定義ではデータ型にdoubleを指定しま　
　す
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3438361/537d410d-66fc-73b1-554a-6fc37c908d8f.png)
②小数同士の計算
・double型も数値ですので、下図のように計算が可能です
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3438361/00806d01-4bfc-12fb-8eef-628864b7ffcf.png)
------------------------------------------------------------------------------------------
①型変換について
・「+」などの操作は同じデータ型同士でないとできません。
　よって型の違うものを演算するときは、型を変換し同じ型にしてあげます。
・Javaではこの型変換の方法として、自動の変換と手動の変換があります。
　まずは自動型変換を学びましょう
下図のようにString型とint型を足すと、int型が自動で”String型”に変換され、文字列の結合が行われます
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3438361/df9d3c03-7b1d-ee79-4ec6-2a287df6abf2.png)
②数値の計算の注意点
・数値の自動型変換を学ぶ前に、数値計算における注意点を学びましょう。
・int型同士の計算は結果もint型になり、double型同士の計算は、結果もdouble型になります
※下図でその事実を確認しましょう
　特に、int型の5をint型の2で割ると、結果は「2.5」ではなく「2」となることに注意しましょう
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3438361/a51a5763-294b-9345-62f7-e2866c7c6050.png)
③計算時の自動型変換
・それでは自動型変換の例を見てみましょう
　int型とdouble型の計算では結果は"double型"になります
  これは計算の過程でint型がdouble型に変換されるためです
  よって「5 / 2.0」もしくは「5.0 / 2」の結果は2.5になります
  5を5.0にするように、整数は必ず小数でも表せるため、Javaが自動で型変換を行ってくれます
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3438361/0b95aa8e-fc66-c516-8baa-05eae00fa2b1.png)
------------------------------------------------------------------------------------------
①int型同士の計算
・先ほどint型同士の計算「5 / 2」は2になってしまうことを学びましたが、
　それでは下図のようにint型の変数同士の割り算で、正確な値を出したいときはどうすればよいでしょうか？
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3438361/4c5049c8-63e3-f669-902a-ddd938def73d.png)
②キャスト
・このようなときは強制的に型変換を行います。これをキャストと呼び、
　下図のように、(変換したいデータ型)値とします。
・int型同士の値から、最終的にdouble型の計算結果を得たい場合、どちらか1つをキャストしてあげましょう　
　（前ページで学んだように、片方がdouble型であれば結果はdouble型になります）
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3438361/157a2f83-61c3-e000-5361-208e88861541.png)
------------------------------------------------------------------------------------------
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3438361/350876e5-788c-845e-ee85-04e213b9a419.png)