未分類

変数

投稿日:

変数のしくみを知る

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

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

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

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

変数を扱うには、次の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

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

関連記事

サンプルイメージ

スレッドの基本

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

サンプルイメージ

メソッドの引数

メソッドでさらに柔軟な処理を行うことができます。メソッドを呼び出す際に、 呼び出し元からメソッド内に何か情報(値)を渡し、その値に応じた処理を行う ということができます。メソッドに渡す情報を引数といい …

サンプルイメージ

練習問題(メソッド)解答例

次の章ではクラスのアクセス制限、オーバーロード、コンストラクタについて学んでいきましょう。

サンプルイメージ

コンストラクタのしくみ

                 クラスの中には、フィールドとメソッドのほかに、コンストラクタと呼ばれるものを記述することができます。 コンストラクタは、メソッドに大変よく似ています。しかし、コンスト …

サンプルイメージ

クラス型の変数

               クラスの基本で下記のようにオブジェクトを作成していました。 chara1のようにオブジェクトをさす変数を、Character型の変数と呼びました。さらに、newを使ってオ …