‫わかりました｡
‫変数とデータ型の理論がわかったところで､ 実際に使ってみましょう｡
‫そして､ 整数､ 倍数､ 浮動小数点数から始めるつもりです｡
‫では､ さっそく始めましょう｡
‫まず､ 変数を宣言するには､ データ型を使って､ 変数に名前を付けるだけです｡
‫もちろん､ セミコロンも付けなければならない｡
‫つまり､ 値を与えていないにもかかわらず､ 変数を宣言し､
‫初期化していない｡
‫だから､ 今､ 値を割り当てるなら､ 例えば次の行のように､ 後から割り当てることができるのです｡
‫つまり､ ここでは変数名を使うだけで､ 変数に値を代入することができるのです｡
‫そして今､ この位置に13という値を保存したいと言っているのです｡
‫ここで変数を宣言し､ 値を代入したり､ 変数を初期化したりしているわけです｡
‫では､ 実際にこの変数をコンソールに書き込んでみましょう｡ コンソールの右側の行を使って､ 変数を書き込むことができます｡
‫そして､ 括弧の中で「1」と入力すると､ 「1」が表示されます｡
‫そのため､ 設定によっては､ コンソールを開いてテストするために､ console
‫to readを使用する必要がある場合もあります｡
‫では､ 実際にテストしてみましょう｡ 13と表示されているのがわかります｡
‫そこで､ この13番を上にあげます｡
‫なるほど､ それなら大丈夫ですね｡
‫これで､ 値を表示できるようになりました｡
‫では､ もっと面白いものを表示させましょう｡
‫実際に2つの変数の和を表示してみましょう｡
‫そこで現在､ NUM1が13になりました｡
‫では､ もう一つNUM twoという変数を作ってみましょう｡
‫そこで､ 宣言と値の初期化を同じ行で行うことにします｡
‫ここでは､ 変数の宣言と初期化を一度に行います｡ データ型は整数､ 名前は2番で23とします｡
‫つまり､ 内部的にはこの変数名numbに23という値が格納されることになります｡
‫そこで､ 今できることは､ もちろん数学的な演算を施すことです｡
‫そこで､ sumという新しい変数を作り､ これをNUM 1とNUM 2の合計にすることにしましょう｡
‫ちなみに､ そうすると､ アンダーラインが消えているのがわかると思います｡
‫つまり､ 2という数字が使われていないこの場所では､ 緑の下線が引かれていますが､ この緑の下線は､ この変数が使われていないことを表しているだけなので､
‫この下線は消えます｡
‫そこで今､ 実際にこの行で使っているのです｡
‫さて､ 合計が出たので､ 実際に13と23の合計をこの明線文でプリントアウトしてみましょう｡
‫よし､ そうしよう｡
‫プログラムを実行してみましょう｡
‫そして､ 23＋13または13＋23が36になるから36と書かれています｡
‫わかりました｡
‫それは素晴らしいことです｡
‫でも今は､ そこで実際に見てみたいと思っています｡
‫ですから､ この連結という概念が使えるんです｡
‫早速ですが､ ご紹介しましょう｡
‫ここで､ 私が使っているのは､ 連結です｡
‫ナンバーワンです｡
‫据え置きプラスで1位って言ってるんだから｡
‫つまり､ num oneをnone oneの実際の値で表示することになる｡
‫つまり､ この変数は､ 空白のスペースに空白のスペースを加えたものをテキストで言っているのです｡
‫つまり､ 今はここにある番号2の値に番号2を足したものを使っているのです｡
‫あるのか｡
‫だから､ ちょっと複雑に見えるんです｡
‫ちょっと分解してみましょうか､ まずは実行してみましょう｡
‫だから､ 1番は13プラスなんですね｡
‫2番は23が36です｡
‫だから､ ここには空きスペースが必要なんです｡
‫それをもう少し上手に表現してください｡
‫では､ もう1度やってみましょう｡
‫今は1番､ 13番プラス2番と書いてある｡
‫23は36です｡
‫では､ もっと簡単な例で､ コンソールの右側の行を使うだけにしてみましょう｡
‫c wを入力してダブルタップを押せば､ 自動的にコードを教えてくれるので､ 本当に助かります｡
‫だから今は､ 誰もいないと言いながら､ 空白のスペース＋num oneと言うだけです｡
‫ここでやっているのは､ ここにあるテキストと､ この数字の後ろにあるものを使ってくださいということです｡
‫そして今､ これは整数ですが､ このconsole right lineメソッドは､
‫これを文字列に変換できることを理解するのに十分な賢さを持っています｡
‫なぜなら､ 内部的にはこれはまだ数字になるからです｡
‫そうだろ？
‫しかし､ 今すぐに､ そして､ これは単にテキストを表示するだけなので､ テキストにするのがスマートでしょう？
‫そのため､ 実行するとNUMは13と表示され､ 実際にはNUM one is 13と表示されるはずです｡
‫なるほど｡
‫これでNUM1が表示されるわけです｡
‫しかし､ この行でやっていることは､ 1番と2番の和を表示することで､ 実際に計算していることが正しいかどうかを知るために､
‫値を表示しているだけです｡
‫そこで､ 文字列を足し合わせたり､ 文字列に数字を足し合わせたりする概念を連結と呼ぶことにします｡
‫つまり､ このプラスは､ 実際に作っている合計ではないのです｡
‫だから､ ここでは実際にプラスを操作しているわけではないんです｡
‫何かを追加しているわけではありません｡
‫私たちは､ このテキストを再生して､ このテキストに追加して言っているだけです｡
‫このテキストは､ その後ろに検出されるものは何であるか｡
‫そして､ 今までのテキストに､ こちらのテキストなどを追加していきます｡
‫ということですね｡
‫つまり､ ここではプラスをたくさん使っても､ 実は何も計算していないのです｡
‫なるほど｡
‫それがコンカチネーションなんですね｡
‫では､ 複数の変数を一度に､ つまり1行のコードで作成する方法について見てみましょう｡
‫したがって､ このコードはここでデータ型のようなことを言って使うことができます｡
‫次に､ 最初の変数の名前コンマ｡
‫2番目の変数名 カンマ､ 3番目の変数名
‫そこで､ ここではコンマで区切って､ いつものようにセミコロンでこの文を終わらせています｡
‫つまり､ これは変数を作るための手っ取り早い方法なのです｡
‫そして､ 通常は､ この場合､ メソッドやクラスなど､ 使用する場所に応じて､ 冒頭でこれを行うことになります｡
‫そして､ いつ何を使うかは､ 後ほど見ていきたいと思います｡
‫ここでは一番上に置くことで､ すべての変数を一カ所に集め､ 少なくとも変数の宣言は一カ所で行うようにしました｡
‫もちろん､ 後から使って上書きすることもできるんですけどね｡
‫例えばここで､ この変数NUM twoを作り､ 23と設定したとき､ もちろん23という値を持っていましたが､
‫今ではthey twoを使って上書きすることができ､ 例えば100という値を代入することができます｡
‫では､ このコードを実行し､ 何が起こるか見てみましょう｡
‫つまり､ 1番の13と2番の100を足すと36になると書いてあるわけです｡
‫しかし､ それは正しくありません｡
‫そうですね､ 13,100は36ではありませんから｡
‫それは､ 実際の計算をここで行ったからです｡
‫そして､ 2番の値を変更し､ この行で使用しています｡
‫だから､ この方法を使うときは､ 超注意が必要です｡
‫では､ 実際にこの線を切り取って､ 下の方で使ってみましょう｡
‫これで正しい値が表示され､ ここに113という結果が表示されるはずです｡
‫そして､ 13＋2が130であることがわかると思います｡
‫では､ 今度は2倍速で同じことをやってみましょう｡
‫そこで､ データ型が異なるdoublesも使うと言ったのです｡
‫ですから､ doubleを使いたい場合は､ doubleというキーワードを使い､ それに名前をつければいいのです｡
‫そこで､ このダブルを1と呼ぶと､ 3の値になります｡ 4または1415｡
‫もちろんこれもPIと呼んでもよかったのですが､ もう一回ダブルで､ 5みたいなことになりそうです｡
‫1とか､ そんな感じです｡
‫複雑なことは何もありません｡
‫そして今､ 私は分裂するつもりです｡
‫では､ この新しい変数をdef double dividendと呼ぶことにしましょう｡
‫つまり､ D1をD2で割って､ この変数に格納するのです｡
‫そこで､ DX 1 を DX 2 で割った結果をコンソールに出力してみます｡
‫そして､ このようにdivを使います｡
‫では､ 次に3. 14を5で割ったもの｡ 1になる予定です｡
‫そして､ 0であることがわかる｡ 615など｡
‫だから､ ここはとても長い数字になる｡
‫このダブルは非常に長い数値を保持できることがおわかりいただけると思います｡
‫では､ 同じ例をフロートで見てみましょう｡
‫そこで､ ここではfloatを使い､ 同じ変数値を使うことにします｡
‫だから3も｡ 1415､ なんでもいい｡
‫そして､ このfloat F twoを使って､ 5という値も保持することにします｡ 1.
‫というのも､ ここに値を割り当てようとすると､ 値を受け付けないからです｡
‫エラーが出るのは､ 3があるからです｡ デフォルトの1415は､ 我々のプログラムではダブルとみなされます｡
‫浮動小数点型変数に2倍値を代入しようとしているわけですが､ これはうまくいきません｡
‫今できることは､ ここにFを追加することで､ 「これは浮動小数点数です」と表示することです｡
‫では､ ここにもFを付けましょう｡
‫そして今､ 私たちは具体的に､ よし､ この5と明記しているのです｡ 1はdoubleではありませんが､ 浮動小数点数です｡
‫これは､ プログラミング言語を開発する際に､ ある時期から内部で決めていたことで､ 最終的にそうなっただけなんです｡
‫なぜなら､ そうでなければ､ ここで見たように､ 2倍で作業していると思われてしまうからです｡
‫さて､ ではこの分割もやってみましょう｡
‫F divは､ F 1をF 2で割ったものになるそうです｡
‫そして､ 今度はこれをコンソールに書き込んでみましょう｡
‫ここでF1をF2で割ったものをf divとし､ 実行してみましょう｡
‫そして､ ここで結果が丸くなることがわかります｡
‫この時点では､ 4の2あたりで､ 精度が落ちているのです｡
‫だから､ 浮動小数点値は倍精度ほど正確ではないんだ｡
‫ですから､ 高い精度が必要な場合は､ 倍速を使う必要があります｡
‫低精度が必要な場合は､ 浮動小数点数の方がメモリ使用量が少なくて済むので､ より良い選択です｡
‫これは､ 効率的なソフトウェアを書く上で､ とてもとても重要なことです｡
‫ですから､ あなたがその変数で行おうとしていることを正確に保持する変数の型だけを使うようにしてください｡
‫ですから､ 整数だけでいいのなら､ 整数を使えばいいのです｡
‫超長い数字が必要な場合は､ longsを使用します｡
‫つまり､ along my long numのようなもので､ これに長い番号を割り当てることができます｡
‫これでも長すぎるくらいなんですね｡
‫長い間｡
‫でも､ これくらいのものなら十分でしょう｡
‫だから､ 例えば整数の場合､ 私のlong intはこの長い数を保持することができない｡
‫だから､ ここではそれを受け入れないということがわかります｡
‫64ビット符号付き整数を表すと書いてありますが､ long型をint型に暗黙的に変換することはできません｡
‫つまり､ 今は数値が長いのでlongだと思われていますが､ intに代入しようとしているので､ それがうまくいかないわけです｡
‫そのため､ 変数を作成する際には､ その点に注意する必要があります｡
‫ですから､ 異なるデータ型を扱う場合は､ 注意が必要です｡
‫では､ 割り算をするとして､ ここでdoubleという新しい変数を作ってみましょう｡
‫そして､ これを1di divと呼ぶことにします｡ doubleとintegerを使って割り算をします｡
‫そこで､ D oneをnum oneで割ってみましょう｡
‫ここで何が起こるか見てみましょう｡
‫では､ そのこともコンソールに書き込んでみましょう｡
‫つまり､ ここではこれを数字で割ったものになります｡
‫1つはd i divです｡
‫なるほど｡
‫だから
‫このように､ 整数で割って2倍にしても､ ここに保存されているのは2倍なので､ まだ2倍になっています｡
‫このD差はダブルなんですね｡
‫さて､ 同じことを今度は整数でやってみましょう｡
‫そこで､ これをd div intと呼んで､ 実際に整数を保持することにします｡
‫そこで今度はdoubleをintegerで割るのですが､ エラーが出るのがわかりますか？
‫double 型から int 型への明示的な変換が存在する場合､ 暗黙的に変換できません｡
‫キャストが足りないのでは？
‫そのため､ 現在はキャストして明示的に変換することもできますが､ それは後ほどご紹介します｡
‫ですから､ 使用するデータ型に注意する必要があります｡ これは､ 時間をかけて経験から得られるものです｡
‫さて､ ここで､ これは問題ないでしょう？
‫なぜなら､ 私たちは取得するデータを完全にコントロールできているからです｡
‫しかし､ 例えばデータベースからデータを取得するところを､ いきなりクラウドから外部で取得するとなると話は別で､
‫そうなると､ すべての変数を完全に認識することはできないでしょう｡
‫ただ､ データを入手するにしても､ あるフォーマットで入手したいが､ 必ずしも100％希望するフォーマットで入手できるとは限らない｡
‫それは､ もっと経験を積めばわかることです｡
‫そして､ データ基盤についても､ 後の章で見ていく予定です｡
‫わかりました｡
‫今回の動画は以上です｡
‫これで､ 変数の使い方やデータ型（特にint､ float､ double）の使い方を理解できたと思います｡
‫では､ 次のビデオでお会いしましょう｡