変数

コンピュータ(プログラム)に入力された値は一時的にメモリに記録する必要があります。メモリの特定領域を確保して、指定した名前でアクセスするための仕組みが変数です。

変数は、そのデータ型(整数、浮動小数点、文字、など)と名前の組で宣言をする必要があります。たとえば、1つの整数データを保持することができる x という名前の変数は以下のように宣言します。

int x;

代入演算

変数の役割は、プログラムで扱う値をメモリへ書き込み、必要な時に参照することです。最も基本となる代入演算では = の左側の変数(メモリ領域)に、右側の式の計算結果が書き込まれます。変数はその名の通り「変わる数」で、代入演算によって値を何度でも変更することができます。一方、式の中に含まれる変数は、それが指すメモリ領域の値を返します。たとえば、次のプログラムは、変数a, b にそれぞれ5, 8 を格納し、その後それらの中身を交換するプログラムです。

int a, b, t; // 3つの整数を宣言
a = 5;       // a に 5 を格納 
b = 8;       // b に 8 を格納 
t = a;       // t に a の値を格納 
a = b;       // a に b の値を格納、この直後 a の値は 8 になる
b = t;       // b に t の値を格納、この直後 b の値は 5 になる

算術演算

プログラミングの目的はコンピュータに計算をさせることです。計算の最も基本となるものが算術演算です。定数、変数、関数などに対して算術演算を行い計算式を記述します。四則演算はそれぞれ、+-*/、で行います。たとえば

y = 2 * a - b / c;

は、「2 × a − b ÷ c」の計算結果を y に代入するという意味になります。代入演算 = は、左辺の変数に右辺の計算結果を代入するという意味になることに注意してください。

x の3乗は x * x * x と記述することができます。JAVAで x^3^ は、べき乗のための演算子ではないことに注意してください。

標準入力

コンピュータへの最も基本的な入力の1つが標準入力です。データの入力先は主にプログラム中に宣言された変数(メモリ)になります。JAVAではScannerクラスのオブジェクトによって様々な形式のデータを標準入力から受け取ることができます。標準入力とは、ここではキーボードに対応すると考えてください。

次のプログラムは、標準入力から1つの整数を読み込みます。

import java.util.Scanner;                    // Scannerを使うために、クラスをインポートする

class Main{
    public static void main(String[] args){
        Scanner sc = new Scanner(System.in); // System.inに関連付けられたScannerのオブジェクトを作成
        int x = sc.nextInt();               // このオブジェクトを使い、標準入力から1つの整数を変数 x に読み込む
        /*
            処理 
        */
    }
}

importは、あらかじめ機能がまとめられたライブラリを取り込むための命令文です。ここでは、パッケージjava.utilに含まれているScannerクラスを取り込んでいます。この処理によって、Scannerクラスが使えるようになります。

newは、クラスからオブジェクトを生成しその場所(アドレスのようなもの)を返す演算子です。ここでは、標準入力を表すSystem.inを渡して、Scannerのオブジェクトを生成し、それを変数scでアクセスできるように宣言しています。たとえば、sc.nextInt()は、生成したスキャナオブジェクトから、1つの整数を読み込みそれを返します(ここでは、その結果を変数xに代入しています)。

標準出力

標準出力に変数 x の値を出力するには以下のように記述します。

System.out.println(x);

参考文献

4つの言語で解ける 実践プログラミング問題集(近代科学社)

Reference

 

オンラインジャッジではじめるC/C++プログラミング入門 (マイナビ)

AIZU ONLINE JUDGE のコース問題を題材にした解説書です。各トピックごとに C/C++ 言語の基礎的な内容を学習し、Introduction to Programming の演習問題にチャレンジしていきます。内容は敷居の高いものではなく、プログラミング初学者が取り組む例題からスタートしています。