操作オブジェクト参照と2.1
- 各プログラミング言語は、メモリ素子を動作させる独自の方法を持っています。
- 参考文献である、あなたが持っている、独立して存在することができます参照が、必ずしもそれに関連付けられたオブジェクトを持っている必要はありません。
- Java言語の特徴:文字列は引用符で囲まれたテキストで初期化することができます。通常は、より一般的なオブジェクトの初期化メソッドを使用する必要があります。
2.2あなたは、すべてのオブジェクトを作成する必要があります
- 保存する場所
レジスタ:プロセッサの内部を、Javaは直接操作することはできません。
。スタックB:一般的なRAMで、でスタックポインタ、高速で、Javaのオブジェクト参照は、ここに保存されました。
。ヒープC:また、Javaオブジェクトのすべてを格納するために、RAMにあります。コンパイラは、生存のヒープに格納されたデータを知る必要はありません。柔軟な運用が、あなたはより多くの時間を必要とするときに割り当てられたストレージ。
D定数が格納されている。一般的に一定の値を直接内部コードに格納されます。これは、ROMに格納することができます。
非電子RAMメモリ:データが完全に実行可能な外部のプログラムがある場合、それは任意の制御プログラムも実行されていないプログラムに存在することができることはできません。ストリームオブジェクト:オブジェクトはバイトストリームに変換し、典型的には別のマシンに送信され、永続オブジェクト:オブジェクトは、ディスク上に格納されています。 - 例外:基本タイプ
直接記憶型ベース「値」、及びスタック内に配置され、したがってより効率的。
B。Javaのそれぞれについて決定するために、基本的なタイプのサイズは、ストレージスペースを占有しました。しかし、彼らはランダムなハードウェアアーキテクチャの変化の大きさは変わりません。
C。すべての数値型が署名されているので、符号なしの数値タイプのために見ていません。
D。Javaの自動包装機能は自動的に包装タイプのための基本データ型を変換します。
。Eのデジタル精度:Javaは、高精度の計算のための2つのクラス提供のBigIntegerとのBigDecimalを。操作の基本的な操作方法と同様の方法、これらの2つのクラスは提供のタイプを実行することができます。 - でJava配列
のJavaの主な目標の。一つは安全です。
B。Javaは、アレイが初期化され、その範囲の外にアクセスできないことを保証します。メモリオーバヘッドおよびランタイム費用少量のチェック各配列の添字に基づいて、この範囲チェック、。しかし、結果のリターンは、安全性と効率性だったので、支払った価格は、それ(とJavaは、時には、これらの操作を最適化することができます)の価値があります。
オブジェクトは、アレイを作成する場合、アプリケーションの作成時に自動的に初期化C。、アレイは、ヌル、基本的なタイプがに初期化される0。
2.3オブジェクトを破壊することはありません
- スコープ
A。に定義され、その内部変数名の範囲を決定可視性およびライフサイクル。
b.Javaは、変数のより大きな範囲で非表示に許可され、コンパイラは、変数が定義されている報告します。 - オブジェクトのスコープ
A。Javaオブジェクトおよびプリミティブは同じライフサイクルを持っていません。ときに新しいあなたがJavaオブジェクトを作成すると、それは範囲外生き残ることができます。
B。Javaは、新規に作成されたすべてのオブジェクトを監視するために、ガベージコレクタがあり、そのオブジェクトがもはや参照されている特定されていません。その後、他の新しいオブジェクトを使用するように、これらのオブジェクトのメモリ空間を解放します。
クラス:新しいデータ型を作成する2.4
- クラスは、クラスのオブジェクトの外観と動作を決定する型を作成するために使用されます。
- :2つのクラスに配置された要素のタイプフィールド(データメンバ)及び方法(メンバ関数)。
基本メンバーのデフォルトは、それが「には適用されませんローカル」変数。変数は、そうでない場合はJavaコンパイラはエラーを報告します、使用前に初期化する必要があります。
2.5メソッド、パラメータおよび戻り値
- Javaメソッドは、オブジェクトがメッセージを受信することが可能であるかを決定します。その名、引数、戻り値、および方法:基本的な前記の成分。
- Javaでメソッドは、クラスの一部として作成することができます。この方法は、オブジェクトを通じて呼び出すことができ、オブジェクトは、実行のこのメソッドを呼び出すことができなければなりません。
- パラメータのリスト:パラメータリストがオブジェクトを通過したがされ、参照基本データ型を除き、。
- リターン方式の終わりはどこにでも戻ることができるまでの使用は、残す必要はありません。
Javaのプログラムの構築2.6
- 名前可視性
A。ライブラリ名を生成するためには、他の名前と混同されることはありません、デザイナーをオンにするJavaプログラマは、独自のインターネットドメイン名を使用することを望んでいます。逆ドメイン名の後、これを期間分割サブディレクトリを表すために使用されます。 - 使用して他のコンポーネント
。この問題のクラス名の競合を解決するために、我々はすべての可能な混乱を排除する必要があります。この目的を達成するために、あなたはクラスはいをしたい正確に何をコンパイラに伝えるためにimportキーワードを使用することができます。 - 静的なキーワード
。あるケースでは、単に1つのストレージスペースを割り当てられた特定のドメインのために、あなたがオブジェクトを作成したいどのくらいに関係なく、でも任意のオブジェクトを作成しないでください。別のシナリオでは、方法は、一緒になって、その関連するオブジェクト・クラスのいずれかを含まないことが望ましいです。つまり、オブジェクトが作成されていない場合でも、あなたは、このメソッドを呼び出すことができます。
B。によって静的両方のキーワードのニーズを満たします。あなたが事を静的に宣言すると、彼らは一緒に任意のオブジェクトのインスタンスということのクラスに関連付けられていることはありません。このフィールドやメソッドと思います。
フィールドやメソッドのC。静的に作成し、一度だけ保存され、すべてのオブジェクトは、ストレージスペースを共有しています。
2.7あなたの最初のJavaプログラム
import java.util.*;
public class HelloDate{
public static void main(String[] args){ //String[] args用来存储命令行参数
System.out.println("Hello "+new Date());
}
}
他の多くの方法のシステム
public class ShowProperties {
//main()的第一行将显示从运行程序的系统中获取的所有“属性”,因此它可以向你提供环境信息
public static void main(String[] args) {
System.getProperties().list(System.out);
System.out.println(System.getProperty("user.name"));
System.out.println(
System.getProperty("java.library.path")
);
}
}
- コンパイルして実行
javac HelloDate.java //编译
java HelloDate //运行
2.8注意事項および埋め込みドキュメント
2種類のコメント
/*我是注释*/
//我是注释
- 注釈文書
ドキュメントを生成する。使用javadocツール - 構文
。すべてのjavadocコマンドは「/ **」のコメントにあることができる「* /」コメントの終わりも、いつものように、表示されます
唯一の公共および保護されたメンバーに、B。Javadocドキュメントコメント。
/** 我是注释*/
- 埋め込まれたHTML
コメントのドキュメントのAすべての種類-クラス、フィールドとメソッド-の両方をサポート埋め込みHTML - ラベルのいくつかの例
2.9コーディングスタイル
- クラス名の最初の文字を大文字
- クラス名が複数の単語で構成されている場合は、その後、それらを一緒に入れて、大文字の各単語の最初の文字。
- ハンプスタイル
- 認識スタイルとクラススタイルとしてメソッド、フィールド、およびオブジェクト参照名、。小文字で、識別子の最初の文字だけ。
2.10まとめ
本章では、簡単なプログラムを書く方法についての知識をプログラミングするJavaのかなりに接触していました。また、Java言語とその基本的な考え方は、一般的な認知度となっています。