JAva入門チュートリアル-2.1 Javaデータ型および変数の定義

22676 ワード

Javaは
強いタイプ
の言語で、変数を宣言するときにデータ型を指定する必要があります.変数(variable)の値は一定のメモリ領域を占めます.異なるタイプの変数が異なるサイズを占めます.
Javaには、4種類の整数型、2種類の浮動小数点型、1種類の文字型、1種類のブール型を含む8種類の基本データ型があります.下表を参照してください.
Java基本データ型
データ型
説明
使用メモリ
例を挙げる
コメント
byte
バイト型
1 byte
3, 127
 
short
たんせいけい
2 bytes
3, 32767
 
int
せいけい
4 bytes
3, 21474836
 
long
ちょうせいがた
8 bytes
3L, 92233720368L
longは最後にL文字(大文字と小文字はどうでもいい)が必要です.
float
単精度浮動小数点型
4 bytes
1.2F, 223.56F
floatは最後にF文字(大文字と小文字はどうでもいい)が必要です.
double
デュアル精度浮動小数点型
8 bytes
1.2, 1.2D, 223.56, 223.56D
doubleは最後にD文字があるほうがいいです(大文字と小文字は関係ありません).
char
もじがた
2 bytes
'a', ‘A’
文字型データは1文字のみで、単一引用符で囲まれています.
boolean
ブールがた
1 bit
true, false
 
整数データの場合、通常intタイプが使用されます.しかし、広島長崎に投下された原爆から放出されるエネルギーを表すにはlongタイプが必要だ.byteとshortタイプは、主に特定のアプリケーションの場合に使用されます.たとえば、最下位のファイル処理や、ストレージ容量を占有する大きな配列を制御する必要があります.
Javaでは、整数データの長さはプラットフォームとは無関係であり、ソフトウェアが1つのプラットフォームから別のプラットフォームに移植されたときにプログラマーに与える多くの問題を解決します.これに対して、C/C++整数データの長さはプラットフォームに関連しており、プログラマは異なるプラットフォームに対して適切な整数を選択する必要があり、64ビットシステム上で安定して動作するプログラムが32ビットシステム上で整数オーバーフローする可能性がある.
8進数には0の接頭辞があり、例えば010は10進数の8に対応する.16進数には0 xの接頭辞があり、例えば0 xCAFEがある.Java 7から、プレフィックス0 bを使用してバイナリデータを表すことができ、例えば0 b 1001は10進数の9に対応する.同様にJava 7から、下線を使って数字を区切ることができます.英語の数字のように書くことができます.例えば、1_000_000は100000、つまり100万を表します.下線は、コードをより読みやすくするために、コンパイラがこれらの下線を削除します.
また,C/C++とは異なり,Javaでは符号なしタイプ(unsigned)はサポートされていない.
floatタイプの有効数字は最長7ビットで、有効数字の長さは整数部と小数部を含む.例:

    
    
    
    
  1. float x = 223.56F;
  2. float y = 100.00f;

注意:各floatタイプの後ろには、floatタイプを表すフラグ「F」または「f」があります.
doubleタイプの有効数字は最大15ビットです.floatタイプと同様にdoubleの後ろにもフラグ「D」または「d」が付いています.例:

    
    
    
    
  1. double x = 23.45D;
  2. double y = 422.22d;
  3. double z = 562.234;

注:フラグのない浮動小数点型データは、システムのデフォルトではdoubleタイプです.
多くの場合doubleタイプを使用しており、floatの精度はニーズを満たすことが難しい.
異なるデータ型の適用例:

    
    
    
    
  1. public class Demo {
  2. public static void main(String[] args){
  3. //
  4. char webName1 = ' ';
  5. char webName2 = ' ';
  6. char webName3 = ' ';
  7. System.out.println(" :" + webName1 + webName2 + webName3);
  8. //
  9. short x=22; //
  10. int y=022; //
  11. long z=0x22L; //
  12. System.out.println(" :x = " + x + ", y = " + y + ", z = " + z);
  13. //
  14. float m = 22.45f;
  15. double n = 10;
  16. System.out.println(" :" + m + " * " + n + "=" + m*n);
  17. }
  18. }

実行結果:
ウェブサイトの名前は:微学苑
10進数に変換:x=22,y=18,z=34
計算積:22.45*10.0=224.5000000762939453
実行結果から,浮動小数点型データが整数のみで小数点がない場合でも,コンソール出力時にシステムに小数点が自動的に加算され,小数点がすべて0に設定されることが分かった.
ブール型の説明
プログラミングの経験があり、ブール型を理解している場合は、次のチュートリアルをスキップしてください.次のチュートリアルは、C言語の基礎しかない読者(C言語にブール型はありません).
C言語では、判断条件が成立すると1が返され、そうでない場合は0が返されます.たとえば、次のようになります.

    
    
    
    
  1. #include <stdio.h>
  2. int main(){
  3. int x = 100>10;
  4. int y = 100<10;
  5. printf("100>10 = %d
    ", x);
  6. printf("100<10 = %d
    ", y);
  7. return 0;
  8. }

実行結果:
100>10 = 1
100<10 = 0
しかしJavaでは異なり、条件が成立してtrueを返し、そうでなければfalse、すなわちブールタイプを返します.例:

    
    
    
    
  1. public class Demo {
  2. public static void main(String[] args){
  3. //
  4. boolean a = 100>10;
  5. boolean b = 100<10;
  6. System.out.println("100>10 = " + a);
  7. System.out.println("100<10 = " + b);
  8. if(a){
  9. System.out.println("100<10 ");
  10. }else{
  11. System.out.println("100<10 ");
  12. }
  13. }
  14. }

実行結果:
100>10 = true
100<10 = false
100<10が正しい
実際、trueは1に等しく、falseは0に等しく、名前を変えただけで、単独でデータ型になる.