ということで、今回は復習として変数への代入について書いてみます。
シンプルに文字列を例に挙げてみます。
// まずは変数の宣言。変数名はtext String text; // 変数への代入。"代入"という文字列を代入 text = "代入";
ここまではOKでしょうか?
変数を宣言し、"="で値を代入します。
String型の変数の場合は""で囲んだ値(文字列)を代入できます。
イメージとしては、textという器に"代入"が入ってる感じかな。
String型は文字列の結合ができるので、ついでにおさらい。
// まずは変数の宣言。変数名はtext。"代入"という文字列を代入 String text = "代入"; // 変数textに"は簡単"という文字列を結合 text = text + "は簡単"; // text += "は簡単";とコーディングしても同じこと
文字列の結合は"+"を使います。
"Xperia Play" + "欲しい"は"Xperia Play欲しい"となります。
イメージはtextという器にまず"代入"と"は簡単"が順番に入っている感じ。
文字列の結合についてみましたが、 次の例はどうなるかわかりますか?
// まずは変数の宣言。変数名はtext String text; // int型の変数を宣言。変数名はnumber。1を代入 int number = 1; // textに文字列とint型変数を結合して代入 text = "Androidが" + number + "番好き!";
textは最終的に"Androidが1番好き!"が代入されています。
変数numberはint型なのにString型に代入できるの?って思った方、するどい!!
本来であればコンパイルエラーとなりますが、
javaにはオートボクシングという機能があり、自動で文字列に変換してくれています。
但し、text = number;みたいにint型の変数のみを代入しようとするとエラーになります。
文字列と合わせてならOKって事です。
因みに初心者が陥りやすい間違え。sirocoもよくやったな。。。
// まずは変数の宣言。変数名はtext String text; // "1 + 1 = 2"と代入したい。。。 text = "1 + 1 = " + 1 + 1; // "1 + 1 = 11"と表示される。 // 左から結合されるため"1 + 1 = 1" + 1となってしまう。 // text = "1 + 1 = " + (1 + 1); すれば希望通り // 結合するつもりが再代入してしまう。。。 text = "私は"; text = "Androidが"; text = "好きです"; // 最終的に代入されているのは"好きです"のみ。。。
などなど。
Stringに偏りましたが、代入について少しでも理解が深まれば幸いです(^^ ♪
0 件のコメント:
コメントを投稿