Javaベース-基本データ型と式

5226 ワード

基本データ型
基本概念
識別子
識別子はメモリ内の場所に対応し、Java内の識別子の仕様は次のとおりです.
  • は、大文字と小文字、下線、ドル記号、数字からなる
  • でなければなりません.
  • 頭文字は、大文字と小文字、下線、ドル記号
  • のみです.
    変数#ヘンスウ#
    変数の値は変更できます.変数には特定のタイプが必要で、タイプは変更できません.
    定数
    定数はいったん初期化されると、変更できません.
    文字量
    テキスト量はプログラムに直接表示され、コンパイラは操作せずに直接使用されます.例えば3.14などです.
    基本データ型
    数値タイプおよびブールタイプ
  • 整形
  • byte:8ビット
  • short:16ビット
  • int:32ビット
  • long:64ビット
  • 浮動小数点数
  • float:単精度浮動小数点数、32ビット
  • double:デュアル精度浮動小数点数、32ビット
  • ブールタイプ
  • boolean:8ビット、値はtrueまたはfalse
  • のみ

    数値文字数:
    データ型
    文字量
    byte/short/int
    0以外の場合は10進数、0 xまたは0 Xの場合は16進数(0 x 1 aなど)、0の場合は8進数(027など)
    long
    末尾はlまたはL(例えば32 L,0 x 2 FL)と続く
    float
    末尾はfまたはF(例えば2.324 f)と続く
    double
    末尾はdまたはD(例えば3.14 D)
    boolean
    trueまたはfalse
    もじがた
    文字型文字量は、'A''\t'などの単一引用符で囲まれた文字またはエスケープシーケンスである.Javaにおける文字は16ビットのUnicode文字符号化方式を用いる.
    char c1 = 'a';
    char c2 = '
    '
    ;

    文字列
    JavaでStringというクラスで文字列タイプを記述するのは,C言語の文字配列とは大きく異なる.
    StringクラスはJDK標準クラスの1つであり、追加の導入を必要とせずに使用できます.
    String str = "hello world";
    

    文字列の文字量は二重引用符で囲み、エスケープ文字(\反スラッシュで始まる文字)を入れることができます.複数の文字列は+プラス記号でつづることができます.
    Strint str = "hello" + "
    world"
    ;

    式#シキ#
    Javaの演算子はC言語と一致しており、サポートされています.
  • 算術演算子:+-*/%および+、–
  • 賦値演算子:単純賦値演算子=、賦値演算子+=、<=、>>>=、&=等
  • に適合する
  • 関係演算子:算術比較>、<=など、タイプ比較演算instanceof、等しい関係演算子(数値、ブール、参照を比較可能)=、!=
  • 論理演算子:論理と&&、論理または|、論理非!
  • 条件演算子(式1?式2:式3)
  • タイプ変換
    タイプ変換には、暗黙的変換(コンパイラ完了)、明示的変換((float)3.14など)の2つのケースがあります.
    各式にはタイプがあります.式のタイプがコンテキストに適切でない場合、次のような場合があります.
  • 暗黙型変換
  • タイプを自動的に変換できない場合、コンパイラは
  • とエラーを報告します.
    暗黙型変換には、次の3つのケースがあります.
  • 賦値変換:式タイプをターゲット変数のタイプ
  • に変換
  • メソッド呼び出し変換:メソッド内のターゲットパラメータのタイプ
  • に変換
  • 文字列変換:nullタイプを含む任意のタイプを文字列タイプに変換できます.+操作の1つのオペランドが文字列タイプの場合、自動的に別のオペランドが文字列
  • に変換されます.
    変換の結果は次のようになります.
  • 拡張変換:短いタイプから長いタイプに、byte->char->short->int->long->float->double.注意:intタイプからfloatタイプ
  • に移行するなど、精度が失われる可能性があります.
  • 狭窄変換:長いタイプからセグメントタイプに移行し、情報
  • が失われる可能性がある.
    タイプ自動昇格
    式に複数のタイプのデータがある場合、コンパイラは自動的にすべてのデータを最高精度のタイプにします.精度は、double->float->long->intの順です.
    オペランドに上記4種類の変数が含まれていない場合は、すべての変数をintタイプに自動的に変換します.
    byte b = 1;
    short s = 22;
    int i = 3;
    long l = 666;
    float f = 3.14f;
    double d = 6.28;
    
    double rd = b * i + l * f / d;
    float rf = b * i * f / l;
    long rl = b * i + l / 8;
    int ri = b * i + 88;
    
    int ri2 = b + s;
    

    転載先:https://www.cnblogs.com/kika/p/10851529.html