Processing ではじめるプログラミング 11日目(型のお話)
これまで、変数というものを宣言するとき、いつも int というものを用いてきました。
これは、整数の変数を宣言するときに使うもので、-2,147,483,648 ~ 2,147,483,647 までの整数値しか扱うことができません。
試しに小数点のある数字を入れてみてください。エラーが起こります。
int a = 123.456; println(a);
小数点のある数字を扱うためには、floatという型を使います。
float a = 123.456; println(a);
これで問題なく動作するようになりました。
その他の型
boolean型
これは、trueかfalseを入れるときに使います。
boolean flg = true; if(flg){ print("flg is true"); }else{ print("flg is false"); }
上の例だとboolean型のflgの中にtrueを入れておきます。
そのあと、if 文でflgが確認されます。
少し違和感を感じた人がいるかもしれません。しかし、このコードでも問題なく動作します。
if 文のあとの()には、条件が入ります。今までだと、if(a%2==0)などといった文になっていました。
a%2==0は、aを2で割った時のあまりが0 というもので、条件に当てはまる場合 true となっています。
すなわち、if(条件)としたときの条件がtrue になると後のカッコが実行されるというわけです。
もちろん下のようにも書くことができます。
boolean flg = true; if(flg == true){ print("flg is true"); }else{ print("flg is false"); }
練習問題
30までの素数を順番にコンソールに表示するコードをかいてください
数値の表示には println を用い、出力ごとに改行してください。
ヒント:素数というものがどんなものか考えてみよう。いろんな作り方があるよ。
その数より前の素数で割り切れない数だから....????
回答例
コードの書き方にはいろいろな方法があります。同じものが作れたら正解です!
int [] prime_number = new int[30]; boolean flg = true; for(int i = 0; i< 30;i++){ prime_number[i] = 0; } for (int num = 2 ;num < 30;num++){ int i; for(i = 0 ; prime_number[i]!=0 ; i++){ if (num%prime_number[i]==0){ flg = false; } i++; } if(flg){ prime_number[i]=num; println(prime_number[i]); }else{ flg = true; } }