を元にして作られています。
(「Java(ジャバ)」に非常に似てます)
クリック
C#を選択
主な型の種類:
Int(イント)型 → 整数(せいすう:小数点がない数):1とか5など。
float(フロート)型 → 実数(じっすう:小数点がある数):1.0とか5.3など。
double(ダブル)型 → floatの細かいバージョン。
string(ストリング)型 → 文字列(もじれつ):"こんにちは"とか"やあ"など。
bool(ブール)型 → 真偽値(しんぎち):真(正しい)か偽(正しくない)か。
実は、整数を扱う型は他にもあります。
主に「使える数の範囲」と、「マイナスが使えるか(符号付き)」によって種類が分かれます。
※float型とdouble型の違い例:
10÷3など、割りきれない計算をする場合「どこまで細かく計算するか?(精度)」が重要になることがあります。
float(フロート)型 → 3.333333(精度が低い)
double(ダブル)型 → 3.33333333333333(精度が高い)
※数字としての「3」と文字列としての"3"の違い:
例えば、プログラムに「3+5」を表示させてみると、
数字として表示させる場合 → 8と表示される(計算の答えが表示される)
文字列として表示させる場合 → 3+5と表示される(文字なので計算はされずに、表示される)
※bool(ブール)型の例:
スクラッチで【もし「敵Aに触れた」なら、HPを-1にする】
このような条件分岐をよく使うと思いますが、これは、
【「敵Aに触れたという条件が「true」になった時」HPを-1にする】
処理ということです。
反対に、【でなければ〜】が、「条件がfalseであれば」という意味になります。
※自動でキャストされる例:
(int型の1が、double型の1.0に自動キャストされて計算)
(int型の5がstring型にキャストされて計算)
※ちなみに自動でキャストされる際は、”幅広い値を扱える型の方に変換される”という法則もあります。
例:[ float型 + double型 ]の場合はdouble型になる、[ int型 + float型 ] ならfloat型になる、などです。
尚、string型と数字系の型(intやfloat)なら必ずstring型が優先なります。
変数
10という数字(値)
10
代入
変数 hoge を作りまーす!
宣言
箱に入れる
宣言→変数が出来る!
①
②
int aaa;
変数 aaa を作りまーす!
変数 aaa
10
10という数字(値)が変数に入ります。
変数 aaa
この時点では、変数は空です。
※型がintで変数名がaaaの場合
aaa = 10;
int aaa = 10; //変数と代入をまとめて書いておく
※注意点
int aaa;
aaa = 10;
int aaa; //ここでエラー
int aaa;
aaa = 10;
aaa = 120; //aaaが120になる
int aaa = 10;
int aaa = 120;
//2重宣言なのでエラー
int aaa = 10;
aaa = 120;
//aaaが120になる
string aaa = "こんにちは";
string aaa2 = "Hello";
変数にはint型だけでなく、string型や他の型も代入出来ます。
string型の場合は、文字列を【 ” 】で囲む必要があります。
数字も文字列として扱いたい場合は、同じように囲むと、数字ではなく文字列として認識されます。
string aaa3 = "10";
//数字ではなく、文字列として代入されます。
string aaa3 = こんにちは;
string aaa3 = 10;
//両方エラー
int aaa = 100;
int aaa2 = aaa;
int x = 10;
int x = 2000;
↓悪い例
int x = "10"; //エラー
int x = 3.0; //エラー
string x = "こんにちは";
string x = "10";
↓悪い例
string x = 10; //エラー
string x = こんにちは; //エラー
float x = 1.0f; //fをつける
float x = 3.14f;
↓悪い例
float x = 10; //エラー
float x = 1.0; //エラー
double x = 1.0;
double x = 3.14d; //dをつける(つけなくても良い)
↓悪い例
double x = "1"; //エラー
double x = 10; //エラーにならないが、バグを減らすために10.0するべき
bool x = 1 < 2; //詳細は後で
bool x = 10 < 1;
↓悪い例
bool x = 10; //エラー
bool x = "正しい"; //エラー
int型
string型
float型
double型
bool型
fを忘れるとdouble型になるので注意
dは、あっても、なくてもdouble型になる
実際にやってみよう
※ちょっと説明
下のコードは初めから書かれています。
()の中の「”Hello C#”を表示する」という意味ですので、"Hello C#"部分を、作った変数に変えましょう。→の画像を参考。
主な演算子の種類:
算術演算子(さんじゅつえんざんし) → お馴染みの「足す」「引く」「かける」「割る」系です。
比較演算子(ひかくえんざんし) → 「イコール」や「右が大きい」「左が大きい」などのアレです。関係演算子(かんけいえんざんし)などとも言います。
論理演算子(ろんりえんざんし) → 「◯◯かつ◯◯」「◯◯または◯◯」などの時に使います。
ちなみに、
演算子の両脇の値はオペラントと呼びます。(演算子の種類は問いません)
たとえば、【1 + 2】の場合は、「左のオペラントは1」「右オペラントは2」という感じです。
たまーに使う用語なので、覚えておきましょう。
1 + 2; //足す
1 - 2; //引く
1 * 2; //かける
1 / 2; //割る
1 % 2; //割ったその余り
int x = 1 + 2;
int x = 1 + 2;
int x2 = x * 10;
x = x + 10;
//※[=]よりも[+]が先に計算され、その後、代入される
x += 10;
//[x = x + 10;]と同じ意味
x += 10;
x -= 10;
x *= 10;
x /= 10;
x %= 10;
必ず【=(イコール)は右側】ですので、それだけ覚えておけば簡単ですね。
int x = 1;
int x2 = ++x; //変数xに1足した数を変数x2に代入
System.Console.WriteLine(x); //結果2(上記で++xが実行されているため)
System.Console.WriteLine(x2); //結果2(2になった状態の変数xを代入したため)
++x; //1足す
x++; //1足す
--x; //1引く
x--; //1引く
基本は[++x]で良いかと思います
x = x + 1; //1足す
x = x - 1; //1引く
int x = 1;
int x2 = x++; //変数xに1足した数を変数x2に代入
System.Console.WriteLine(x); //結果2(上記で++xが実行されているため)
System.Console.WriteLine(x2); //結果1(1足される前に、変数xを代入されたため)
[++x]の場合
[x++]の場合
コレと
コレは同じ意味
string a = "私は" + "トムです";
string x = "こんにちは";
string z = x + "トム";
int x = 10;
System.Console.WriteLine(x + 10);
string x = "こんにちは";
System.Console.WriteLine(x + "トム");
int x = 10;
System.Console.WriteLine(x * (x + 5));
int x = 10 * (10 + 5);
System.Console.WriteLine(x);
「false(フォールス)」
偽
「true(トゥルー)」
真
計算した結果、必ず「正しい:true(トゥルー)」か、「正しくない:false(フォールス)」どちらかに変化します。
bool x = 1 < 2;
//このように計算をすると…
bool x = true;
//trueかfalseに変化する!
bool x = 10 < 2;
//このように計算をすると…
bool x = false;
//trueかfalseに変化する!
1<2は【正しい】ので
trueに変化
10<2は【正しくない】ので
falseに変化
bool x = 10 < 10;
どちらも正しい
=は必ず右側に付くと覚えましょう!
bool x = 10 >= 10;
bool x = 10 <= 10;
bool x = 10 > 10;
どちらも正しくない
bool x = 10 !< 1;
bool x = 1 !< 10;
正しいを逆にしてfalse
正しくないを逆にしてtrue
bool x = 10.0f < 10.1f;
true
bool x = 10 == 10.0f;
bool x = "こんにちは" == "こんにちは";
true
bool x = "こんにちは" == "コンニチハ";
true
false
bool x = "こんにちは" < "コンニチハ";
これはエラー
bool x = "こんにちは" < 10;
これもエラー
bool x = "こんにちは" == "10";
これはOK(false)
変数を使う事も出来ます。
変数の場合は代入されている値を比較する事になります。
true
bool a = 1 == 1 && 1 == 1;
System.Console.WriteLine(a);
これはエラー
bool a = 10 && 10;
System.Console.WriteLine(a);
false
bool a = 2 < 1 && 1 == 1;
System.Console.WriteLine(a);
false
bool a = 1 < 2 && 1 == 1 || 10 > 1 || 1 < 10;
System.Console.WriteLine(a);
bool a = 2 < 1 || 1 == 1;
System.Console.WriteLine(a);
bool a = 2 < 1 || 2 < 1;
System.Console.WriteLine(a);
true
論理演算子もtrueかfalseですので、bool型になります
true
falseになる
bool a = 10 == 10;
System.Console.WriteLine(!a);
trueになる
bool a = 1 == 100000000;
System.Console.WriteLine(!a);
falseになる
bool a = 1 <= 10;
System.Console.WriteLine(!a);
falseになる
bool a = 1 != 100000000;
System.Console.WriteLine(!a);
☆ちなみに…
実は、IT系の用語の読み方は、非常にテキトウなので、人によってかなり違う事があります。
特に、比較演算子や論理演算子の読み方は、あまり統一されていません。
一般的なのは、【<(小なり)】【>(大なり)】【<=(以上)】【>=(以下)】【==(等しい)】【!=(ノットイコール)】【&&(かつ・アンド)】【||(または・オア)】【!(ノット)】みたいな感じです。
例
if( 条件 ){
やりたい処理
}
int hp = 10;
if( hp < 5 ){
System.Console.WriteLine("やられるー");
}
falseなのでなにも表示されない
int hp = 3;
if( hp < 5 ){
System.Console.WriteLine("やられるー");
}
trueなので「やられるー」表示される
例
()や{}について
プログラミングでは、if文で使われているような()や{}が非常に良く出てきます。
読み方も人それぞれで、最初は非常に覚えづらいのですが、主な呼び方は以下の感じです。
int hp = 3;
if( hp < 5 ){
System.Console.WriteLine("やられるー");
}
System.Console.WriteLine("残りHPは"+hp+"です");
「やられるー」は条件がtrueの時だけ言うが、「残りHPは〜」は、if文の範囲{}の外なので、if文は関係しません。
つまり「やられるー」と「残りHPは3です」が表示されます。
()→ 丸かっこ・かっこ・パーレン ※個人的には「かっこ派」
{}→ 波かっこ・中かっこ・ブレイス ※個人的には「波かっこ派」
[]→ 角かっこ・大カッコ・ブラケット ※個人的には「角かっこ派」
<> → 山かっこ・アングルブラケット ※個人的には「山かっこ派」
if( 条件 ){
やりたい処理1
やりたい処理2
やりたい処理3
}
if( 条件① ){
やりたい処理1
if( 条件② ){
やりたい処理2
}
}
int hp = 0;
if( hp < 5 ){
System.Console.WriteLine("やられるー");
if( hp < 1 ){
System.Console.WriteLine(" ( ́;ω;`) ");
}
}
例
{}に注目!
このような形を「入れ子」「ネスト」などとも言います。
この場合、変数hpは0なので、外側のifも、内側のifも両方trueなので「やられるー ( ́ ́;ω;`) 」と表示されます。
if( 条件 ){
条件がtrue(トゥルー)の時やりたい処理
else{
条件がfalse(フォレス)の時にやりたい時
}
else(エルス)の後の{}の中に、書いた処理は、条件式がfalseの場合のみ動きます。
(trueの時はムシされます)
if( 条件① ){
条件①がtrueの時に、やりたい処理
}else if( 条件② ){
条件①がfalseで、条件②がtrueの時に、やりたい処理
}else{
条件①と②がfalseの時に、やりたい処理
}
int tensuu = 70;
if(tensuu > 80){
System.Console.WriteLine("合格です");
}else if(tensuu > 60){
System.Console.WriteLine("もうちょい");
}else{
System.Console.WriteLine("残念でした");
else ifの後の{}の中に、条件①がfalseだった場合の、次の条件(条件②)を記述します。
int hp = 0;
if( hp < 5 ){
System.Console.WriteLine("やられるー");
if( hp < 1 ){
System.Console.WriteLine(" ( ́;ω;`) ");
}
※else ifの始まりの{ が足りないため、エラーになる。
int tensuu = 70;
if(tensuu > 80){
System.Console.WriteLine("合格です");
}else if(tensuu > 60)
System.Console.WriteLine("もうちょい");
}else{
System.Console.WriteLine("残念でした");
※終わりの }が足りないため、エラーになる。
例
int a = 10 * 7;
int b = 7 * 10;
if( a < b ){
System.Console.WriteLine("あ");
}else if( a == b ){
System.Console.WriteLine("い");
}else{
System.Console.WriteLine("う");
※else ifの始まりの{ が足りないため、エラーになる。
int tensuu = 70;
if(tensuu > 80){
System.Console.WriteLine("合格です");
}else if(tensuu > 60)
System.Console.WriteLine("もうちょい");
}else{
System.Console.WriteLine("残念でした");
※終わりの }が足りないため、エラーになる。
例
for(int i=0(数える用の変数作る) ; i<3(処理をする条件) ; i++(数える変数を1足す){
//ここに繰り返したい処理を書く。
}
for(int i=0 ; i<3 ; i++){
System.Console.WriteLine("ほ");
}
//ほほほ と表示される。
例
for(int i=0 ; i<3 ; i++){
System.Console.WriteLine("ほ");
}
変数iの初期化
(最初だけ)
①条件判定
②処理
③変数iの増減
①の条件判定がtrueの間だけ、処理が行わるので、falseになったら繰り返しが終わります。
変数iのことを「カウンター変数」と呼びます。
for(int i=0 ; i<繰り返したい回数 ; i++)
for(int i=93 ; i>90 ; i--){
System.Console.WriteLine("ほ");
}
//これでも"ほほほ"と表示される。
「繰り返したい回数」以外は固定しておく。
繰り返したい回数の部分だけを、処理の内容によって変える。