Javaベース - データ型と演算子

:Javaの言語サポートされているタイプは、2つのカテゴリに分類され基本数据类型(プリミティブ型)と引用类型(参照型)。

基本データ型

数値型

整数型

バイト

byteメモリ内のタイプ8ビット(1バイト)の範囲-128(-2^7) ~ 127(2^7 -1)

ショート

shortタイプは、メモリ範囲の16ビット(2バイト)を占め-32768(-2^15) ~ 32767(2^15-1)

int型

intメモリの種類は、32ビット(4バイト)の範囲を占め-2147483648(-2^31) ~ 2147483647(2^31-1)

長いです

longメモリ内の64ビット(8バイト)の範囲を占めるのタイプ-2^63 ~ 2^63-1

(直接小さい整数の場合byteまたはshort範囲型内に割り当てられる)byte、またはshort変数、システムは自動的に整数値を設定byteまたはshortハンドルタイプ。
大整数(範囲外入力INT場合とき)、Javaはハンドルに長整数型として自動的にこれを行います。あなたがハンドルに長整数型として値にシステムをしたい場合は、整数値の後に追加されるべきlか、L接尾辞。

浮動小数点型

Javaの浮動小数点タイプにかかわらず、表範囲及びフィールド長、フィールド長と機械テーブルの数の範囲の数の固定されて、Javaは、IEEE標準浮動小数点型、表現するバイナリ科学的表記法に従います。

浮く

4バイト、32ビットのメモリ内のフロートアカウント、1ビットの符号ビットであり、次の8ビットのインデックスは、次の23ビット表現で表します。

ダブル

メモリ内に8バイト、64ビットのdouble型を表す1ビットは符号ビットを表し、次の11ビットは、次の52仮数で、指数を表します。

Javaは、浮動小数点数の科学的表記のバイナリ浮動小数点数であるので、浮動小数点数の正確な表現ではないかもしれないからです。例では、するために5.12345f割り当てるfloat変数の型を変数の次の出力値が変更された場合、この変数を参照します。あなたは浮動小数点の精度が必要な場合、それは使用することができますBigDecimalクラス。
デフォルトでは、浮動小数点型であるdouble必要に応じJavaて浮動小数点値を入力することfloatに対処するために、それはこの値の後ろの浮動小数点型に続くべきですfF
Javaはまた、3つの特殊な浮動小数点値を提供しています:正の無限大、負の無限大日本とアフリカの数がオーバーフローまたはエラーを示すために使用されます。負の負の無限大に(得るためにゼロによる浮動小数点除算を使用して正の無限大(POSITIVE_INFINITYダブル/フロートクラス)を得た(Javaの整数0と自動的に浮動小数点0.0としてフロート法を算出する)で割っ0ポジティブフロートダブル/ FloatクラスのNEGATIVE_INFINITY)
図。0.0 / 0.0非数値NaNであろう。
すべての正の無限大と負の無限大部分に等しい、すべての非数値と等しくありません。
中100_000_000_000値_読みやすいです。実際の意味はありません。

Javaの基本データ型

文字

CHAR

3つの文字表現があります。

  • 直接例えば、単一文字で、文字の値を指定した'A''9''0'のような。
  • 特殊文字の識別文字値を転送することによって、例えば'\n''\t'
  • 直接使用Unicode値は形式の文字値を表すために'\uXXXX'XXXX16進整数を表します。

Java言語は、一般的に、文字の転送に使用されます

性格タイプも進コードを表すために使用されてもよい、の範囲'\u0000'~'\uFFFF'の合計が表すことができる65535(第256文字'\u0000'~'\u00FF')、およびASCII文字の文字完全に重なり合います。
基礎となるコンピュータ記憶文字が、文字が実際に対応した数に格納されている場合、このようにしてchar値がプラスチックの種類、対応するテーブルの範囲の16ビット符号なし整数へとして直接使用することができる0~65535
場合は、0〜65535の範囲1 int整数からchar型変数、システムは自動的にint整数としてchar処理の種類

ブーリアン

ブーリアン

論理的表現するために使用され、またはboolean型の値とすることができるtrue、またはfalse使用することができない0、または非0表現され、他の基本データ・タイプはに変換することができないbooleanタイプ。

Java仕様は、boolean型のメモリ変数が占有指定されていません。ほとんどのコンピュータができるためメモリ割当単位は、最小メモリバイト(8ビット)であるため、ほとんどの時間は、実際には8ビットを占有します。
本書に記載されたJava仮想マシンの仕様:

  • Java仮想マシンのbooleanバイトコード命令のための具体的な値、Java言語表現操作
    ブールは、int型のデータ型ではなく、コンパイル後のJava仮想マシンを使用していません。
  • Java仮想マシンは、直接、第6章、節NEWARRAYは、このような配列を作成することができます参照してくださいナバラ配列のブール型、仮想マシン命令をサポートしています。共通baloadバイト配列型と配列型bastoreブール命令のアクセスと修正。
    仮想マシンの仕様と言うので、ブール値は、int型のデータをコンパイルした後に使用されている代わりに、Java仮想マシンを入力し、int型は4バイトで、その後、ブール値は4バイトです。
  • 一般的な方法にのみ同じ2バイトの共通の両方が、バイトのバイト配列は、次にブールブール配列であり、1バイトであるため、一般的なタイプのバイト配列とbastoreのアクセス及び修正は、アレイのブール命令タイプをbaload 1バイト。

要約:1バイト、4バイト、単一のブールの場合にブール配列。

参照データ型

カテゴリ

インターフェース

配列

演算子

算術演算子

  • +(また、文字列の連結演算子として)付加オペレータ
  • -:減算演算子
  • *:乗算演算子
  • /:除算演算子は、
    両方のオペランドが分割型の整数である場合、演算結果は、除算の自然な結果が取ら丸められ、整数です。分割2つのオペランドが整数型である場合、除数は、それ以外の場合はゼロ例外によって除算につながる、0ではありません。一方または両方のオペランドが浮動小数点する場合は、浮動小数点数は、結果が計算され、結果は、除算の自然な結果であり、この時点で除数が0または0.0であることができ、結果は負の無限大を振っ正の無限大です。
  • %:剰余演算子
  • ++:カナダから。
    1. さらに以来数だけを操作する単項演算子は、あります。
    2. 加えて、オペレータは、単一の数値を操作することができるので、変数、定数または発現動作不能(浮動小数点、シェーピング)。
    3. 場合++左側に、第一オペランドは、算術式にのみ、次にオペランドをインクリメント、および。だけにして、右、算術式への最初のオペランド、および上のオペランドを追加する++場合は1
  • --:デクリメント。単項演算子。そして、++そのオペランドを除いて、同様の-1

ビット演算子

  • &:ビットと。2は1対1の間、戻ってきたとき。
  • |:ビット単位のOR。限り1から1のリターンがあるとして。
  • ~:非ビット。単項演算子は、(符号ビットを含む)各オペランドのビットは、全て否定されます。
  • ^:ビット単位のXOR。2が同じである0に戻る、同時に1を返しません。
  • <<:左シフト演算子。
  • >>:右シフト演算子。
  • >>>:符号なし右シフト演算子。

ビット演算子のアルゴリズム

論理演算子

  • &&:二つのオペランドで前と後の両方必要がありtrue、それが返されるtrueそれ以外の場合は食事の後、false
  • &:しないショートや、と&&同じ効果が、それはないでしょうショート。
  • ||:または、限り、二つのオペランドの一つは次のようにtrue返されtrue、そうでない場合false
  • |:ショートさせない回路やの役割||同じですが、短絡していません。
  • !:非反転。
  • ^:XOR演算の数の両方が同じ時間を返しません。true同時に、リターンでfalse

三項演算子

  • ?: 三項演算子は、唯一の構文は次のとおりです。(expression) ? if-true-statement : if-false-statement

注:
自己に対してのみ加減算ので恥ずかしい変数を感じ、オペランド値が直接量、定数または式を使用することができません。

代入演算子

  • =

拡張された代入演算子

  • +=:のためx+=yに対応する、すなわち、x = x + y
  • -=:のためx-=yに対応する、すなわち、x = x - y
  • *=:のためx*=yに対応する、すなわち、x = x * y
  • /=:のためx/=yに対応する、すなわち、x = x / y
  • %=:のためx%=yに対応する、すなわち、x = x % y
  • |=:のためx|=yに対応する、すなわち、x = x | y
  • ^=:のためx^=yに対応する、すなわち、x = x ^ y
  • <<=:のためx<<=yに対応する、すなわち、x = x << y
  • >>=:のためx>>=yに対応する、すなわち、x = x >> y
  • >>>=:のためx>>>=yに対応する、すなわち、x = x >>> y

比較演算子

  • >:について、いくつかの側面より大きいのみサポート操作は数値型です。
  • >=:小さくないだけで数値型運転支援の左右の辺の数、より。
  • <:未満、左右のサポートの数だけ操作は数値型です。
  • <=:以下では、唯一の支持体は、左と操作番号の右側には、数値型です。
  • ==:に等しい二つのオペランドの比較があれば、それらの値は、戻り等しくなるように、偶数のオペランドの二つの異なるタイプが、数値型である場合にtrue2つのオペランドが2つのオペランドを比較し、参照型である場合。アドレスを参照します。
  • !=:、タイプに関係なく、データ型を比較す​​るために比較基準型参照アドレスの比較のみ値を等しくありません。

演算子の優先順位

演算子の優先順位

  • あまりにも複雑な式を記述しないでください複雑な式には、それを実行するためのステップに分割する必要がある場合
  • ないで可能な限り、式の実行優先順位を制御するために、オペレータに過頼る()制御

おすすめ

転載: www.cnblogs.com/41uLove/p/12555477.html