文法のまとめ:演算子、変数、配列、関数、条件分岐、繰り返し
1. コメント
かいつまんで言うと
- CやC#、JavaScriptなどと同じ書き方をします。
一行コメント
//
のあとがコメントになります。
// これがコメントです。
複数行コメント
/*
から*/
までがコメントになります。
/*ここにコメントを書きます。複数行書けます。*/
2. 演算子
かいつまんで言うと
- 演算子には主に、算術演算子、比較演算子、論理演算子があります。
算術演算子
int a = 10;int b = 2;
// 足し算a + b; // 12
// 引き算a - b; // 8
// 掛け算a * b; // 20
// 割り算a / b; // 5
// 割った余りa % b; // 0
代入と計算を一緒に行う演算子
a += b; // a=a+bと同じ意味
a -= b; // a=a-bと同じ意味
a *= b; // a=a*bと同じ意味
a /= b; // a=a/bと同じ意味
a %= b; // a=a%bと同じ意味
インクリメントとデクリメント
変数を1だけ増やしたり1だけ減らしたりするのはよく使うので、特別の書き方をします。1だけ増やすのを インクリメント 、1だけ減らすのを デクリメント と言います。
int a = 10;a++; // インクリメントa--; // デクリメント
比較演算子
主に条件分岐や繰り返しで使う、値や変数を比較する演算子です。
a == b // aとbは等しい
a != b // aとbは異なる
a < b // aはbより小さい
a > b // aはbより大きい
a <= b // aはb以下
a >= b // aはb以上
論理演算子
「かつ」&&
// 例:xが100以上かつ200以下の場合に赤く、それ以外は緑にするif ((x >= 100) && (x <= 200)) { fill(255, 0, 0);} else { fill(0, 255, 0);}
「または」 ||
// 例:xが100以下または200以上の場合に青に、それ以外は赤くするif ((x <= 100) || (x >= 200)) { fill(0, 0, 255);} else { fill(255, 0, 0);}
「ではない」!
// 例:xが100ではない場合に緑に、それ以外は青くするif (!(x == 100)) { fill(0, 255, 0);} else { fill(0, 0, 255);}
3. 変数
かいつまんで言うと
- Processingの変数にはJavaScriptなどと違って型があります。
- 変数を使う前に宣言する必要があります。
変数の宣言
// 変数の型 変数の名前;int a;boolean z;
この例は、整数型(int)のaという名前の変数と、真偽値型(boolean)のzという名前の変数を宣言しています。
変数の型
種類 | 内容 | 読み方 | 値の例 |
---|---|---|---|
int | 整数 | イント(integerインテジャーの略) | 0 6 100 -12 |
float | 小数 | フロート | 1.2 0.445 |
String | 文字列 | ストリング | "tento" "name" |
char | 文字 | チャー(characterキャラクターの略) | 'a' 'Z' |
boolean | 真偽値 | ブーリアン | true false |
数字の変数
かいつまんで言うと
- 計算をするときは変数の型に注意しましょう。たとえば、int(整数)のまま割り算をしても答えはint(整数)のままです。
intとfloat
intのまま割り算をすると小数点以下が切り捨てになります。
int a = 11;int b = 4;
a / b; // 2
そこで、float()
を使って変換してから計算します。
int a = 11;int b = 4;// いったんfloatに変換するfloat c = float(a);float d = float(b);
c / d; // 2.750
乱数を使うには
乱数は、 random()
を使います。
float a = random(7); // 0から7までのあいだの少数が出力されるfloat b = random(50,100); // 50から100までのあいだの少数が出力される
文字列の変数
かいつまんで言うと
- 文字はchar、文字列はString
- 文字列の型は
String
。Sが大文字なことに注意。
文字と文字列
「文字」charは、1文字のデータです。「文字列」Stringは、1文字よりも長いデータを入れることができます。 文字データは '
(シングルクオート)で囲み、文字列データは "
(ダブルクオート)で囲みます。
char a = 'A';String x = "TENTO";
文字列の操作
String t1 = "I am a";String t2 = " Hero";
// 文字列をくっつけるString title = t1 + t2; // titleは"I am a Hero"になります。
// 文字列の長さtitle.length(); // 11になります。
// 分割String[] x = split(title, " "); // 空白スペースで分割します。x[1]; // "am"になります。
文字列と数字の変換
データを文字列に変換するには str()
関数を用います。
int a = 10;int b = 20;String sa = str(a);String sb = str(b);a + b; // 30になります。sa + sb; // "1020"になります。
4. 配列
かいつまんで言うと
- 配列を宣言するときには
[]
をつけます。 - 配列は最初に初期化する必要があります。
- 配列の添え字(そえじ)は
0
から始まります。
配列の宣言
int[] numbers;String[] cars;
配列の初期化
初期化するときには、new(ニュー) を使います。
numbers = new int[3];cars = new String[5];
この例では、変数numbersは3つのデータが入るようになり、carsには5つのデータが入れられるようになります。中身は空です。
配列の中身を一度に入れてしまうやり方
初期化時に、最初からデータを入れてしまうやり方があります。
int[] numbers = {7,5,3};String[] cars = {"bmw", "toyota", "honda", "mazda", "suzuki"};
配列へのアクセス
配列の一つ一つの要素には []
を使ってアクセスします。 []
の中に入れる数字(添え字)は 0から始まる ことに注意してください。
String[] robots = {"Gundam", "Doraemon","Atom"};robots[0]; // 1番目の要素。中身は"Gundam"robots[2]; // 3番目の要素。中身は"Atom"
// robotsは3個しか定義されいないので、4番目にアクセスしようとするとエラーになります。robots[3] = "Macross"; // エラー!!
5. 関数
かいつまんで言うと
- 処理をまとめて扱いやすくするもの
戻り値の型 関数名(引数の型 引数1, 引数の型 引数2, ...){ 処理をここに書く return 戻り値; // 戻り値がない場合は省略可}
例えば、2つの整数の和を返してくれる関数sum()を作るなら次のようにします。
int sum(int a, int b){ int sum = a + b; return sum;}
sum(4, 7) // 戻り値11
6. 条件分岐(じょうけんぶんき)
if文
if(<条件>){ <実行すること>}
// 例:キーがaだったらxを10だけ小さくするif(key == 'a'){ x -= 10;}
if〜else文
if(<条件>){ <条件があてはまったときに実行すること>}else{ <条件があてはまらなかったときに実行すること>}
// 例:xが100よりも大きかったら赤く、それ以外は緑にするif(x > 100){ fill(255, 0, 0);}else{ fill(0, 255, 0);}
if〜else if文
if(<条件1>){ <条件1があてはまったときに実行すること>}else if(<条件2>){ <条件2があてはまったときに実行すること>}else{ <条件があてはまらなかったときに実行すること>}
// 例:xが100よりも大きかったら赤く、xが50よりも大きかったら黄色に、それ以外は緑にするif(x > 100){ fill(255, 0, 0);}else if(x > 50){ fill(255, 255, 0);}else{ fill(0, 255, 0);}
7. 繰り返し
while文
int a = 0;while(a < 5){ ellipse(a * 100, 100, 10, 10); a += 1;}
for文
for(int a = 0; a < 5; a++){ ellipse(a * 100, 100, 10, 10);}