インスタンス instance
基本データ型 primitive type
データの型には、基本データ型と 参照型 reference type があります。
基本データ型の種類と、メモリ上を占有するサイズ、記憶できる値の範囲は以下の通りです。
型 | サイズ | 値の範囲 | ||
---|---|---|---|---|
数値 | 整数 | byte | 8ビット | -128 〜 +127 |
short | 16ビット | -32768 〜 +32767 | ||
int | 32ビット | -2147483648 〜 +2147483647 | ||
long | 64ビット | -9223372036854775808 〜 +9223372036854775807 | ||
文字 | char | 16ビット | 0 〜 65535 | |
浮動小数点 | float | 32ビット | ±3.40282347E+38 〜 ±1.40239846E-45 | |
double | 64ビット | ±1.79769313486231570E+308 〜 ±4.94065645841246544E-324 | ||
真偽値 | boolean | - | true false |
符号なしの整数型はありません。文字型は、正の整数値をとります。
基本データ型の変数には、参照型のようにポインタが代入されるのではなく、値そのものが代入されます。
整数型と文字型に許される演算は、以下のとおり:
比較演算子(結果は,型 boolean の値になる) <,<=,>,>=, ==,!= 数値演算子(結果は,型 int 又は型 long になる) 単項符号演算子 + 及び - 乗除演算子 *,/ 及び % 加法演算子 + 及び - 増分演算子 ++ 減分演算子 -- シフト演算子 <<,>> 及び >>> 補数演算子 ~ ビット単位演算子 &,| 及び ^ 条件演算子 ? : キャスト演算子 ( ) 文字列連結演算子 +
浮動小数点型に許される演算は、上記の整数型に許される演算子から、 シフト演算子、補数演算子、ビット単位演算子 を除いたもの。
論理値型に許される演算は、以下のとおり:
関係演算子 == 及び != 論理補数演算子 ! 論理演算子 &,^ 及び | 条件付き演算子 && 及び || 条件演算子 ? : 文字列連結演算子 +
キーワード keyword
行の終り end of line
クラス class
クラス定義
プログラムで取り扱うデータの性質と、
そのデータの取り扱い方をまとめて、
ひとくくりにしたものをクラスと
いいます。
Javaプログラムを記述するにあたり、
まず「こんなクラスをつかいますよ」という宣言をしなければなりません。
この宣言のことをクラス定義といいます。
クラス定義は下記のように、
クラスがもつデータの性質を宣言する「変数の定義」と、
そのクラスのインスタンス
を生成する方法を宣言する「コンストラクタの定義」、
および、その変数の取り扱い方を宣言する「メソッドの定義」からなっています。
class クラス名 { ... クラス定義の始まり 変数の定義 コンストラクタの定義 メッソドの定義 } ... クラス定義の終わり
new javax.swing.JFrame("私の名前");
言語 Language
コマンド・ラインのパラメタ
DOS画面から、Javaプログラムを実行する際に少量のデータを プログラムに渡す方法。たとえば、DOS画面で
プログラムでの取り扱いかたは コマンド・ライン 参照。
講義録は、5.1 コマンド・ラインからの入力 および、 5.2 判断を分岐 を参照。
コメント comment
「注釈」ともいわれ、他人が(または、本人が後で)プログラムを読む際の
助けになるような情報を、日本語や英語(というか、ふつーの言葉)
で埋め込んだもの。
次に述べる形を守る限り、何をどんな風に書いても、プログラムの動作には
影響を与えません。
コメントの形式は次のいずれかです。
コメントはコンパイルする際には、区切りの空白とみなされます。 つまり、空白をいれてよいところに書くことができます。 また、リテラルの中では /* が出てきてもコメントになりません。
コンパイルcompile
参照型 reference type
データの型には、基本データ型 primitive type と 参照型 があります。
参照型は、クラス型、インターフェース型、配列型の3種です。
参照型の変数には、オブジェクトに対するポインタか、 何も指していない空参照をあらわす定数 null のいずれかが、代入されます。
実行execution
整列 sort
ソート sort
デフォルト default
浮動小数点 floating point
プログラム program
コンピュータを動かすための一連の命令。
「あらかじめ、書いたもの」 pro-gram からきている。発想は、運動会や催し物の「プログラム」と同じ。
一連の命令の書き方の約束を「文法」といい、書き方の体系を 「言語」 あるいは、「プログラミング言語」といいます。
使用例:
Java言語で書かれたプログラム
簡単なJavaプログラムは、次のような構造をしている。
パッケージをいくつか参照し、あらかじめ定義ているクラスを、
以降のプログラムで使用できるようにする。
プログラミング programming
プログラムを作成すること。
プログラムを、「書く」、「作成する」、「つくる」、「コーディングする」 というように、いろんな言い方がされています。
プログラムを作成する手順は、以下のとおりです。
言語によっては、このコンパイルをおこなわず、ソースプログラムを直接実行するものがあります。 このような処理系をインタプリタと呼びます。
実行に先立って、リンクが必要な言語もあります。 プログラミング言語として提供されている機能を実行するために必要なプログラム(javaの場合はパッケージと呼ぶ、一般にはライブラリと呼ぶ) をまとめて、1つの実行可能プログラムにする作業です。リンクとか結合、あるいは make と呼ばれます。 javaの場合は、実行中に自動的に行われますので、リンクを意識する必要はありません。
プログラミング言語 Programming Language
プログラムを書くための一連の約束事(流儀)。
プログラムを構成する最小単位を語彙 Token といいます。
識別子や、リテラル、演算子などが語彙です。
言語を定めるには、まず語彙の書き方を決め、
さらに、どのように語彙を組み合わせると、
正しいプログラムが書けるのかを決めます。
正しい語彙の組み合わせ方のことを、「構文」、あるいは狭義の「文法」といいます。
さらに、この正しく組み合された語彙の集まりが、命令として実行されたときに、
コンピュータがどのように振る舞うかを決めます。
これを、構文に対する「意味」といいます。
すなわち、語彙、構文、意味によって、ひとつの言語が定義されます。
言語定義の例
予約語 keyword
ラッパークラス wrapper class
基本データ型はクラスではありません。このため、すべての基本データ型に対応して、 ラッパークラスというものが用意されています。 ラッパークラスの目的は以下の2つです。
基本データ型とラッパークラスの対応は以下のとおりです。
基本データ型 | ラッパークラス | 親クラス | |
---|---|---|---|
byte | Byte | Number | Object |
short | Short | ||
int | Integer | ||
long | Long | ||
float | Float | ||
double | Double | ||
char | Character | ||
boolean | Boolean |
【コンストラクタ】
Integer(int)
Character(char)
Double(double) など
例 | new Integer(10) |
new Character('a') |
ラッパークラスのインスタンスの値は変更できない。
Byte、 Short、 Integer、 Long、 Float、 Double に対して
あたえられた文字列を10進数とみなしてインスタンスを生成する
例 new Double("0.3141592653589793E1")
変換ができないときは NumberFormatException がスローされる。
Boolean に対しては、大文字小文字が混在していても、"true" の4文字であれば true に、それ以外の文字列であれば false と みなしてインスタンスを生成する
Character には この形式のコンストラクタはない。
【よく使われるメソッド】 Integer と Double について
メソッド | 機能 |
---|---|
public static Integer valueOf(String str) | 2番目の形式のコンストラクタと同様 |
public static Double valueOf(String str) | (同上) |
public String toString() | ラッパークラスのインスタンスから文字列への変換 例
Integer val = new Integer(10);
System.out.println( val.toString() ); |
public int intValue() | ラッパークラスのインスタンスから基本データ型への変換 例
Integer val = new Integer(10);
int sum += val.intValue(); |
public static int parseInt(String str) | 文字列 から int への変換 例
String s = "123"
int val = Integer.parseInt( s ); |
public static int parseInt(String str, int radix) | 文字列を radix 進法表示として int へ変換 例
String s = "123"
int val = Integer.parseInt( s, 8 ); |
public static double parseDouble(String str) | 文字列を double へ変換 例
String s = "123"
int val = Double.parseDouble( s ); |
リテラル literal
基本データ型の値の範囲については、 6.1 基本データ型 を参照のこと。