【C#】int/double型の使い方とその違い
この記事では、intとdouble型の使い方について解説します。
intとdoubleは足し算や掛け算などの四則演算や、合計値や平均値などを求めるために利用されます。
プログラミングにおいて超使う型になりますので、気合を入れて覚えましょう!
本記事をご覧頂くと下記内容が理解できます。
この記事で学べること
・C#のint/double型の概念
・int/double型の使い方
・int/doubleでよく発生するエラー
疑問点や質問には何でも答えようと思っています。
この記事の不明点はこちらからお問い合わせ下さい。
C#のおすすめ講座を受講して、最短1週間でC#をマスターしよう!
⇒C#が学べるおすすめプログラミングスクール&オンライン講座11選
①C#のint/double型とは?そもそも「データ型」って何?
この項ではそもそも型とは何か?intとdouble型とは何か?を解説します。
データ型とは何か?
プログラミングでは値や文字列を使用する際にデータ型というものを利用します。
データ型は、データの種類をそれぞれ分類したもので、データの用途を明確にするために用いられます。
上記のようにデータの型を分類しておくことで、例えば、
整数の四則演算をしたい時は「Int型」
小数点の計算をしたい時は「Double型」
文字列を使用したい時は「Stirng型」
と用途に応じて使い分けることが可能になります。
このように用途を定義すると、「扱える値を制限する代わりにできる事を明確にする」というメリットがあります。例えば整数型ならば四則計算が可能なことが保障されていますし、文字列型ならば文字列操作が可能なことが保障されています。
もしデータ型を保証せずにデータを無暗に使用すると
object obj1 = 123;
object obj2 = 456;
//エラー
int num = obj1 + obj2;
上図のようにエラーが発生してしまうため、データ型は正しく定義する必要があります。
C#で定義されている値型と参照型のデータ型一覧
C#のデータ型は10種類程あります。
型名 | 型の説明 | 使用例 |
---|---|---|
sbyte | 8ビット整数(符号付き) | sbyte test = 123; |
byte | 8ビット整数(符号無し) | byte test = 123; |
short | 16ビット整数(符号付き) | short test = 123; |
ushort | 16ビット整数(符号無し) | ushort test = 123; |
int | 32ビット整数(符号付き) | int test = 123; |
uint | 32ビット整数(符号無し) | int test = 123; |
long | 64ビット整数(符号付き) | long test =123; |
ulong | 64ビット整数(符号無し) | ulong test = 123; |
float | 32ビット浮動小数 | float test = 123.45F; floatは値の末尾に"F"が必要 |
double | 64ビット浮動小数 | double test = 123.45; |
String | 文字列 | string test = “abcde"; stringはダブルクォートで囲う |
char | 文字 | char test = 'a’; charはシングルクォートで囲う。 複数文字入れたい時は配列にする |
bool | 論理値 (true/falseのみ) | bool test = true(or false); |
decimal | 高精度 10進数浮動小数 | decimal test = 123.45m; decimalは末尾に"m"が必要 |
object | 全ての型の基底となる型 |
頻繁に使用するのはint, bool, string, double型!
上記4つのデータ型はしっかり覚えましょう。
intとdouble型のデータの役割は下記の通りになります。
・int型…整数を格納するためのデータ型
・double型…浮動小数点数を格納するためのデータ型
プログラミングで足し算や掛け算などの四則演算を行う際に使用します。
※浮動小数点数…小数点以下の値を含む数値の表現法※詳しくはこちら
実際にプログラムを見て正しい使い方や動作を確認してみましょう。
②C#のint/double型を用いたプログラムの実装
下記のプログラムを記載して、実際に実行してみましょう!
※プログラムの作成方法はこちら(左記サイトの①プロジェクトの作成をご確認ください)
プログラムのコピペは下記から
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace LecturerBeginner
{
class Program
{
static void Main(string[] args)
{
//①変数の宣言
int a, b, c, d; //int型変数の宣言
double v, x, y, z; //double型変数の宣言
//②宣言した変数に計算結果を代入する
a = 3;
b = 4;
c = a + b; //足し算の結果をcに代入する
d = a * b;//掛け算の結果をdに代入する
v = 3.3; //変数に浮動小数点数を代入する
x = 4.4; //変数に浮動小数点数を代入する
y = v + x; //足し算の結果をyに代入する
z = v * x;//掛け算の結果をzに代入する
//③計算結果を表示する
Console.WriteLine("aに格納されている値は、" + a); //変数の中の値を出力する
Console.WriteLine("bに格納されている値は、" + b);
Console.WriteLine("a+bの結果は、" + c);
Console.WriteLine("a×bの結果は、" + d);
Console.WriteLine("vに格納されている値は、" + v);
Console.WriteLine("xに格納されている値は、" + x);
Console.WriteLine("v+xの結果は、" + y);
Console.WriteLine("v×xの結果は、" + z);
}
}
}
上記のプログラムを実行すると下記の結果が得られます。
※プログラムの実行方法はこちら(左記サイトの③プロジェクトの実行をご確認ください)
③C#のint/double型のプログラムの解説
この項では②で紹介したプログラムの解説をします。
①int/double型変数の宣言
//①変数の宣言
int a, b, c, d; //int型変数の宣言
double v, x, y, z; //double型変数の宣言
intとdouble型などのデータ型を使用するためにはまず「変数」を宣言しなければなりません。
「変数」とは、そのデータ型を使うための「名前付きの箱」になります。
上記がイメージ図です。箱(変数)を最初に作成します。
Int型で宣言された変数は整数のみ代入でき、
Double型で宣言された変数は整数と浮動小数点数を代入できます。
②int/double型変数に値と計算結果を格納する
//②宣言した変数に計算結果を代入する
a = 3;
b = 4;
c = a + b; //足し算の結果をcに代入する
d = a * b;//掛け算の結果をdに代入する
v = 3.3; //変数に浮動小数点数を代入する
x = 4.4; //変数に浮動小数点数を代入する
y = v + x; //足し算の結果をyに代入する
z = v * x;//掛け算の結果をzに代入する
①で宣言した変数に数値と計算結果を代入します。
aとbには整数を代入
cとdには変数aとbの計算結果を代入しています。
vとxには小数点数を代入
yとzには変数vとxの計算結果を代入しています。
上図のように変数に代入した値は他の変数の計算にも使用できます。
③int/double型変数の計算結果を画面上に表示する
//③計算結果を表示する
Console.WriteLine("aに格納されている値は、" + a); //変数の中の値を出力する
Console.WriteLine("bに格納されている値は、" + b);
Console.WriteLine("a+bの結果は、" + c);
Console.WriteLine("a×bの結果は、" + d);
Console.WriteLine("vに格納されている値は、" + v);
Console.WriteLine("xに格納されている値は、" + x);
Console.WriteLine("v+xの結果は、" + y);
Console.WriteLine("v×xの結果は、" + z);
変数に代入した計算結果をConsole.WriteLineで出力しています。
変数の値を表示させるときは文字列とは違い""は必要ありません。
表示された計算結果を確認すると適切に計算されていることが分かります。
以上の結果から、intとdouble型を使用するとプログラム上で四則演算などの計算ができることが分かります。
④C#のint/double型をちょっと応用
先ほどのプログラムでは足し算と掛け算でしたが、割り算の商や余りも求めることができます。
※計算の処理順序は基本的に演算子の優先順位と同様です。一部例外あり
・割り算の商と余りの計算
割り算の商を導出したい時は「/(スラッシュ)」
割り算の余りを導出したい時は「%(パーセント)」
・式の優先度は計算ルールと同じ
計算の処理順序は基本的に演算子の優先順位と同様です。
https://xn--spi-m54e217p7lcis9d.com/priority/
//①変数の宣言
int a, b, c, d,e,f; //int型変数の宣言
//②宣言した変数に計算結果を格納する
a = 14;
b = 5;
c = a / b; //割り算の商をcに格納する
d = a % b;//割り算の余りをdに格納する
e = a + b * b;
f = (a + b) * b;
//③宣言した変数に計算結果を格納する
Console.WriteLine("a÷bの商は、" + c);
Console.WriteLine("a÷bの余りは、" + d);
Console.WriteLine("a + b × bは、" + e);
Console.WriteLine("(a + b) × bは、" + f);
自分でプログラムを変更して、様々な計算式の結果を確認してみましょう
⑤int/double型のよくあるエラーと解決策
上記のポップアップが表示され、上手く実行できない場合は下記をご確認ください。
考えられる原因1
Int型の変数に小数点数を代入している。
「int a = 3.3;」←これはNGです。
正しくは 「double a = 3.3;」です。
考えられる原因2
計算結果が小数点数になる。
//エラー
int b = 3 / 4;
計算結果が小数点の値をint型変数に格納しようとするとエラーになってしまいます。
注意しましょう。
⑥int/double型の課題にチャレンジ
(1) 「1+2×3+4+5×6+(8 / 7) % 9」を計算してみよう
(2) 6!(6の階乗)を計算してみよう※階乗とは?
C#プログラミング始めやすいように下記にC#を学ぶための完全ガイドを作成しています。
気軽にC#の勉強を始めてみてください!!
C#プログラミングを学んでみたい方向けの完全ガイドを下記に掲載します。
⇒C#初心者向けプログラミング完全ガイド
C#プログラミングに挫折しかけている方へ
おすすめのC#教材(補助教材として)