2020.03.23
変数について
はじめに
変数とは、プログラムの中で値を入れておく入れ物のようなものです。その変数を使ってプログラムの中で計算や処理が実現できます。
変数の種類
具体的には、以下の変数があります。
型名 | 分類 | 情報量 | 値の範囲 |
---|---|---|---|
boolean | 論理型 | 1bit | true または false |
char | Unicodeの1文字 | 16bit | \u0000 ~ \uFFFF |
byte | 符号付き整数型 | 8bit | -128(-27) 〜 127(27-1) |
short | 符号付き整数型 | 16bit | -32768(-215) 〜 32767(215-1) |
int | 符号付き整数型 | 32bit | -2147483648(-215) 〜 2147483647(215-1) |
long | 符号付き整数型 | 64bit | -9223372036854775808(-231) 〜 9223372036854775807(231-1) |
float | 単精度浮動小数点数 | 32bit | ±3.40282347E+38 ~ ±1.40239846E-45 |
double | 倍精度浮動小数点数 | 64bit | ±1.79769313486231570E+308 ~ ±4.94065645841246544E-324 |
Javaソースコード
Variable.java
001 002 003 004 005 006 007 008 009 010
public class Variable { public static void main( String[] args ) { int a, b, c; // int型の変数a,b,cを宣言 a = 10; // int型の変数aに10を代入 b = 5; // int型の変数bに5を代入 c = a + b; // int型の変数cにaとbを足したものを代入 System.out.println( c ); // cを表示 } }
コンパイル ソースコードが「ANSI」の場合
C:\talavax\javasample>javac -encoding sjis Variable.java
コンパイル ソースコードが「UTF-8」の場合
C:\talavax\javasample>javac Variable.java
実行
C:\talavax\javasample>java Variable
出力結果
15
Javaソースコードの解説
変数は使う前(上の行)に宣言しなければなりません。これはデータの型を明確にするためです。この例では、a、b、cという名前の変数をint型で宣言しています。
003
int a, b, c; // int型の変数a,b,cを宣言
次に変数aとbに値を代入しています。変数aに10、変数bに5を代入しています。
005 006
a = 10; // int型の変数aに10を代入 b = 5; // int型の変数bに5を代入
変数aとbの値を足して変数cに代入しています。
007
c = a + b; // int型の変数cにaとbを足したものを代入
実際にプログラムを作成するときには、計算精度・計算速度・メモリ容量などを考慮して、どの型の変数を使うかを決めなければなりません。
bit数の大きい変数は、格納できる値の範囲が広いので計算精度が良くなりますが、計算時間はbit数の小さいものに比べて遅くなります。消費メモリ量も多くなります。
bit数の小さい変数は、格納できる値の範囲が狭いので、計算をした結果がオーバーフロー(変数に格納できない数値になる)が起こることがあります。
それでは、どういうことに、どの変数型を使えばよいかを具体例で示します。
型名 | 具体的な使い方の例 | 説明 |
---|---|---|
boolean | 変数名:gender 内容:性別 記述例:gender=true;(男) false;(女) |
2つの選択肢のうち、1つを選択するものに使う |
short | 変数名:score 内容:テストの点数 記述例:score=75; |
整数で表すもので、桁数がそれほど必要でないものに使う |
int | 変数名:sales 内容:1年の販売個数 記述例:sales=125663; |
整数で表すもので、桁数が必要なものに使う |
long | 変数名:money 内容:預金残高 記述例:money=540000; |
整数で表すもので、桁数が必要なものに使う |
float | 変数名:hight 内容:身長 記述例:hight=172.3f; |
小数点が必要で、桁数がそれほど必要でないものに使う |
double | 変数名:pai 内容:円周率 記述例:pai=3.14159265; |
小数点が必要で、桁数が必要なものに使う |
関連コンテンツ
2値化は、画像処理の1つの方法で、カラー画像を2つ色だけで表現する画像に変換することです。この記事では、2値の画像メモリを使って変換しています。
数値を2進数で表したときの各桁の「0」と「1」に対して演算を行えます。4種類の演算、AND(論理積)、OR(論理和)、XOR(排他的論理和)、NOT(否定)を詳しく説明しています。
画像処理プログラムの簡単な例として、JPEGフォーマットの画像ファイル(.jpg)を、PNGフォーマットの画像ファイル(.png)に変換するソースコードを解説します。
円の中に含まれる格子の数と格子の外の数から円周率πを計算する方法を紹介しています。図とJavaのソースコードでくわしく説明していますので、興味のある方は記事をご覧ください。
このサイトのオリジナルクラスのMyBufferedImage0クラスを利用して、JPEG、PNG、BMP、TIFFなどの各種画像の横と縦のピクセル数を求めるプログラムを紹介しています。
このサイトのオリジナルクラスのMyBufferedImage0クラスを利用して、フルカラーの画像をセピア色に変換してをJPEGG形式のファイルに保存するプログラムを紹介しています。
このサイトのオリジナルクラスのMyBufferedImage0クラスを利用して、JPEG、BMP、TIFFなどの各種画像ファイルをPNG形式のファイルに保存するプログラムを紹介しています。
円の中心座標(0,0)、半径rで表される円の円周上のランダムな座標を求めるJavaのソースコードを紹介しています。ラジアンを乱数で発生して座標を計算しています。
円の中心座標(0,0)、半径rで表される円の円周上のランダムな座標を求めるJavaのソースコードを紹介しています。度単位の角度の乱数をラジアンに変換して座標を計算しています。