Juliaで学ぶプログラミング入門 データ型

# 型
変数などのデータには型というものがあります。
型とは、プログラムがデータをどのように扱っているかを表すものです。
ここでは一般論を学び後でJulia特有の型を学びます。

型を指定することで、データがどのような型であるかを明示的に定義することができ、処理する側はデータがどの形式で表現されているかの推定を省くことができ処理のミス防止や速度向上に役立ちます。


一般的には次のような型があります。
- 整数型 (Int)
- 浮動小数点型 (Float)
- 文字列型 (String)
- 配列型 (Array)
- 辞書型 (Dict)
- タプル型 (Tuple)
- 真偽型 (Boolean)

これら以外にも組み合わせしたものや定数のように固定されるものなどがあります。

## 整数型
整数型 (Int) は、整数を表す型です。例えば、「1」や「-100」などが整数型に該当します。

## 浮動小数点型 
浮動小数点型 (Float) は、浮動小数点数を表す型です。例えば、「1.5」や「-0.01」などが浮動小数点型に該当します。

## 文字列型
文字列型 (String) は、文字列を表す型です。文字列は、複数の文字からなるもので、Juliaでは、「"hello"」や「"world"」などが文字列型に該当します。

## 配列型
配列型 (Array) は、複数の値をまとめたものを表す型です。例えば、「[1, 2, 3]」や「["apple", "banana", "cherry"]」などが配列型に該当します。

## 辞書型
辞書型 (Dict) は、キーと値の組をまとめたものを表す型です。例えば、「Dict("apple" => 100, "banana" => 200)」などがディクショナリ型に該当します。（一般的には｛key:Data｝と中括弧とコロンで表現されるほうが多い）

## タプル型
タプル型 (Tuple) は、複数の値をまとめたものを表す型です。タプルは、配列と似ていますが、要素を変更することができないという点で異なります。例えば、「(1, 2, 3)」や「("apple", "banana", "cherry")」などがタプル型に該当します。

## 真偽型
真偽型は、真（true）または偽（false）を表すものです。真偽型は、条件判定や論理演算などで使用されます。

例えば、以下のようなコードでは、真偽型が使用されています。

```Julia
#単純な変数として
a = ture

# 評価中の処理として
if x > y:
    print("xはyより大きい")
else:
    print("xはy以下")
```
このコードでは、if文の中で、x > yという条件式が評価されます。この条件式は、xがyより大きいかどうかを判定するものです。この「x > y」真偽値と等価となります。この条件式の結果は、真（true）または偽（false）のどちらかになります。その結果に応じて、if文の中身が実行されます。

このように、真偽型は、プログラムの分岐や条件判定などで使用されます。真偽型は、プログラムの動作を制御するために重要な役割を果たします。

## 参考図書
[１から始めるプログラミング](https://amzn.to/3HHR7Yv)
<a href="https://www.amazon.co.jp/1%E3%81%8B%E3%82%89%E5%A7%8B%E3%82%81%E3%82%8B-Julia%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9F%E3%83%B3%E3%82%B0-%E9%80%B2%E8%97%A4-%E8%A3%95%E4%B9%8B/dp/433902905X?crid=2JGVUDQSK5GJQ&keywords=julia+%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9F%E3%83%B3%E3%82%B0%E8%A8%80%E8%AA%9E&qid=1671346628&sprefix=julia+%2Caps%2C224&sr=8-1&linkCode=li3&tag=buzz06-22&linkId=8f7deba521f52f812d35ecdbe756cc10&language=ja_JP&ref_=as_li_ss_il" target="_blank"><img border="0" src="//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&ASIN=433902905X&Format=_SL250_&ID=AsinImage&MarketPlace=JP&ServiceVersion=20070822&WS=1&tag=buzz06-22&language=ja_JP" ></a><img src="https://ir-jp.amazon-adsystem.com/e/ir?t=buzz06-22&language=ja_JP&l=li3&o=9&a=433902905X" width="1" height="1" border="0" alt="" style="border:none !important; margin:0px !important;" />

[Juliaプログラミングクックブック](https://amzn.to/3PFfb0a)
<a href="https://www.amazon.co.jp/Julia%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9F%E3%83%B3%E3%82%B0%E3%82%AF%E3%83%83%E3%82%AF%E3%83%96%E3%83%83%E3%82%AF-%E2%80%95%E8%A8%80%E8%AA%9E%E4%BB%95%E6%A7%98%E3%81%8B%E3%82%89%E3%83%87%E3%83%BC%E3%82%BF%E5%88%86%E6%9E%90%E3%80%81%E6%A9%9F%E6%A2%B0%E5%AD%A6%E7%BF%92%E3%80%81%E6%95%B0%E5%80%A4%E8%A8%88%E7%AE%97%E3%81%BE%E3%81%A7-Bogumi%C5%82-Kami%C5%84ski/dp/4873118891?crid=2JGVUDQSK5GJQ&keywords=julia+%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9F%E3%83%B3%E3%82%B0%E8%A8%80%E8%AA%9E&qid=1671346628&sprefix=julia+%2Caps%2C224&sr=8-2&linkCode=li3&tag=buzz06-22&linkId=4e34b4b620932164412ec18acff914a8&language=ja_JP&ref_=as_li_ss_il" target="_blank"><img border="0" src="//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&ASIN=4873118891&Format=_SL250_&ID=AsinImage&MarketPlace=JP&ServiceVersion=20070822&WS=1&tag=buzz06-22&language=ja_JP" ></a><img src="https://ir-jp.amazon-adsystem.com/e/ir?t=buzz06-22&language=ja_JP&l=li3&o=9&a=4873118891" width="1" height="1" border="0" alt="" style="border:none !important; margin:0px !important;" />

[天才プログラマー タンメイが教える Julia超入門](https://amzn.to/3FJRpeW)
<a href="https://www.amazon.co.jp/%E5%A4%A9%E6%89%8D%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9E%E3%83%BC-%E3%82%BF%E3%83%B3%E3%83%A1%E3%82%A4%E3%81%8C%E6%95%99%E3%81%88%E3%82%8B-Julia%E8%B6%85%E5%85%A5%E9%96%80-Tanmay-Bakshi/dp/4807920219?crid=2JGVUDQSK5GJQ&keywords=julia+%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9F%E3%83%B3%E3%82%B0%E8%A8%80%E8%AA%9E&qid=1671346628&sprefix=julia+%2Caps%2C224&sr=8-10&linkCode=li3&tag=buzz06-22&linkId=bf79aa67b5c5956c8fd26f9436401dc6&language=ja_JP&ref_=as_li_ss_il" target="_blank"><img border="0" src="//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&ASIN=4807920219&Format=_SL250_&ID=AsinImage&MarketPlace=JP&ServiceVersion=20070822&WS=1&tag=buzz06-22&language=ja_JP" ></a><img src="https://ir-jp.amazon-adsystem.com/e/ir?t=buzz06-22&language=ja_JP&l=li3&o=9&a=4807920219" width="1" height="1" border="0" alt="" style="border:none !important; margin:0px !important;" />