1. 基本的なデータ型
形成外科:
バイト 1バイト
短い2バイト
int 4バイト
長い8バイト
キャラクター:
文字2バイト
浮動小数点数:
浮動小数点4バイト
ダブル8バイト
ブール値:
ブール値 1 バイト
2.Java 7 は新しい 2 進整数を追加します
0b または 0B で始める
3. Java の文字は 16 ビット Unicode エンコードであり、形式は「/uXXXX」です。xxxx は 16 進整数を表します。
4. Java では、正の無限大、負の無限大、ゼロが規定されています。
正の無限大 = 正の数を 0 で割ったもの
負の無限大 = 負の数をゼロで割ったもの
0.0 を 0.0 で割るか、負の数の平方根をとって非数を取得します。
5. Java のブール型は true と false のみです
6. Javaには多次元配列はありません
C 言語の多次元配列は実数配列ではないようです。たとえば、a[3][4]、a[0]、a[1]、a[2] は実数であり、アドレスが格納されています。 C言語では動的に割り当てられる配列と同じです。
int [][] b = 新しい int[3][4]
7. Javaでのパッケージによるコンパイル方法
javac -d . Hello.java は現在のディレクトリにディレクトリ ツリーを生成します。
Javaの実行 パッケージ名.クラス名
8. Java ポリモーフィズムにおけるオブジェクトのフィールドには、親クラス object = new subclass()、object.field などのポリモーフィズムはありません。フィールドがサブクラスに含まれている場合でも、object.field は親クラスと呼ばれます。
9.instanceof演算子
形式: 参照変数名 クラス名 (またはインターフェイス) のインスタンス 前のオブジェクトが次のオブジェクトのクラス、サブクラス、または実装クラスのインスタンスであるかどうかを判断するために使用されます。そうである場合は true を返し、そうでない場合は false を返します。
10. 基本データ型と Java の対応するカプセル化クラス間の変換
int a = 1;
整数 A = 新しい整数(a);
a = A.intValue();
他のタイプについても同様です。
11. シングルトンクラスの例
public static void main(String[] args)
{
シングルトン s1 = Singleton.getInstance();
シングルトン s2 = Singleton.getInstance();
System.out.println(s1 == s2);
}
}
クラス フィールド: 初期値は、静的初期化ブロック内、またはフィールドの宣言時に指定する必要があります。
インスタンス フィールド: 非静的初期化ブロックで宣言するか、フィールドの宣言時に初期値またはコンストラクターを指定して宣言する必要があります。
13.最終変数は明示的に初期化する必要があります。システムは最終変数を暗黙的に初期化しません。
14.java は定数プールを使用して、以前に使用された直接文字列定数を管理します (例: String a = "java";)。システムは定数文字列 "java" を定数プールに保存します。 = "java"; が再度実行され、a == b が true
15.Final メソッドはオーバーライドできず、final クラスは継承できません。
private メソッドを使用する場合は、final private と同じになります。
Final で修飾されたメソッドがサブクラスに出現した場合、それはサブクラスによって新たに定義されたものであり、親クラスとは関係ありません。
16. 不変クラス: このクラスのフィールドは作成後に変更できません。 Java には 8 つの基本的な変数ラッパー クラスが用意されており、文字列クラスは両方とも不変です。
17. インスタンスをキャッシュする不変クラス
public booleanquals(Object obj)
{
if(this == obj)
true を返します。
if(obj != null && obj.getClass() == CacheImmutale.class)
{
CacheImmutale ci = (CacheImmutale)obj;
name.equals(ci.getName()) を返します。
}
false を返します。
}
public int hashCode()
{
name.hashCode()を返します;
}
}
パブリック クラス CacheImmuteTest
{
public static void main(String[] args)
{
CacheImmutale c1 = CacheImmutale.valueOf("Hello");
CacheImmutale c2 = CacheImmutale.valueOf("Hello");
System.out.println(c1 == c2);
}
}
Java によって提供される java.lang.Integer もあります。これは、キャッシュ メカニズムを使用して -128 ~ 127 の数値を作成します。
整数 in2 = Integer.valueOf(6);
整数 in3= Integer.valueOf(6);
in2 == in3 は true です。
18. static と abstract は同時にメソッドを変更できません。クラス抽象メソッドはありません。
19. クラスは親クラスを持ち、複数のインターフェイスを実装できます。インターフェイスでは、Filed は public、static、final であり、メソッドは public abstract です。
20. 非静的内部クラスのメソッドが変数にアクセスする場合、検索順序は、まず内部クラスのメソッド内→内部クラス→外部クラスに見つからない場合はコンパイルエラーとなります。
パブリック クラス DiscernVariable
{
private String prop = "外部クラスのインスタンス変数";
プライベートクラスInClass
{
private String prop = "内部クラスのインスタンス変数";
public void info()
{
文字列 prop = "ローカル変数";
System.out.println("外部クラスのフィールド値: " + DiscernVariable.this.prop);
System.out.println("内部クラスのフィールド値: " + this.prop);
System.out.println("ローカル変数の値: " + prop);
}
}
パブリック void テスト()
{
InClass in = new InClass();
in.info();
}
public static void main(String[] args)
{
新しいDiscernVariable().test();
}
}
22. 外部クラスの外部にある内部クラスにアクセスする
非静的内部クラスにアクセスするには: outclass.Inclass varname = new outclass().new InClass();
静的内部クラスにアクセスします: outclass.Inclass varname = new outclass.Inclass();
クラスアウト
{
クラスイン
{
publicIn()
{
System.out.println("非静的内部クラス コンストラクター");
}
}
}
パブリッククラスCreatInnerInstance
{
public static void main(String[] args)
{
Out.In in = new Out().new In();
/*
上記のコードは次のように個別に記述することができます。
アウト、イン、イン。
アウト out = 新しい Out();
in = out.new In();
*/
}
}
クラスのサブクラスは Out.In を拡張します
{
//サブクラスを定義するコンストラクタを表示する
public SubClass(アウトアウト)
{
// 転送された Out オブジェクトを通じて In を呼び出すコンストラクターを表示します
out.super();
}
}
クラス静的出力
{
静的クラス StaticIn
{
public StaticIn()
{
System.out.println("静的内部クラス コンストラクター");
}
}
}
パブリック クラス CreatStaticInnerInstance
{
public static void main(String[] args)
{
StaticOut.StaticIn in = new StaticOut.StaticIn();
/*
上記のコードは次のように個別に記述することができます。
StaticOut.StaticIn で;
in = 新しい StaticOut.StaticIn();
*/
}
}
クラスのサブクラスは StaticOut.StaticIn を拡張します
{
// 内部クラスのインスタンスを作成する必要はありません
}