20182320 2019-2020-1「データ構造とオブジェクト指向プログラミング」2-3週間の学習の概要
コンテンツの概要を学びます
1章の知識:
- 弦
- 変数と代入
- 基本データ型
- 表現
- データ変換
- 入力されたデータを読みます
(1)文字列
- Javaでは、文字列の定義とは、C言語では非常に似ている、それは文字の文字列が、より多くの物語です。
- Javaでは、文字列はオブジェクトで、クラスStringによって定義されます。
- 使用した印刷コマンド出力文字列を、printlnのコマンドライン文字列の出力(すなわち、変更後の出力ライン)。
- 文字列と文字列「+」との間の接続。
あなたは、このような「出力文に含む、二重引用符「」として、再生したい場合は、エスケープ文字前面に必要な、/ "と」、および類似したC言語。
(2)変数と割り当て
- 変数定義、定数定義、割り当て、およびその文法規則におけるJavaはC言語ではなく、多くの物語と非常によく似ています。
ことに注意してください変数と変数名の定義は、いくつかの重要な識別子と同じ名前をしない、またはエラーが発生します。
(3)基本的なデータ・タイプ
このセクションでは、C言語の内容と一致しています。
例えば:
Integer型の変数はint、短い、長い、フロートフロート、ダブル、と同じ文字型制御文字......
- Javaでの値のみ、整数と浮動小数点型。
また、より短い登場小さいバイトの整数とあまり一般的でないタイプのブール(論理値)。
(4)式
- コンテンツおよびCは似ています。
「変数++」と異なる文脈で「++変数」との差にそれは同様の注意:
前者はある最初の代入の増分で、最初の増分の割り当て後。
(5)データ変換
- コンテンツおよびCは似ています。
- キャスト演算子は、現在のコマンドラインでのみ有効です。
ビット幅の小さなターンビット幅の大規模なデータ型変換、データのセキュリティ。ビット幅の大型ターンビット幅の小さなデータ型の変換、データがされて部分的に失われました。
(6)入力データを読みます
スキャナは、多くの方法をカプセル化するクラスです。これらのメソッドを呼び出すには、Scannerクラスとオブジェクトを作成する必要があります。スキャナを使用する前にも使用するようにシステムに指示する必要があります。
これは単に、次のとおりです。フロントにマークされるように、スキャナを使用している場合:
$ improt java.util.Scanner;
これには、Cのヘッダファイルに似て、スキャナは、クラスライブラリをjava.utilのに属します。
また、主な方法で(私たちはCで呼び出す主な機能)マークで:
$ Scanner scan = new Scanner (System.in);
これは、可変スキャナクラスでスキャンを作成する、スキャナが作成する新しいオペレータの代表でオブジェクトをスキャン後ろ、System.inは、システムのデフォルトの入力を表します。
- 上記入力二つの完了後、必要である文字列変数を定義するために、例えば、入力文字列を受信します。
$ String message;
これは、ある文字列変数の「メッセージ」と呼ばれる場所の定義。
- 次に、コマンドを入力すると、次のとおりです。
$ message = scan.nextLine();
これは、ことを意味する次の入力文字列としてのライン(nextLine)は文字列変数メッセージに割り当てられました。
図2に示すように、第三章の知識
- オブジェクトを作成します。
- Stringクラス
- パッケージ
- ランダムなカテゴリ
- Mathクラス
- 書式付き出力
- 列挙型
ラッパークラス
(1)オブジェクトを作成します。
ハイライト:
- 使用するオブジェクトを作成するためのクラス。
- 変数名は、値の基本型を表すことができ、それはまた、オブジェクトを表すことができます。
例えば:
$ int num;(定义一个整型变量num)
$ String name;(创建一个String对象)
また、オブジェクト変数として「名前」として知られています。
- オブジェクト変数は、それ自体のみを保存せずにオブジェクトのアドレスを保存します。
- 変数を定義した後、またはする、オブジェクトを作成する初期化(初期値同様の変数)、そうでなければ、コンパイル時エラー。
- 次のようにオブジェクトを初期化(例えば、文字列)を作成するプロセスを完了します。
$ String name;
$ name = new String();
$ name = "xxx";
これは、と略記することができます。
$ String name = new String("xxx");
ここでは、オブジェクトを作成するためにコンストラクタ「文字列を()」と呼んで、「新しい」演算子を使用します。
- オブジェクトをインスタンス化した後、我々は彼のメソッドを呼び出すことができます。「」例えば:
$ count = name.length();
- 別名について:
2つの文字列オブジェクトを想像してみてください。
$ String name1 = "Hello!";
$ String name2 = "Hello world!";
ときNAME1 NAME2するために割り当てられました:
$ name1 = name2;
今、彼らは、彼らは今、同じ文字列定数「こんにちは世の中!」アドレスへのすべてのポイントをしているお互いの別名。
注意:文字列だけのために。
(2)文字列クラス
- オブジェクトのStringクラスが作成されると、長さを変更することはできません。
- 文字列の特定の方法では、C言語配列に類似「添字」概念を、使用されるであろう。
(3)パッケージ
- パッケージは提供されている標準のJavaクラスライブラリの名前です。
- クラスが呼び出す必要があり、多くのクラスが含まれ、各ライブラリの前にコードを宣言します。例えば:
前に宣言するために、スキャナのクラスを呼び出すには
$ import java.util.Scanner;
- java.langパッケージはデフォルトで呼び出されます。
(4)ランダムカテゴリ:
- ランダムクラスは、疑似乱数を生成するために使用されます。
- 使用する場合は、次のように、オブジェクトを作成します。
$ Random 对象名 = new Random();
- 注目の使用の範囲は、擬似乱数を生成し
$ 接收随机值的变量 = Random对象名.nextFloat();
範囲で生成された擬似乱数0~1(0は1を含む含まれていません)。
(5)数学クラス
- Mathクラスはjava.langのパッケージに属します。
- すべてのメソッドは静的な内部では、直接クラス名を呼び出すことができます。
$ value = Math.abs(total);
(6)出力フォーマット
NumberFormatクラス
DecimalFormat类
処理後のデータフォーマットの出力。
(7)列挙型
- 変数を使用する場合にのみいくつかの値を取ることができます。
- 次のように使用します。
$ enum Season {winter,spring,summer,autumn};
列挙型でシーズンと呼ばれるオブジェクトを作成し、彼の唯一の値は四季の名前で提供します。
教科書の学習と問題解決のプロセス
- 質問1:
Javaクラス、オブジェクトおよび定義の他の用語では、理解することは困難を覚えてすることは困難です。
- 問題1つのソリューション:
ウェブサイト(とhttps://www.runoob.com/java/java-object-classes.html)
完全にJavaへのこと読んだ後、また画像を例上記サイトのJavaの様々な定義を説明していますより詳細な理解の基本的な用語。
次のように:
プロセスで解決コードのデバッグおよび問題
- 質問1:PP2.2を行うに誤り
問題解決策1:
発見したスキャナを用いて()場合工法System.in無入力、および浮動小数点除数部門の使用。成功をコンパイルした後に変更します。- 質問2:直接達成することができない、トラブル進部門でPP2.4、華氏と摂氏変換式をやってました
問題2解決策:解決、小数に変更。
- 質問3:エラーやっPP2.4
質問3ソリューション:クラス名を検索し、ファイル名が均一ではなく、改訂された解決。
- 質問4:以下のコードを記述することが分かった場合PP2.6を行うと、
以下の結果を得ます:
順番にそれらを追加するのではなく、数を果たしています。 質問4ソリューション:デジタル-来る、それを変数に追加した後に最初に提案割り当て、その後、可変出力。
- コードに示すように、ピックアップして乱数を用いて、nextIntランダムクラスをPP3.1をやって:問題5
が、数は10-99の問題が生じるの範囲内で発見されていません。
問題解決策5:浮動小数点0-1最後に、見つかった書籍をチェックが、nextInt()はnextFloat()、nextInt()の値はランダムな整数であり、nextFloat()異なる、対応する結果が得られないことです。10を解くことができる(90)nextIntに変更されます。
- 質問6:PP3.5を行うと、コンパイル時エラーが見つかりました。
また、データが割り当て中にオーバーフローすることを示唆しているのDecimalFormatは、識別子が見つからないことを示唆しているだけではなく。 6溶液は、質問:検索は、float型の長さの外側のDecimalFormatヘッダファイルjava.textで、およびPI割り当てを添加していません。ヘッダファイルを追加し、それが解決される倍増するフロートを変更します。
コードホスティング
先週試験間違った質問の概要
間違った質問1:
最大のどちらのメモリ容量は?(最大ストレージ容量オプション?)
A.1,500,000,000,000バイト(1,500,000,000,000バイト)
B.100のギガバイト(100ギガバイト)
C.3,500,000キロバイト(350万キロバイト)
D.10テラバイト(10件のテラバイト)
E.12,000,000メガバイト(1200万メガバイト)
正解E Bを選択
理由1:
リトル経験は、Eオプション、少し不注意に気付かなかった、このような大きなメガバイト単位を見ていません。
1を理解します:
共通単位:
2間違った質問:
ボラティリティがの財産である(___変動の性質)
A.RAM(ランダムアクセスメモリ)
B.ROM(読み出し専用メモリ)
C.disk(ディスク)
D.software(ソフトウェア)
E.computerネットワーク(コンピュータネットワーク)
正解の選択肢D
理由2:
自己概念の最初の章では表示されません。
2理解:
変形可能な手段は、本明細書に揮発性である必要があり、ランダム・アクセス・メモリは、データは、電源オフ後、外部メモリに保存されたデータのみを保持されないことを意味します。
3間違った質問:
ため、問題を解決しようとする前に、管理しやすい部分に問題を分析することが重要である(問題を解決しようとする前に、制御可能な部分に問題を置くために非常に重要です)
A.most問題(問題のほとんどは解決するために、単一の大規模な活動として使用することができない複雑すぎる)単一の大きな活動として解決されるにはあまりにも複雑です
B.mostの問題は、複数の人によって解決し、別の人に各部分を割り当てることは容易である(問題のほとんどは、多くの人々によって解決され、別の人に割り当てられた各部分は非常に簡単です入れ)されています
C.itは、プログラムのコードの大きなブロックに統合するよりも、一つのプログラムに一つのプログラム(プログラムの小さな部分にコードの一つの大きな塊を統合することであるよりも、一つのプログラムにプログラムの小片を統合する方が簡単です)簡単に
問題を正しく解決しないことがありD.our最初のソリューションは、(私たちの最初のプログラムが正しく問題を解決しない場合があります)
上記のE.all(上記の全て)
Eは正解Aを選択します
理由3:
各オプションは、独自の善悪には、対象そのものにリンクされていない集中することです。
3理解:
問題が大きすぎる場合には、我々は彼を分割しますので、彼はあまりにも複雑ではないでしょう。
解答D自体は問題ありませんが、これは問題を分割する理由にはなりません。
4間違った質問:
Javaは、(N)の一例である(Javaは___の一例です)
A.machine言語(機械語)
B.assembly言語(アセンブリ言語)
C.highレベル言語(高級言語)
D.fourth世代言語(第四世代言語)
E.both C及びD(C及びDです)
正解E Cを選択
理由4:
この本は、Javaは、高度な言語ですが、それは第四世代言語ではないことを指摘していないことを明らかにしました。
4理解:
さまざまな機能第四世代言語によると、Javaは本当に第四世代言語に属します。
間違った質問5:
Javaは、(N)の一例である(Javaは___の一例です)
A.machine言語(機械語)
B.assembly言語(アセンブリ言語)
C.highレベル言語(高級言語)
D.fourth世代言語(第四世代言語)
E.both C及びD(C及びDです)
正解E Cを選択
理由5:
この本は、Javaは、高度な言語ですが、それは第四世代言語ではないことを指摘していないことを明らかにしました。
5理解:
さまざまな機能第四世代言語によると、Javaは本当に第四世代言語に属します。
6間違った質問:
Javaプログラムのための主要な方法は、(mainメソッドのJavaプログラムが___によって定義される)によって定義されます
A.publicメイン静的()
B.public静的メイン(文字列[]引数)。
C.public静的メイン(文字列[]引数)
D.private静的メイン(文字列[]引数)
E.the mainメソッドはB、A、CまたはDではないように定義することができます
(この方法は、A、CまたはDのように定義することができるマスターではなく、B)
答えE Cを選択
理由6:
Aでは、パラメータが欠落しています。これらのパラメータは、本文中で後で定義されますが、実際に、彼らは、ユーザーがプログラムを実行することを可能にし、プログラムが呼び出されたときに、いくつかの初期パラメータが含まれています。
Bでは、ステートメントの末尾にセミコロンを許可されていません。
D言語では、プログラムを行います「プライベート」ではなく「国民が」定義が無意味になるように、誰も実行することはできません。
6を理解します:
またはJava文は十分徹底の構造を理解します。
7間違った質問:
命令:System.out.printlnは(「Hello World」の);(このコマンドは、好ましくは、注釈されている)として最もよくコメントされる可能性があります
(画面に印刷された「Hello World」の)画面にA.//版画の「Hello World」を
B.//は、(メッセージが印刷された)メッセージを出力し
C.//は、(出力情報を実証するために使用される)出力メッセージを実証するために使用
D.//
E.//無意味な命令(命令は意味がありません)
解答C Dを選択
原因7:
A及びBは大幅注釈を表し、D及びEは、無意味なコメントを表します。
C言語は、命令がプログラム内に表示されます理由を説明するコメントしています。
7理解:
個人的な感情は、同じ面倒がA、B及びCが示される手段です。
8間違っている質問:
以下の文字のどれがJavaプログラムに関連した「クローズ」の文字を持っている必要はありません?(それに関連した文字の「終わり」を持っている必要はありません。次の文字のJavaプログラムでは、?)
A. {
B.(
C. [
D. <
これらのE.allは、(複数の文字が最後に要求されている)を閉じる文字を必要とします
解答D Eを選択
理由8:
{開口のため、したがってモジュールを開閉するためのモジュール}。
発現のために必要な(従って開口の式は、)閉じられます。
[配列起動するための指標、したがって]は配列インデックスを閉じる必要があります。
<「未満、」さ>は、シャットダウンせずに一緒にこれらの2つの値、<文字を配置する必要がありません「より大きい」です。
8理解:
私は忘れてしまったときの比較休憩を分離します。
9間違った質問:
Javaソースコードがないのに対し、Javaバイトコードを直接実行可能である。(Javaバイトコードを直接実行することができ、Javaソース・コードではありません。)
真
B.false
選択Bの答え
9 9+の理由を理解します:
彼らは機械語ではないため、JavaソースコードとJavaバイトコードは、直接実行することはできません。
バイトコードは少しだけ速くソースよりコンパイルすることができます。
ペアピアレビューと
コメントは、学生のブログやコードを持っていました
その他(知覚、思考、など、別売)
キーは、学生数のJavaコードが本を理解することで、コードの構造を理解する鍵は、例えば、コードを把握することです:クラスの構造を、コードがプレイする方法を把握するだけでなく、把握するだけではなく......構造体を宣言しますシステム全体は、全体の言語は、どのような論理演算です。
参考資料
学習の進捗バー
コードの行の数(/蓄積を追加) | ブログ量(/蓄積を追加) | 学習時間(/蓄積を追加) | 重要な成長 | |
---|---|---|---|---|
目標 | 10,000行 | 30 | 400時間 | |
最初の週 | 208分の208 | 2/2 | 9/9 | |
最初の週 | 466分の258 | 2/4 | 15/24 |