未分類

変数

投稿日:

変数のしくみを知る

プログラムを実行するとき、いろいろな値を記憶させながら処理をしていきます。例えば

ユーザーが入力した数値を画面に出力する

というプログラムについて考えてみましょう。まず、数値をどこかに「記憶」しておかないといけません。そのハコのようなものを変数といいます。

変数の「名前」となる識別子

変数を扱うには、次の2つのことを決めておかないといけません。

  1. 変数に「名前」をつける
  2. 変数の「型」を設定する

最初に、1について説明しましょう。変数を使用するために名前をつけます。名前は私たちが選んで決めることができます。但しこれらの名前として使える文字、数字の組合せ(識別子)には、以下のルールがあります。

  • 英字・数字・アンダースコア(_)・$など。
  • 長さには制限はありません。
  • Javaの予約語、returnやclassなどは使用できません。
  • 数字で始めることはできません。
  • 大文字と小文字は異なるものとして区別されます。

上の規則に当てはまる識別子を上げてみましょう。

  • a
  • abc
  • ab_c
  • F1

一方下記のものは正しくありません。

  • 12a     数字で始まっているため正しくありません。
  • return    Java予約語は使用できません。
  • is-a     特殊な文字は使用できません。

型のしくみを知る

変数には値を記憶させることができます。値の種類は、データ型(data type)、または型と呼ばれています。

  • 名前               記憶できる値の範囲
  • boolean             trueまたはfalse
  • char               2バイト文字(¥u0000~¥uffff)
  • byte               1バイト整数(-128~127)
  • short               2バイト整数(-32768~32767)
  • int                4バイト整数(-2147483648~2147483647)
  • long               8バイト整数(-9223372036854775808~9223372036854775807)
  • float               4バイト単精度浮動小数点数
  • double              8バイト倍精度浮動小数点数

short型という種類の値を記憶できる変数

をあらわしています。このような変数を使うと、-32768~32767までの範囲の整数のうちの、どれか1つの値

を記憶させることができます。

short型の変数には、小数点以下のケタをもつ「3.14」などといった値を記憶することはできません。このような場合は小数点以下の数値をあらわせるdouble型などの変数を使わないといけません。

上記の「×バイト」を見てください。「記憶する値がどのくらいのメモリが必要か」をあらわしています。

変数を宣言する

変数の名前と型が決まったら、さっそくコードの中で変数を使ってみましょう。

「変数を用意する」作業が必要です。このことを変数を宣言するといいます

  • int num;          ①int型の変数numです
  • char c;            ②char型の変数cです
  • double db, dd;       ③double型の2つの変数dbとddです

③のように、変数はカンマ(,)で区切り、1つの文の中にまとめて宣言することができます。

変数に値を代入する

変数を宣言すると、変数に特定の値を記憶させることができます。このことを、値を代入するといいます。

num = 3;

この=記号は、値を記憶させる機能をもっています。

それでは、実際にプログラムを作成して、変数を使ってみることにしましょう。

①でint型の変数numを宣言します。②で変数numに3を代入しています。

このように、「=」という記号は、数学の式に使用する「●と○が等しい」という意味ではありません。「値を代入する」という機能です。注意しておきましょう。

変数の値を出力する

③の部分を見てください。プログラムを実行したとき実際に出力されるのは、

numという変数名ではなく、変数numに格納されている

3という値になります。

変数を初期化する

Sample3_05_1では、

  1. int num;      変数を宣言
  2. num = 3;      変数に値を代入

としていました。しかし、Javaでは変数を宣言したとき、同時に、変数に値を格納する

という書き方もできます。このことを

変数を初期化する、といいます。初期化コードは、次のように書きます。

int num = 3;   変数を3で初期化しています。

変数の値を変更する

いったん代入した変数の値を新しい値に変更することができます。

はじめに変数numに3を代入し、①で出力。②で新しい値5を代入しています。

値を上書きし、変数の値を変更する

という処理ができるのです。

ほかの変数の値を代入する

=記号を使用してnum2にnum1の値3が格納されたことがわかります。このように、

変数の値をほかの変数に代入する

こともできます。

値の代入についての注意

  1. int num;
  2. num = 3.14;

変数numに3.14を代入しようといています。しかしコンパイルできません。int型の変数には1.41や3.14といった、小数点のついた数値を格納できないからです。

型については、次の章でもう一度詳しく説明することにしましょう。

~変数名をつける際の心得~

プログラマーのためのネーミングルールを紹介します。

  • 現場のコーディング規約に従ってください。
  • 誰が見てもどんなデータが代入されているかわかる名前にしましょう。
  • できれば英語で!

Google検索でcodicと入力→左側に日本語入力してください。右側に適切な変数名を表示してくれます。思いやりのあるコーディングを心がけましょう。

-未分類

執筆者:


comment

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

関連記事

Android 練習問題(タッチイベント)

     以下の様な動作をするアプリを作成してください。 問題2-1 TouchMove 初期表示時 画像上をタップすると画像が半透明で表示される。 画像上をタップしたまま指をスライドさせると画像が移 …

サンプルイメージ

スレッドの基本

        これまでのプログラムは、main()メソッドから始まって、順番に文を実行、条件判断文をたどっていました。 Javaでは、この「処理の流れ」を複数もつことができます。 コード上から複数の …

サンプルイメージ

練習問題

練習問題  HelloWorld.java 以下のプログラムの空欄を埋めて実行結果のように表示させてください。 練習問題  ChangeXY.java 下のプログラムの空欄を埋めてアイテムAとアイテム …

サンプルイメージ

クラスとは

これまでの章では、変数や配列など、さまざまなjavaの機能について学んできました。このような知識を使えば、いろいろなプログラムを自由に作成することができます。 たとえば、カードゲームのカードを管理する …

サンプルイメージ

練習問題(配列)

練習7-1   BirthStone.java 誕生月を入力すると、その月の誕生石を表示するプログラムを、下の空欄を埋めて作成してください。 練習7-2   DispArray1.java 以下のプロ …