個人的な理解:
操作を容易にし、いくつかのメソッドを呼び出すために、我々は、オブジェクトに値の基本的なタイプを必要とする。しかし、最終的には良い変換に特別な注意の必要性はどのクラスメソッドの名前を呼び出すために必要なものを自分のタイプ、あるときに!特別な注意が関連する問題のバイト定数プール(==)され; GC()ガベージコレクション機構は、その後、まだ古いですし、別の質的異なるメカニズムがオンに基づいて新しいある自動システムによってそこに判断しました。ない最高のガベージコレクタ、これ以上の普遍的なコレクタは、唯一の特定のアプリケーションのコレクターのための最も適切なを選択することができます。
まず、パッケージの基本的なタイプ:
1.概要:
オブジェクトにカプセル化されたJavaの基本データ型の値、従って基本的な機能を複数の動作値を提供する:オブジェクト・クラス・パッケージの基本的な性質。
注意:
intは整数に対応し、文字は文字に対応します。
2、文字列の基本的なタイプに変身:
文字列str = "12" ; INT NUM = Integer.parseInt(STR)。 二重 NUM2 = Double.parseDouble(STR)。
parseXXX(文字列S);文字列は基本的なタイプに変換することができない場合XXXは基本的なタイプを表し、パラメータは、基本的なタイプの文字列に変換することができ、問題は、変換デジタル起こるNumberFormatExceptionが(のような不要なものを含んではなりません、スペース)
3、文字列に変換基本値:
①、「」に接続したいの基本的な数値。
②、文字列valueOfメソッド(クラス名に静的直接呼び出し)を呼び出します。
③、のtoStringラッパークラスのメソッドを呼び出します。
System.out.println( "" + 12 + 1 )。 文字列S1 = String.valueOf(88 )。 ストリングS2 = String.valueOf(1.2 )。 System.out.println(S2 +1 )。 ストリングS3 =持つInteger.toString(99 )。 System.out.println(S3 +1)。
4、および基本的なタイプへのオブジェクト。
①、基本値転送ラッパーオブジェクト:
整数(int型の値または文字列S)のvalueOf(int型の値またはString s)は
I =整数新しい新しい整数(4); // コンストラクタ使用 Integer型IIを= 新しい新しい整数(」4" 。); // コンストラクタは数値文字列を渡すことができます
III =整数整数。VALUEOF(4); //クラスのvalueOfの包装方法を使用
。IIIiの=整数整数のvalueOf(」4" ); //クラスのvalueOfの包装方法を使用
②、基本値にパッケージオブジェクト(包装オブジェクト呼び出し):
intValue()はint型Ingeter値を返します。
INT NUM = i.intValue()。
図5に示すように、自動ボックス化とアンボックス化(以降JDK1.5)。
自動アンボクシング:オブジェクトは、自動的に、実質的に値を直接転送されます。
自動包装:基本数値を直接自動包装オブジェクトに変換されます。
。4 I =整数; // 自動包装。I =等価新しい新しい整数整数(4); I = iが+ 5; // 右側:私は(自動アンパック)i.intValue(基本値にオブジェクト)+ 5;追加操作が完了するが、リロードボックス、基本値はオブジェクトに変換されます。
(それはヌルを格納することができるので、有用int型以上の整数)
オートボクシングデモ(バイト定数プール)詳細:
バイトの範囲の値、自動包装、新しく作成されたオブジェクト・スペースはなく、既存のスペースを使用しない場合。
A =整数新しい新しい整数(3 ); 整数B = 新しい新しい整数(3 ) のSystem.out.println( ==のB); // falseに するSystem.out.println(a.equals(B)); // trueに System.out.println( "---------------------" )、 整数X = 127 、 整数Y = 127 ; //はJDK1.5にオートボクシング、バイトの範囲の値、新しく作成されたオブジェクト・スペースが、元は、既存のスペースを使用しない場合。 System.out.println(X == Y); // trueに (x.equals(Y)の)のSystem.out.println; // trueに
二、システムの種類:
1、概念:
システムは、システムが、属性情報に対応する番号、およびシステム動作を提供する、ここで、プログラム・システムを表します。
コンストラクタはプライベートに変更されているため、Systemクラスには、手動でオブジェクトを作成するために、外の世界を防ぐために、オブジェクトを作成することはできません。Systemクラスの静的メソッドです、あなたはクラス名にアクセスすることができます。
2、一般的な方法:
①は、にcurrentTimeMillisは()1970個の1月1日点の00:00に現在のシステム時間との間のミリ秒の差を取得します
②、終了(INTステータス) Javaプログラムの最後には、実行されています。パラメータは数に渡すことができます。0一般的に異常状態で他の受信通常状態(非ゼロ)と称される
③、GC()は、メモリのガベージ除去が完了し、JVMのガベージコレクタを実行するために使用されます。
④、getPropertyメソッド(文字列キー)が指定された取得するために使用されるキーに記録されているシステム属性情報(文字列名)
⑤、のarraycopy先アレイ素子アレイ部の指定された位置にコピー元の実装に使用されます
arraycopy(二番目の配列の位置をとっ最初の配列は、位置は、配置される長さを傍受する必要性を必要とします)
例えば:1-9999(ms)を使用する必要性のためにデジタル印刷サイクル時間を確認
パブリック 静的 ボイドメイン(文字列[]引数){ 長い開始= にSystem.currentTimeMillis(); 以下のために(int型 I = 1; I ++; iは10000 < ){ System.out.printlnは(i)を、 } 長い端= にSystem.currentTimeMillis(); System.out.println( "共耗时毫秒:" +(エンド)スタート)。 }
前SRC配列にコピー3つの要素の正面DEST配列三つの位置
パブリック 静的 ボイドメイン(文字列[]引数){ int型 [] srcは= 新しい新しい INT [] {1,2,3,4,5 }; int型 [] DEST = 新しい新しい INT [] {6,7、8,9、 10 }; System.arraycopyの(SRC、 0、DEST、0 ,. 3 ); コードの実行後:配列内の2つの要素を変化さ SRC配列要素[ 1,2,3,4,5 ] DEST配列要素を[ 1 、2,3,9,10 ] }
ループ数は10で分割することができるプリント枚数、ランの終わりプログラムとの間で発生する100から999件の3桁
パブリック 静的 ボイドメイン(文字列[]引数){ ランダムランダム = 新しいランダム(); 一方、(真){ int型の数=にRandom.nextInt(900)+100。// 0から899 + 100 であれば(nmumber%10 == 0 ){ でSystem.exit( 0 ); } } }
三、Mathクラス:
1、概念:
Mathクラスこれまで指数関数、対数関数、三角関数や平方根のように、数学的な操作を実行するための基本的な方法を備えた数学的なツール。その方法の全ては、静的メソッドであり、一般的にオブジェクトを作成できません。
2、一般的な方法:
ABSの方法、結果が正であります
二重 D1はMath.absを=(-5); // D1は5 ダブル D2(5)Math.absを=; // D2は5
CEIL方法、結果は、二重パラメータ値の値が最も小さい整数よりも大きくなっている切り上げ
二重 D1 = Math.ceil(3.3); // D1値4.0 ダブル D2 = Math.ceil(-3.3); // -3.0のD2値 ダブル D3 = Math.ceil(5.1); // のD3 6.0の値
床方法は、結果は、二重パラメータの値は最大の整数よりも小さくなっている切り捨てます
二重 D1 = Math.floor(3.3); // D1値3.0 ダブル D2 = Math.floor(-3.3); // -4.0のD2値 ダブル D3 = Math.floor(5.1); // のD3 5.0の値
POW方法は、第1のパラメータを第2のパラメータ値のパワーを返さ
二重 D1 Math.pow =(2.0、3.0); // D1値8.0 ダブル D2 Math.pow =(3.0、3.0); // D2値27.0
ラウンド方法は、パラメータ値が丸められた結果を返します
二重 D1 =恐らくMath.round(5.5); // D1値6.0 ダブル D2 =恐らくMath.round(5.4); // D2は5.0でした
1.0より大きいかまたは0.0に等しい未満倍以上乱数分数を生成するためにランダムの方法であって、
二重 D1 = Math.random();
四、配列のカテゴリ:
1、概念:
このクラスには、ソートや検索など、配列を操作するための様々な方法を含んでいます。指定された配列参照がnullの場合、このクラスのアクセス方法は、ヌル・ポインタ例外をスローすることに注意してくださいNullPointerExceptionが。
2、一般的な方法:
ソート方法は、(小から大に順序付け要素値)昇順に配列の要素を指定するために使用され
// 、配列要素が} 1,3,5,7,9 ARRソートされたソース配列要素ARR {1,5,9,3,7}は{ int型 [] ARR = {1,5,9,3、 7 }; は、Arrays.sort(ARR)。
toStringメソッドは、指定された文字列配列要素の内容を返すために使用しました
INT [] = {1,5,9,3,7 ARR }; 文字列STRの Arrays.toString(ARR)の=; // STRは[1、3、5、7、9]
指定された要素の値の位置が起こる見つけるために、配列で指定binarySearch方法。復帰位置への問い合わせがない場合- (この値は位置にあるべきである)-1。( -添字-1)の配列は、配列を注文する必要がありますが必要です。
INT [] ARR = {1,3,4,5,6 }; int型のインデックス= Arrays.binarySearch(ARR ,. 4); // インデックス値2 int型 INDEX2 = Arrasy.binarySearch(ARR、2); // INDEX2は-2
例えば:
配列、配列ストレージ受信する方法を定義する10生徒のテストの点数を、この方法は、3点のテストの点数最低のテストの点数後に返すように求め
パブリック 静的 INTは []メソッド(ダブル[] ARR){ は、Arrays.sort(ARR); // ことがソートされた配列要素(要素値が小から大まで順序付けられた) 値int [] =結果新しい新しい INT [3]; // 後にストレージを3つのテストスコア System.arraycopyの(ARR、0、その結果、0 ,. 3); //は、結果アレイに3つの要素のARR配列の前にコピー リターン結果; }
ファイブ大規模なデータ操作:
1、BigIntegerの:
長い最大の整数型として、どのくらいのデータのタイプよりも多くのために、Javaの型は、それを表現する。Javaの世界では、長整数型よりは、整数と呼ばれることができない、と彼らはBigIntegerのオブジェクトとしてパッケージ化されている。BigIntegerのクラスで4つの操作は、オペレータが採用されていない、方法を実現するために実装されています。
この方法の一部:
パブリック 静的 ボイドメイン(文字列[]引数){ // 大きいデータオブジェクトはBigIntegerのカプセル化 のBigInteger BIG1 = 新しい新規のBigIntegerを( "12345678909876543210" ); BigIntegerのBIG2 = 新しい新規のBigInteger( "98765432101234567890" ); // 追加達成加算器 のBigInteger bigAdd = big1.add(BIG2); // 減算減算達成 のBigInteger bigSub = big1.subtract(BIG2); // 乗算達成乗算 のBigInteger bigMul = big1.multiply(BIG2); //は、分割を行う分割します BigIntegerのbigDiv = big2.divide(BIG1)。 }
2、BigDecimalのカテゴリ:
操作の二重フロートタイプは精度を失うことは非常に容易である(失う精度を算出する際に、コンピュータが、バイナリである)、データの正確性を生じない、Java(登録商標)は、我々はBigDecimalクラスは、浮動小数点データを実装することができ、高精度の演算を提供します。
オススメ浮動小数点データは、文字列として指定され、結果は予測可能である引数として。
パブリック 静的 ボイドメイン(文字列[]引数){ // 大きいデータオブジェクトはカプセル化のBigDecimal のBigDecimal BIG1 = 新しい新規のBigDecimal( "0.09" ); BigDecimalをBIG2 = 新しい新規のBigDecimal( "0.01" ); // 達成加算器ADD のBigDecimal bigAdd = big1.add(BIG2) のBigDecimal BIG3 = 新しい新規のBigDecimal( "1.0" ) のBigDecimal BIG4 = 新しい新規のBigDecimal( "0.32" ); // 減算減算が達成 のBigDecimal bigSub = big3.subtract(BIG4)を、 BIG5のBigDecimal = 新新のBigDecimal( "1.105" ); BigDecimalのBig6 = 新新のBigDecimal( "100" ); // 乗算達成乗算 のBigDecimal bigMul = big5.multiply(big6を)。
浮動小数点データ、及び異なる整数の除算のために、それは、小数点以下を非反復保持および丸めモードを選択するために必要なビット数を必要と無限に表示されることがあります。
ディバイド(BigDecimalの除数、いくつかの小数点以下を保持し、上下に選択しましたか)
= BD7 BigDecimalの新しい新規のBigDecimal( "1.301" )
のBigDecimal BD8 = 新しい新規のBigDecimal( "100" ); のSystem.out.println(bd7.divide(BD8、 2、BigDecimal.ROUND_FLOOR)); // また、効果的な二つ取りますデジタルと切り捨て