20182316胡パーク2019-2020-1「データ構造とオブジェクト指向プログラミング、」第二と第三週間の学習の概要
コンテンツの概要を学びます
第II章
- 弦
- 印刷とprintlnの違い:ラップ
- 文字列の連結:(ない複数行)+
- エスケープ文字:
- 変数
- 初期値は、変数の使用に指定されていない場合は、その後、時間のコンパイルエラー
- C言語は、あなたが(それは、より人間的なJavaのである)を見つけることができるかどうか、ランダムな値を与えることです。
- 割り当て
- 割り当ては、同じデータ型の間でのみ可能です。
- しかし、データ型変換の割り当てタイプの後ろに、それは特殊なケースとみなされるべきです。
- 割り当ては、同じデータ型の間でのみ可能です。
- 定数
- 名前:多くの場合、大文字、_で区切って
- 最終int型のMAX_NUMBER = 435;
- 常にその存在中(C言語CONST定数に類似右)一定の値を維持します。
- データの種類
- バイト:8ビットとデータの最大蓄積量データが127 -128の範囲に格納され、255です。
- 短い16ビットの最大データ記憶容量は、データの範囲は-32768から32767であり、65536です。
- INT:32ビットのデータ記憶容量は、32マイナス12の最大電力で、データ範囲は、31 2 2 N乗マイナス1に負の31番目です。
- ロング:64ビット、最大データ記憶容量は264マイナス12、2 -1 2の63乗の正のパワーに対して負の63のデータ範囲です。
- フロート:32ビット3.4E-45〜1.4e38の範囲内のデジタルデータの後(7つの有効桁)FまたはF追加する必要があり、直接割当
- 二重:4.9e-324〜1.8e308、DまたはDの範囲内のデータは、割り当てに追加することができる64ビットが追加されなくてもよいです。(フィフティーン有効数字)
- ブール:2つの値だけtrueとfalse。
- チャー:単一引用符内のUnicodeコード割り当てを格納する16ビット。
- カウント++ ++との違いを数えます
- ++カウント:最初の文を実行した後、インクリメント。
- 最初の増分を、その後の文を実行します。カウント++。
- 声明に配置された異なる場合には、一人で書い違いはありません。
- データ変換
- 代入変換:変換はのみ、(自動)拡大を図ります。
- リフト:フロートで割った整形手術は、プラスチックは自動的に、その後、操作をfloatに変換します。
- キャスト:結果=(FLOAT)の合計/カウント。
- 強力な分裂よりも高い優先順位を回します。
- ブールは、他のデータの種類、およびその逆に変換することがありません。
- Scannerクラス
- インポートjava.util.Scanner;:クラス定義の前に、Scannerクラスを使用するようにシステムに指示します。
- スキャナスキャン=新しいスキャナ(System.in);宣言はスキャナオブジェクトの代わりに、可変スキャンを作成します。
- テキストのメッセージ= scan.nextLine ;:行が次の行格納されている文字列変数として入力されます。
第III章
- 文字列+変数:変数がオブジェクトではありませんが、オブジェクトのアドレスを表します。これは、ポインタ変数として見ることができます。
- 別名:別名2つの変数が同時に同じオブジェクトを指して、2つの変数は、オブジェクトの相互作用と呼ばれています。
- 添字(インデックス):( [0]添字C言語の文字列と同様。)
- Stringクラス
- .concat( "");接続。
- .toUpperCase();大文字小文字します。
- .replace( '古い' '新');変換。
- .substring(a、b)は、返されたB番目のビット列に位置から採取しました。
- 図書館:各ライブラリを整理するために、パッケージのライブラリで、パッケージに属しています
- 輸入申告:....インポートJavaパッケージ名またはクラス名* import.javaパッケージ名(複数のクラスを使用するとき)を介して、クラスライブラリを使用したい場合。
ランダムクラス:java.utilパッケージ、擬似乱数生成器を属します。
import java.util.Random; ` ` Random generator = new Random(); ` ` int num1; num1=generator.nextInt(10);//在0~9之间产生一个随机数。 num1=generator.nextInt(20)+5;//在5~24之间产生一个随机数。 num2=generator.nextFloat();//在0~1之间产生随机数。
- printfの方法
- Javaプラットフォームに既存のC言語を移植するときに、それを容易にします。
- System.out.printf( "ID:%5dと、名:%s" は、ID、名前)。
- 列挙型(タイプセーフ)
- 列挙グレード(タイプ名){A、B、C、D、E}
- グレードSTU1(変数名)= grade.A。
教科書の学習と問題解決のプロセス
- 質問1:int型/ロング変換floatへの変換は明らかに、なぜ原因データの損失を拡大していますか?
問題1ソリューション:long int型は、拡大変換をフロートするが、フロート小数点以下の桁数があるのでそれはあるものの、有効ビット数はこれよりもはるかに多くのことを7、intとlongのために浮かぶ、あるでしょうデータ損失の問題。
- 質問2:声明:のprintln( "あなたが入力した:" "+メッセージ+" "");
- 問題2ソリューション:
- 「あなたは、入力された:」「:」両側に左の二重引用符を表し、「印刷の文字列を意味します。
- +メッセージ+:印刷メッセージことを示します。
- 「」「:右側に印刷され、二重引用符を示します
- 質問3:計算方法ののcompareTo(String str)文字戻り値。
- 解決方法:別の文字に遭遇した場合、直ちに戻り値のこれら2つの文字のASCII値との差に戻り、最初の比較から始めるのcompareToはintです。
- 1. 2と比較し、英語の文字列とは等しくない長さである場合には、
- 1)、返される結果は、減算二つの値の長さが長い長さ文字の短い長さであります
- 2)長さが同じではなく、最初の数文字が同じではありません検索の値が同じ文字でない場合、最初のスタート見てから、返される値は、これら2つの文字を比較しています
- 2.同じ長さと英語の2つの文字列を比較します
- 1)複数の文字は、最初の文字は異なる最初の文字の直接比較であります
- 2)複数の文字、次の文字直接比較の最初の文字と同じ、など
- 1. 2と比較し、英語の文字列とは等しくない長さである場合には、
プロセスで解決コードのデバッグおよび問題
- 質問1:プログラム入力シングルステップデバッグ時には、デバッガが直接コマンドを認識しません。
問題1つのソリューション:、クラスの代表、リスニングウィンドウの確立をまとめたチュートリアルを読む別窓越しに値を入力します。
メソッドリンク- 質問2:プログラムが3.1ブック上で実行され、.substring(3,30)のステートメント、プログラムエラーを入力します。
問題2ソリューション:サブ文字列の最初のB-1一方の端までの最初から返された文字列である、と私はプログラムを作った文字列は、実行時エラー30そうせずに入力されます。
- 質問3:変換を狭めます
質問3ソリューション:変数が同時にscan.nextDouble入力して、二重のように定義されます。
- 質問4:質問2:問題を食べて入力します(おそらく、とにかく、C言語があります)
質問4解決策:文字または文字列を入力したい場合は、入力の文字または文字列タイプが先行していない場合、は、キャリッジリターンを食べて問題がある、OP = scan.nextLine()以上のものを再生するには、この時、かつて入力し、次の入力のために、食べキーボードバッファにとどまります。
- 質問5:リターンデータのみの1種類を返すことができます。
- 質問5ソリューション:その実用性なので、上のように「0を分割することはできません」などのエラー訂正の増加、「unrecognizeable需要」とするためのプログラムでは、この問題のために、2がありますが、私は、データを返すために、二重を使用しています解決策:
- ダブルコンバージョンfloat型は、文字列を返します。
- -1、-2およびその他のデジタルにエラーステートメントは、戻り値として返されます。
コードホスティング
(ファイル名を指定して実行は、スクリーンショットのstatistics.shスクリプトを結果)
先週試験間違った質問の概要
一つは数値?格納することができない次のタイプ1、(次のデータ型は、データ型の値を格納することができないのですか?)
.INT A
B .BYTE
C .FLOAT
D .char正しい
これらのEの.ALLは、数値格納することができる ( 上記のタイプのすべての数値データを格納することができる)
解決:charはデジタルタイプを格納することができるが、しかし、数字、文字ベースです。
?2、与えられる以下の回答に演算子は、演算子優先順位に基づいて適用される順序について真実である以下の代入文、
A =(B + C)* D / E - F;所与の割当て以下(演算子の優先順位に基づいて、順序は解答が正しい操作のために実行されます?)
。A 、/、+、 -
。B、+ / -
。C +、/、 -正しい
。D +、/、 、-
。E +、 - 、*、/
分析:いいえ節度、それが通常であります優先順位は、計算式の結果を見ることです。
私たちは、次の代入文を実行した場合3、zはどのような価値があるのだろうか?
INT Z = 50 / 10.00( ?私たちは、以下の代入文を実行する場合、得られた値のZ)
.5
Bの.5.0の
C 0.50
D 0.10
.none上記のEは、タイムエラーが発生しRUN ZためINT 50 / 10.00である (ない上記間違ったの全ては、zは整数であり、50 / 10.00されていないことから、それはランタイムエラーが生成され、)が正しく
zは整数であり、50 / 10.00は、それが生成する、ではない:解析しますエラー、ときにより、変換実行時エラーを狭くするint型にフロート。
図4に示すように、ブール型の変数は、0または1(ブール型の変数が0または1として格納される)保存します
.TRUE A
Bは正しく.FALSE
に解決します。java、ブール値でtrueとfalseの代わりに、0と1として保存します。
図5は、言語(C、C ++、C#)とのCファミリーの他のメンバーと同様に、Javaは偽と非ゼロ値として真としてゼロ値を解釈します。
.TRUE
.FALSE B
分析:Cはないが、このようにゼロ芳香族および非ゼロ値を説明するが、Javaの使用は定数trueとfalse、または論理演算のためのリレーショナル及び/又は論理演算子の使用を予約が必要です。
ペアピアレビューと
- 学習課題やブログワース:
- 間違った問題について、先週は慎重に修正したと放課後レビュー、先週のテストの質問の私のレビューはもっと性急です。
- 詳細な書き込みのブログは、よく設立しました。
- ブログを書く過程で、自分の理解のために多くを追加することができます。
- コードは、学習や問題価値があります:
- 読みやすい良いコーディングスタイル、。
- 13ポイント:スコアに基づいて、私はこのブログの得点を与えます。次のようにスコアは以下のとおりです。
適切な使用のマークダウン構文(1点):
要素の範囲(1点)テンプレート
教科書の学習と問題解決プロセス(3ポイント)
コードのデバッグ及び問題解決法(3点)
週300以上の支店有効なコード(1ポイント)
- その他のプラスのポイント:
- 金曜日1ポイントの前に髪のブログ
- 感情、経験は大きな空の1ポイントを残しません
- プログレスバーは、学習時間を記録し、1ポイントの状況を改善します
- ハンズオン新しいコードを書くことがありますが、1ポイントを追加
- 深さの間違った質問を学ぶ、1ポイントを追加
- コメントは真剣に、私は、問題やブログのコードに加えて1ポイントを指摘することができます
- ペアは本物のプラス1ポイントを学びます
コメントは、学生のブログやコードを持っていました
- ペア今週の学習
- 学びます
- スキャナは、入力データのクラスを読み込みます
- ランダムクラス、文字列クラス、Mathクラスのメソッドを使用します
- 書式付き出力
- カスタムクラス
その他(知覚、思考、など、別売)
- コードとドキュメントのより深い理解と、以前よりもかなり良く、コードを襲った最近感じ、分離Windows上での様々な操作で、JavaとLinuxを尿の少しを理解することができます。
- エラー手順は、私が誤って一つまたはいくつかの奇妙な方法で正常にコンパイル可能性がある場合、コンパイルエラー、成功しても実行し、時には非常に小さいですが、これらのほとんどの問題の背後に深い知識をたくさん持っていることがあり、あなたが解決策をしたくない場合は、それが唯一の乏しいので、探検の精神がなければならないことができます。
もともとJavaは正しい軌道に乗って基本的に学ぶために思ったが、書き込みクラスがあまりにもハード私に打撃を与えています。
学習の進捗バー
コードの行の数(/蓄積を追加) | ブログ量(/蓄積を追加) | 学習時間(/蓄積を追加) | 重要な成長 | |
---|---|---|---|---|
目標 | 10,000行 | |||
最初の週 | 93分の93 | 3/3 | 20/20 | |
第3週 | 800分の800 | 4/4 | 40/40 |
プランの学習時間:50時間
実際の学習時間:40時間