同じ意味のjavascriptの変数と変数
変数と参照型変数の基本タイプ:Javaでは、変数は、2つのタイプに分けられます。(同じことがJavaScriptで真です)
基本データ型
基本データ型を直接行うことができる動作のCPUタイプです。Javaは、以下の基本データ型を定義しています。
-
整数タイプ:バイト、短い、int型、長いです
-
浮動小数点型:float型、ダブル
-
文字の種類:文字
-
ブール型:Boolean
Javaの基本データ型は、それがどのような違いを生むん定義されましたか?これらの違いを理解するために、我々は、単にコンピュータのメモリの基本的な構造を見なければなりません。
最小コンピュータメモリ記憶装置は、バイト(バイト)であり、バイトが8ビットの2進数、すなわち、8ビットです。それからバイナリ表現の範囲00000000
〜11111111
十進で0〜255の観点からは、16進数は、に変換され00
〜ff
。
メモリセルは、メモリアドレスと呼ばれる、0から番号が付けられています。各メモリセルは一つの部屋として見ることができ、メモリアドレスは、家の番号です。
バイトは、1バイト、1024バイト1Kであり、1024Kは1M、1024Mは1G、1024Gは1Tです。コンピュータメモリの4Tバイトを持っている数:
4T = 4 X 1024G = 4×1024 X 1024M ×1024 = 4×1024 X 1024K ×1024×1024 = 4×1024×1024 = 4398046511104
異なるデータ型が占めるバイト数が同じではありません。私たちは、Javaの基本データ型が占めるバイト数を見てみましょう。
┌───┐ バイト│の│ └───┘ ┌───┬───┐ 短い│││ └───┴───┘ ┌───┬───┬───┬── ─┐ int型│││││ └───┴───┴───┴───┘ ┌───┬───┬───┬───┬───┬───┬ ───┬───┐ 長い│││││││││ └───┴───┴───┴───┴───┴───┴───┴─── ┘ ┌───┬───┬───┬───┐ フロート│││││ └───┴───┴───┴───┘ ┌───┬───┬ ───┬───┬───┬───┬───┬───┐ ダブル│││││││││ └───┴───┴───┴─── ┴───┴───┴───┴───┘ ┌───┬───┐ 文字│││ └───┴───┘
byte
正確には、バイトであり、一方、long
およびdouble
8つのバイトが必要です。
整数
整数型のために、Javaは符号付き整数のみを定義し、したがって、最上位ビット「ビットは、(負のための1、正0)符号ビットを示しています。最大範囲として表すことができる整数の様々なタイプ:
- バイト:-128〜127
- 短い:-32768〜32767
- INT:-2147483648〜2147483647
- 長い:-9223372036854775808〜9223372036854775807
のは、整数の定義の例を見てみましょう:
整数の定義
パブリック クラスメイン{ 公共 静的 ボイドメイン(文字列[]引数){ int型 I = 2147483647 ; int型 I2 = -2147483648 ; int型 I3 = 2_000_000_000は; // 識別が容易に下線 int型、I4 =は0xFF0000を// 16進表現を16711680の int型 I5 = 0b1000000000; // 512バイナリ表現 長 L = 9000000000000000000L; // long型の端部はLを追加する必要が } }
特別な注意:同じことが、例えば、異なる二進数は同一で表し15
= 0xf
=0b1111
フロート
小数の科学的表記法で発現された場合、小数点は1234.5 12.345x102ように表すことができるような、「フローティング」ので、フロートと呼ばれる、1.2345x103として表すことができることができるので、10進浮動小数点型の数です。
以下は、定義されたフロートの例を示します。
フロート F1 = 3.14f ; フロート F2 = 3.14e38f; // 3.14x10 ^ 38は、科学表記法で表現されている ダブル D = 1.79e308 ; ダブル = -1.79e308 D2 ; ダブル D3 = 4.9E-324; // 科学的表記法4.9x10 ^ -324
float
種類、我々は追加する必要がf
接尾辞を。
浮動小数点数の範囲は非常に大きく表すことができるfloat
最大3.4x1038を表すことができる種類の、およびdouble
タイプは最大1.79x10308を表します。
ブーリアン
ブールタイプboolean
のみtrue
とfalse
二つの値、ブール演算は、常に関係の計算以下のとおりです。
ブール B1 = trueに、 ブール B2 = 偽; ブール isGreater 5 => 3; //はtrueと評価さ int型年齢= 12である。 ブール isAdult =年齢> = 18である; //はfalseと評価します
ストレージの論理型のAVA言語は、理論的にのみブール1ビットを格納する必要があるため、提供を行いませんが、JVMの内部で通常ますboolean
4バイト整数として表現します。
文字型
文字タイプはchar
文字を表します。Javaのchar
型は、標準のASCII以外に表現することができ、あなたはまた、Unicode文字を表すことができます。
パブリック クラスメイン{ 公共 静的 ボイドメイン(文字列[]引数){ チャー Aが=「A」。 文字 ZH = '中' ; System.out.println(A)。 System.out.println(ZH)。 } }
なお、char
単一引用符の種類'
だけで一つの文字、二重引用符とする"
文字列型に区別。
定数
結合された場合は、変数を定義して、final
修飾子、この変数は一定となります。
最終的な ダブル PI = 3.14; // PIが一定の ダブル R&LT = 5.0 ; ダブルエリアはPI * R&LT *の= ; R&LT PI = 300; // コンパイルエラー!
定数定義で再び割り当て後に初期化されていない、割り当ては再びコンパイルエラーが発生します。
役割の定数はマジックナンバー(マジックナンバー)を回避するために、意味のある変数名で、例えば、コードの至る所に書いていない3.14
のではなく、定数を定義します。将来的に精度を向上させる必要がある場合は、我々だけ変更するには、例えば、定数の定義を変更する必要がある3.1416
すべての場所を交換することなく、3.14
。
カスタムによると、定数名は、通常はすべて大文字です。
varキーワード
いくつかのケースでは、タイプ名は書くためにあまりにも長い間、あまりにも面倒です。例えば:
StringBuilderのSB = 新しい StringBuilderの();
あなたは変数の型を省略したい場合は、この時間は、あなたが使用することができますvar
キーワードを:
= SBた新しい文字列ビルダ();
コンパイラが自動的に係る可変代入文を推測しますsb
タイプStringBuilder
。コンパイラ、声明:
= SBた新しい文字列ビルダ();
実際には、それが自動的になります。
StringBuilderのSB = 新しい StringBuilderの();
したがって、var
変数の定義は、ただ少しだけ変数の型を記述します。
スコープ変数
Javaでは、複数行のステートメントは、{}で囲まれました。例えば、独自の範囲を有するように多くの制御文、条件およびループ例えば、{}:
IF(...){ // IF開始 ... しばらく(...){ しばらくは始まる ... IF(...){ // IFスタート ... } // IFエンド ... } / / しばらくエンディング ... } // END IF
これらが適切} {ネスト限り、コンパイラは、文のブロックの開始と終了を識別することができます。そして、変数はブロックの最初から最後まで定義されているスコープを持つ文ブロック、で定義されました。これらの変数が参照されているの範囲を超えて、コンパイラが文句を言うでしょう。例えば:
{ ... int型 ; I = 0 // 私はここに始まる定義された変数 ... { ... int型のx = 1; // 変数x、ここでは起動に定義 ... { ... 文字列S = "こんにちは" ; // 変数sはここから始まる定義されてい ... } // 変数sスコープは終わった ... // 、同じ名前の変数これは新しい変数sであることに注意してください、そしてそれ以上 // しかしのでスコープ異なる、彼らは二つの異なる変数です: 文字列S =「こんにちは」; ... } // 変数xとsの範囲この目的のために ... } // I変数のスコープは終わりました
あなたは、変数のスコープを定義する場合、可能な限り変数はできるだけ小さいスコープで定義されているように、最小限の原則に従うべきである、と変数名を再利用しないでください。
概要
プリミティブ型と参照型:Javaのは、2つの変数の種類を提供します
基本タイプは、整数、浮動小数点、ブール、文字が含まれています。
変数を再割り当てすることができ、等号は、代入文ではなく、等号の数学的な感覚です。
定数は、初期化後に再割り当てすることはできません、プログラムの意図の理解を容易にするための定数を使用します。