
【改訂版】Eclipseではじめるプログラミング(2)
Javaで一から理解するプログラムの変数と演算子
株式会社ガリレオ
小山博史
2009/2/10
これからプログラミングを学習したい方、Javaは難しそうでとっつきづらいという方のためのJavaプログラミング超入門連載です。最新のEclipse 3.4とJava 6を使い大幅に情報量を増やした、連載「Eclipseではじめるプログラミング」の改訂版となります
変数はプログラミングの基本中の基本
| 今回の主な内容 ・変数はプログラミングの基本中の基本 ・プログラム実行中に値が変わる数「変数」 ・参考 「もっと型を調べてみよう」 ・変数を使ったプログラムを作ってみよう ・コンピュータに“計算”をさせるための“式”と“演算子” ・加減乗除の式を使ったプログラムを作ってみよう ・次回は、プログラム処理の流れを“制御”する方法 |
インターネット上のショッピングWebサイトなどで、カートに品物を追加すると、現在の買い物に必要な総額が表示されるというのをよく見掛けませんか?
この総額は、品物を追加したり削除したりするたびに変わります。こういったコンピュータを操作している間に値が変化するようなものを扱うプログラムはどのように作ればいいのでしょうか?
今回はこういったプログラムを作成するのに必要な、変数と型について解説します。今回作成するプログラムで、「変数の宣言」「変数へ値を代入」「変数の値を参照」について、どうコーディングするのかを学ぶことができます。
非常に単純ですから、難しいことはありませんが、実行時にユーザーが指定した値を使って計算するプログラムでは、変数が必須となります。プログラミングの基本中の基本として覚えておく必要があります。
なお、EclipseでJavaプログラミングを始める準備がまだの方は、連載第1回の「Eclipse 3.4で超簡単Javaプログラミング基礎入門」で準備しておいてください。
プログラム実行中に値が変わる数「変数」
「変数」とは、値を入れる“入れ物のようなもの”です。入れ物なので、変数の中に入る値は変更できます。先ほどのショッピングサイトの総額表示の例では、この変数を総額の計算に用いています。別の表現をすれば、変数とは「プログラムを実行している間に値が変わる数」のことともいえるでしょう。
コンピュータはプログラムを実行している間、この数をメモリに書き込んで保持したり、メモリに保持していた数を読み込んで計算をしたりすることができます。こういった計算に利用するメモリの領域を確保するためには変数の宣言をします。
■ コンピュータの「メモリ」ってどうなっているの?
「メモリ(memory)」というのは、図1に示すようなマス目のシートのようなものとしてイメージすると分かりやすいでしょう。各マス目には0か1の値が書き込めます。各マス目には番号(アドレス、address)を割り振って一意に場所を決めることができるようになっています。
![]() |
| 図1 Eclipse起動時に表示されるスプラッシュ画面 |
この例では、8マスごとにアドレスが割り振られています。例えば、図1の1600から1602の各アドレスには2進数で整数値が入っていると見なすと、1600には1(2進数で表すと、00000001)、1601には2(2進数で表すと、00000010)、1602には3(2進数で表すと、00000011)が入っているといえます。コンピュータは、これらのマス目に0や1を書き込むことで値を保持したり、書き込まれている値を読み出して計算へ利用したりするのです。
■ 変数の基本型(プリミティブ型)
変数の宣言をするときには、メモリ領域をどのように使用するかを決めるための型と、そのメモリ領域の読み書きをするときに使う変数名(正確には、「識別子」)とを指定します。
型にはプログラマが拡張できない基本型(プリミティブ型)と、プログラマが拡張できる参照型(リファレンス型)がありますが、今回は基本型を理解しましょう。ここでは基本型の中でも、初めに知っておくべき3つの型だけを紹介します(表1)。
| 表1 Javaの基本型(一部) | ||||||||
|
参考 「もっと型を調べてみよう」 |
| 正確には、booleanは「論理型」、intは「32ビット符号付き2の補数表現の整数」、doubleは「64ビットIEEE 754-1985浮動小数点数」です。ここでは読者が理解しやすいように大ざっぱに分類しているだけです。 例えば、1.0×(10の-400乗)は、表1ではdoubleの取り得る値の範囲に含まれますが、実際には使えません。これらの詳細については、本連載の範疇(はんちゅう)を超えるので説明しませんが、興味のある読者の方はコンピュータ科学の教科書などを調べてみてください。 @ITの記事では以下が参考になると思います。 |
■ Javaで変数の宣言をするためには?
Javaで具体的に変数の宣言をするためには、リスト1のように記述(コーディング)します。変数名は「文字で始めて、その後に文字か数字を続けたもの」を指定します。変数の宣言が終わったことを示すために、最後にセミコロン(;)を書きます。
| リスト1 |
int i; |
ここで、「プログラムはコンピュータへの命令を記述するものだ」ということを思い出してください。リスト1はコンピュータへ「intの値を読み書きするためのメモリを用意して、iという名前で使えるようにしなさい」と命令しています。Javaではこのような命令を文と呼びます。セミコロン(;)は文の終了を示すものと考えてもよいです。
次ページでは、実際にEclipseで変数を使ったプログラムを作成し、実行してみましょう。
| Index | ||||||||
|
||||||||
【改訂版】Eclipseではじめるプログラミング バックナンバー 連載インデックスへ»
- 第1回 Eclipse 3.4で超簡単Javaプログラミング基礎入門
- 第2回 Javaで一から理解するプログラムの変数と演算子
- 第3回 プログラミングの醍醐味! Javaで“条件式”を理解する
- 第4回 プログラミングの真骨頂! Javaで“反復処理”を覚える
- 第5回 データ集合を扱うのに便利なJavaの配列と拡張for文
- 第6回 複雑なデータを表現できるクラスやフィールドって?
- 第7回 クラスの振る舞いを表すJavaの“メソッド”とは?
- 第8回 Javaの参照型を文字列操作で理解して文法を総復習
- 第9回 プログラムを「変更」しやすくする“インターフェイス”
- 第10回 Javaの実案件に必須のパッケージとインポートを知る
- 第11回 「static」でクラス共有の変数・メソッドを使いこなせ!
- 第12回 継承やオーバーライドで簡単にクラスを“拡張”しよう
- 第13回 “コンストラクタ”と初期化、本当に理解できてる?
- 第14回 再利用性の高いクラス作成に重要な“アクセス制御”
- 第15回 Javaは「抽象クラス」で実装を上手に再利用できる
- 第16回 “ネスト”した型で始める軽量Javaプログラミング!?
- 第17回 あなたの知らない、4つのマニアックなJava文法
- 第18回 強く型付けされているJavaの理解に必修の“型変換”
- 第19回 キュー構造をJavaで実装してジェネリック型を理解する
- 第20回 拡張for文の真の実力を知り、反復処理を使いこなせ
- 第21回 7ステップで理解するJavaでの列挙型/enum使用法
- 第22回 いまさら聞けない「Javadoc」と「アノテーション」入門
- 第23回 プログラマの宿命! 例外とエラー処理を理解する
- 第24回 Javaの例外処理で知らないと損する7つのテクニック
| Java Solution全記事一覧 |
TechTargetジャパン
- EclipseでScalaプログラミングを始めるための基礎 (2012/2/10)
概要や5つの特徴を紹介し、開発環境を構築して対話型実行環境「REPL」やEclipse上でHello Worldを実行します - 並列分散処理の常識をHadoopファミリから学ぶ (2012/2/8)
並列分散処理の課題やHadoopの長所/短所、そして短所を補うHadoop関連プロジェクトの構成や概要などを簡単に紹介 - WebLogicサーバ最新版「12c」の気になる4つの特徴 (2012/1/31)
久々にメジャーアップグレードしたJavaアプリケーションサーバについて、製品担当者に軽量インストーラなどの特徴を聞いた - GitHubをもっとソーシャルに使いこなすための7つ道具 (2012/1/23)
ソースコードホスティングのGitHub周辺で便利な新サービスが続々登場しているので、まとめて紹介しよう。特に連動クラウド「fluxflex」が注目だ
|
|
キャリアアップ
スポンサーからのお知らせ
- - PR -
イベントカレンダー
- - PR -

