ともろーの日記

Initializing . . .

Processing ではじめるプログラミング 11日目(型のお話)

これまで、変数というものを宣言するとき、いつも int というものを用いてきました。

これは、整数の変数を宣言するときに使うもので、-2,147,483,648 ~ 2,147,483,647 までの整数値しか扱うことができません。

試しに小数点のある数字を入れてみてください。エラーが起こります。

int a = 123.456;
println(a);

f:id:tomorrow63:20160528105420p:plain:w300

小数点のある数字を扱うためには、floatという型を使います。

float a = 123.456;
println(a);

f:id:tomorrow63:20160528105920p:plain:w300

これで問題なく動作するようになりました。


その他の型

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 を用い、出力ごとに改行してください。

ヒント:素数というものがどんなものか考えてみよう。いろんな作り方があるよ。

その数より前の素数で割り切れない数だから....????








回答例

コードの書き方にはいろいろな方法があります。同じものが作れたら正解です!

f:id:tomorrow63:20160528112500p:plain:w300

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;
  }
}