CodeGym /Java Blog /ランダム /旧レベル10
John Squirrels
レベル 41
San Francisco

旧レベル10

ランダム グループに公開済み

高学歴ではなく教育でもない

旧レベル10 - 1なぜ人は大学に入学するのか、自問してみましょう。この簡単なフレーズを覚えておいてください。一生懸命勉強しなければ、一生ウェイターになるでしょう。高等教育を受ける人は皆、ウェイターになることを嫌っているとさえ考えることもできます。それで、彼らは何を望んでいますか?彼らはウェイターとは反対の社会的側面の仕事を望んでいます。 人々は高収入で資格の高い仕事に就くために大学に入学します。彼らが家と車を買えるように。すべてを手に入れましょう。少なくとも時々(中流階級の定義)。人々は大学教育を受ければ、高賃金で質の高い仕事が保証されると考えています。そうではありません。しかし、大学はそれについて沈黙しており、私たちは「卒業したら良い仕事に就けるだろう」という魔法のように考え続けています。良い大学で5年間過ごしたとしても、「良い仕事」には1ミリも近づきません。それが理由です:

1. 大学の教師は優れた専門家になることを教えてくれません。

これに対してはっきりと答えてください。大学であなたに教えている人たちは、そこそこの給料をもらって働いていますよね。彼らは労働市場で良いポジションに就く資格を得ることができないからだ。彼らには資格だけでなく経験も不足しています。それが欠けていない人は去ります。世界最高の大学ではすべてが異なりますが、私たちは今それらについて話しているのではありません。あなたの意見はどうですか: 成功した金融専門家は、年収 15 万ドルの銀行に勤めますか、それとも年収 6 万ドルの大学で教鞭をとるでしょうか? 別の仕事を見つけることができなかったために、ゆるい専門家が大学で教鞭をとっているということはよくあることだ。除外品はありますが、数は少ないです。私は大学で良い先生に出会いました、彼らは本当にそこに存在します。しかし、それは少数派ですらない、ごく少数です。良い教師は理論を教えるだけでなく、その科目の実践的な側面も強調します。

2. ほとんどの大学の教師は科学を賞賛するが、専門的な実現を軽蔑している

ほとんどの教師が専門家として失敗したという事実にその根源を探るべきです。そして、言い訳を見つける唯一の方法は、専門的な実現は価値のない職業であるということです。講義に出席し、その後学術会議に参加すると、気分は盛り上がります。そして、仕事を理由にたくさんサボった場合、まったく異なる扱いを受けます。教師は仙人のようなものです。彼らにとって職業は虚栄心中の虚栄心だ。彼らは科学という神に奉仕することに専念し、一日中科学記事を書くことを祈っています。目的は崇高かもしれないが、現実の生活では役に立たない。 旧レベル 10 - 2

3 比較対象のエタロンが間違っています。

大学生は自分自身を学生と比較し、自分が優れていることを誇りに思っています。この幻想は、人が就職を考え始めて別の方向に目を向けるまで続きます。実際、学生が自分自身を現役の専門家と比較すると、自分たちが少しずつステップを踏んで目標に到達していることがわかるでしょう。大学では平均的になってはいけません。なぜなら、「みんながやっているように」やれば、「みんなが得する」結果が得られるからです。大学のほとんどの学生はランダムであり、実際には他に選択肢がありません。おそらく彼らは親に強制的に大学に入学させられ、将来の職業について全く考えていません。これはよく起こります。友達と自分を比べないでください。完成したプロジェクトと仕事の成功は、あなたの知識とスキルの最良の基準となります。自分を「顔のない群衆」と比較しないでください。

4 専門的な勉強は大学で得られる知識のほんの一部にすぎません。

職場に来ると、何を学んだかではなく、何ができるかが問われます。あなたの上司は、その仕事の要件リストに記載されているあなたが知っていて実行できることに興味を持つでしょう。あなたには特定のタスクが与えられていますが、それを行う方法についての説明は受けておらず、上司はやがて結果が出るのを期待しています。幸運を! あなたは大学で歴史を学び、銀行オペレーターとして働くことになっています。これはあなたを目標に近づけるものでしょうか、それとも遠ざけるものでしょうか? 技術的には、あなたはもっと詳しいです。それはあなたを近づけるという意味ですか?しかし実際には、学期が進むごとに貴重な専門知識を得る時間が減り、その量は変わりません。つまり、現実的には、目標からはさらに遠ざかっているのです。

5. 大学は「高度な専門家を育成する」という目標を設定しません。

狙っていない場合、ゴールを達成するのは難しいです。大学では、あなたを総合的なスペシャリストに育てます。「第二中等教育」のようなものを受けます。彼らは、すべてを研究する人は何も知らないということを忘れているだけです。 科学、一般教育、専門教育という 3 つの大学の目標を覚えていますか? 科学と一般教育を加えるために何を切り詰めなければならなかったと思いますか? 右: 専門分野。そして、大学の目標はあなたを高度な資格を持った専門家にすることだと今でも思っていますか?

6. 人が一度に 2 つ以上の科目を勉強すると、時間の無駄になります。

これは放課後の教育が間違っているように思えます。真実は職場でしかわかりません。学校の授業がこれほど短いのは、それが効果的だからではなく、学生はまだ子供なので、1 時間以上集中力を維持することができないからです。しかし、タスク間の切り替えにより、脳が効率的に考えることが妨げられることがよくあります。仕事では大人としてのパフォーマンスを発揮する必要があり、頻繁にタスクを切り替えると効率が大幅に低下します。なぜすぐに試験の準備ができると思いますか? マルチタスクをしないだけで、効率が向上します。何かを少しずつ学ぶことはまったく愚かです。週に 6 時間だけダイエットしていると想像してみてください。結果はどれくらいで現れるでしょうか?

7. 大学では、その主題には少ししか触れません。

2 学期にわたって何かを勉強すると仮定しましょう。週に2回の講義と2回の実技の授業があります。大学に対する真剣な取り組み。それで、それは何時間になりますか?4 つのクラスは 2 学業時間 (通常の 1.5 時間)、つまり週に 6 時間です。前期は9月、10月、11月、12月の4か月間勉強します。2 番目にはさらに 4 つあります: 2 月、3 月、4 月、5 月。合計: 8 か月、それぞれ 4.5 週間。毎週6時間。そうすると年間216時間になります。親愛なる生徒の皆さん、月の労働時間は 180 時間であることを知っておいてください。年間コースはどれも 1 か月半で学習でき、本当に必要な場合は 1 か月で学習できます。

8. あなたは、最も一般的で、実際には役に立たない、時代遅れの知識を教えられています。

旧レベル 10 - 3それぞれの知識は、解決しなければならない問題に応じて異なる価値を持ちます。溺れそうになったとき、哲学の授業を学ぶよりも、泳ぎ方を知っているほうがずっと役に立ちますよね?そして、レジ係の仕事に就くなら、ラテン語の基礎レベルを知っているよりも、数え方を知っているほうが良いでしょう。職業上の認識で最も役立つのは、間違いなく、実践的な経験と、自分の専門分野の最近の進歩に精通していることです。あなたの大学の先生はおそらく実務経験がなく、最新の進歩についてはよく知りません。そして、どこかでそれらについて読んだとしても、その価値やそれが適用される分野についてはまったくわかりません。 役に立たない科目を100個学んでも、役に立つ10個にはなりません。

9 実践的なスキルは理論よりも 10 倍価値があります。

実生活では、仕事で何かをしなければならないことがよくあります。やり方を知っている、または知っていると思っていても、実際にそれができるとは限りません。喫煙が体に悪いのはわかっていますが、やめることはできますか? スポーツをするのが正しいことだとわかっていますが、実際に運動していますか?外国語がキャリアに良いことはわかっていますが、実際にいくつか学ぶことができるでしょうか? 人生において大切なのは練習だけです。実践なしに知識が増えれば増えるほど、その価値は低くなります。どの知識が間違っているか、古い知識、誤用されているか、そしてどれが本当に役立つかをどうやって判断するのでしょうか? これについて考えたこともありませんか?現実の世界へようこそ。 A または B で交通規制を学ぶことはできますが、それでも運転することはできません。理論は実践のための優れた基盤です。あなたが壁を建てていると仮定しましょう。レンガは練習であり、グラウトは理論です。グラウト(理論)がなければ壁は不安定になりますが、レンガ(実践)がなければ理論は役に立ちません。皆さん、大学生活の 5 年間を 10 で割ってください。半年、それが皆さんの長年の「努力」の成果です。証拠が欲しいですか?就職して半年働けば、大学での知識が2倍になっていることがわかります。

新しいレベルに到達しました

レベル10

旧レベル 10 - 4

1 Elly、オブジェクトの強い型指定について

- やあ、アミーゴ! - やあ、エリー! - 今日は明るい気分なので、とても興味深いことを話します。Java のプリミティブ型から始めます。- Java では、すべてのオブジェクトとすべての変数にハードコーディングされた不変型があります。変数の型はプログラムのコンパイル時に定義され、オブジェクトの型は作成時に定義されます。新しく作成されたオブジェクトや変数の型は、存続期間中ずっと同じままです。例: 旧レベル10~5- ただし、覚えておくべき興味深い詳細がいくつかあります。 - まず、参照変数は、常に自分自身の型と同じ型のオブジェクトを格納するとは限りません。 - 第 2 に、2 つの異なる型の変数の相互作用では、最初にそれらを共通の型に変換する必要があります。 -部門についてはどうですか?1 を 3 で割ると、0.333(3) になります。ではない? - いいえ、そうではありません。2 つの整数を除算すると、結果も整数になります。5 を 3 で割ると、余りは 1 と 2 になります。したがって、残りは破棄されます。- 1 を 3 で割ると、0 が得られます (そして 1 - 余りは破棄されます)。 - それでも 0.333 を取得したい場合はどうすればよいですか? - Java では、2 つの整数を除算する前に、そのうちの 1 つを実数 1.0 で乗算して実数 (小数) 型にキャストするのが最善です。 旧レベル 10 - 6- とった。

2 リーシャ、基本タイプ一覧

- やあ、アミーゴ! - おい、リーシャ! - Java 構文の基本はすでに学習しましたが、もう少し詳しく説明したいと思います。- 今日は、プリミティブ型とそれらが占めるメモリの量について少し説明します。あなたはそれを必要とするでしょう、そしておそらく今日でも。これらのタイプは次のとおりです。 旧レベル10~7- 各タイプについて詳しく説明します。 - タイプバイトは整数の最小タイプです。このタイプの各変数は 1 バイトのみのメモリを必要とします。したがって、-128 ~ 127 の範囲の値を格納できます。 - なぜこのような小さな型が必要なのでしょうか? なぜどこでも int を使用しないのでしょうか? - できますよ。しかし、巨大な配列を作成し、そこに 100 を超える値を格納する必要がない場合は、この型を使用しない理由はありません。私は正しいですか?-ショートタイプ型バイトの 2 倍の長さであり、整数のみを格納します。これに適合する最大の数値は 32767 です。最大の負の数値は -32768 です。- int型はすでに知っています。正と負の両方で最大 20 億の整数を格納できます。 - float型は、実数 (小数) を格納するために作成されます。サイズは 4 バイトです。 - すべての小数は非常に興味深い形式でメモリに保存されます。- たとえば、987654.321 は0. 987654321 *10 6として表すことができます。したがって、メモリ内では 2 つの数字「0」として表されます。987654321 » (仮数) および « 6 » (指数 - 10 の累乗) - なぜそれがそんなに難しいのですか? - このような変数の内部構造により、わずか 4 バイトを使用して、int よりもはるかに大きな数値を格納できます。しかし、したがって私たちは精度を放棄します。メモリの一部は指数の格納に使用されるため、小数は小数点以下 6 ~ 7 桁のみを保持し、残りは破棄されます。 -これらの数値は浮動小数点数とも呼ばれます。ちなみに、そのため型名はfloat です - そうか。 -double はfloatと同じ型ですが、長さが 2 倍 (2 倍) あり、8 バイトを占有します。このタイプの最大指数サイズと有効桁数は大きくなります。実数を保存する必要がある場合は、この型を使用します。-タイプchar はハイブリッド タイプです。その値は、数値 (加算および乗算が可能) と文字の両方として解釈できます。これは、文字には視覚的な表現がありますが、コンピュータにとっては単なる数字に過ぎないためです。数値として使用する方がはるかに簡単です。もう 1 つコメントがあります。char 型は厳密に正です。負の値を格納することはできません。 - 型boolean は論理型であり、truefalseの 2 つの値のみを保存できます。 -オブジェクトは表に示されていますが、プリミティブ型ではありません。これは、Java のすべてのクラスの基本クラスです。まず、すべてのクラスはこのクラスから継承されたものとみなされ、そのためそのメソッドが含まれます。次に、任意のタイプのオブジェクト参照を割り当てることができます。null参照を含みます。 - たくさんのことを学びました。リーシャさん、講義ありがとうございました。

3 エリー、型変換。タイプの拡大と縮小。

- そしてここからが楽しみです。型変換について説明します。変数の型は常に同じですが、型を変換できる場所があります。それは課題です。 - 異なる型の変数を相互に割り当てることができます。そうすることで、ある型の変数から取得した値が別の型の値に変換され、2 番目の変数に代入されます。 - 変換には拡大と縮小の 2 種類があるということですね。広げる ことは、小さなカゴから大きなカゴに物を移すようなもので、操作はスムーズでトラブルがありません。狭くするということは、大きなカゴから小さなカゴに物を入れるようなものです。十分なスペースがなく、何かを捨てなければならない場合があります。 - ここでは、«バスケット» のサイズ別に分類されたタイプを示します。 旧レベル10~8- いくつかのコメントがあります:
  1. charはshortと同じ「バスケット」ですが、ポイントが 1 つあります。shortからcharへの値を処理する場合、0 未満の値は破棄されます。charからshortに対処する場合、32,767 を超える値は破棄されます。
  2. 整数を分数に変換する場合、下位の桁が切り捨てられる場合があります。ただし、小数は近似値を格納することを目的としているため、そのような割り当ては許可されます。
- 型を絞り込む場合は、数値の一部を意図的に切り捨てたり、間違っているわけではないことをコンパイラに明確に示す必要があります。これを行うには、型キャスト演算子を使用します括弧内は型名です。- さまざまな型の変数を割り当てる方法は次のとおりです。 旧レベル10~9 -数値の一部が破棄されるか、型の絞り込みが発生するたびに、数値/変数の前に型キャスト演算子を宣言する必要があります。演算子は、その直後に続く数値/変数にのみ適用されます。 旧レベル10 - 10- そうか。

4 Diego、整数型変換タスク

- やあ、アミーゴ! ここでは、整数型の会話に関するタスクを示します。プログラムがコンパイルされるように、必要な場所にキャスト演算子を置く必要があります。
タスク
1 1. キャストおよび会話
バイト a = 1234 と入力します。
int b = a;
バイト c = a * a;
int d = a / c;
2 2. 「キャスト」と「会話」と入力します
。 int a = 15;
int b = 4;
float c1 = a / b;
float c2 = (float) a / b;
float c3 = (float) (a / b);
3 3. キャストと会話
float f = 333.50; と入力します。
int i = f;
バイト b = i;
4 4. キャストと会話の
短い番号 = 9 と入力します。
文字ゼロ = '0';
文字 9 = ゼロ + 数値;
5 5. キャストと会話の
短い番号 = 9 を入力します。
文字ゼロ = '0';
短い nineCode = ゼロ + 数値;

5 Elly、String型への変換

- 次に、小さいですが興味深いトピック、文字列変換を取り上げます。 - Java では、あらゆる型のデータを String 型に変換できます。 - 有望ですね。 - 実際、それはさらに良いです。ほとんどすべての型を暗黙的に String に変換できます。これは、String と «non-String» という 2 つの変数を追加したときに最もよくわかります。このような場合、非文字列変数は強制的に文字列に変換されます。- ここで、いくつかの例を見てみましょう: 旧レベル10~11結論: String を他の型に追加すると、2 番目のオブジェクトは String に変換されます。 - 表の 4 行目に注目してください。すべての演算は左から右に実行されるため、5 + '\u0000'の加算は整数の加算として発生します。 - String s = 1+2+3+4+5+"m"のようなコードを書くと、s = "15m"が得られますか? - うん。まず数値が加算され、次に文字列に変換されます。

6 Diego、一般的な型の変換に関するタスク

旧レベル10~12- さて、ディエゴによるちょっとした講義です。参照型について短く要点を説明します。- ここまでは、オブジェクト型の変数から始めました。この変数には、任意の型の参照を割り当てることができます (型拡張)。逆の代入 (型の縮小)を行うには、キャスト演算子を明示的に指定する必要があります。 旧レベル10~13- オブジェクトへの参照が変更されても、オブジェクトは変更されません。代入時の型の縮小と型の拡大は、参照変数の型とオブジェクトの型の互換性をチェックします。 - うわー、かなり明確になりました。ありがとう、ディエゴ。 -エラーを回避するために、例のようにObject 型の変数にどのような型が格納されているかを確認する方法があります旧レベル10~14- 保存されているオブジェクトの種類がまったく不明な場合は、各種類を絞り込む前にこのようなチェックを行う方がよいでしょう。 - とった。

7 エリー、リアルタイプ

- 実数型 (分数型) に関する興味深い点がいくつかあります。この例から始めましょう: 旧レベル10~15- この計算の結果、f の値は …ゼロに等しいです。 - リーシャがそんなこと言ってた… - ああ、本当ですか?それは良いです。練習は完璧を作る。- 実際、例に間違いはありません。1 つの整数を別の整数で割った場合、結果も整数になります。除算の余りは単に破棄されます。これを回避するには、除算に含まれる 2 つの数値のうち少なくとも 1 つが小数であることを確認してください。- 数値の 1 つが小数の場合、2 番目の数値がまず小数型に変換され、その後除算が続きます。- この問題を解決する方法は次のとおりです。 旧レベル10~16- 除算に変数が関与している場合はどうなるでしょうか? - 次に、次のようになります。 旧レベル10~17- しかし、これは見栄えがよくありません。もっと便利な除算演算子はありますか? - いいえ、それだけです。 - そうですね、問題ないと思います。

8 エリー、リテラル

- そして最後に理沙先生による教授風講義ですが、これは無駄な情報が満載です。講師はみんなこれが大好きです。これはあなたにとっては理解しにくいかもしれません。したがって、あまり考えずにただ見てください。 - はい、準備は完了です。- 今日はリテラルとは 何かについて説明します。リテラルは、Java コードに直接保存されるすべてのデータです。 例: 旧レベル10~18 - 実際には、さらにいくつかのリテラルがあります。リテラルを使用すると、既知のタイプの値を設定できます。 旧レベル10~19- つまり、コードはメソッド、クラス、変数などであり、リテラルはコードに直接保存される変数の特定の値です。正しく理解できていますか? - そうです。 - 大丈夫。ついに、Java の全体像が見えてきました。

9 教授、型についての講義

- 素晴らしい!最後に、これは私のお気に入りのトピックである型変換です。教授が私にそのことについて話してくれたときのことさえ覚えています。とても「魅力的」でした。その時は何も分かりませんでした。しかし、もちろん、これらの素晴らしい講義のおかげですべてを理解できるでしょう。Java の変換とプロモーション (Oracle ドキュメント) データ型 キャスト (型変換) Java キャストと変換 Widening 変換と Narrow 変換

7月10日

- おお!いやあ、あなたは本当に賢いですね、アミーゴ!たった2週間で本当にたくさんのことを学びました!あなたは怪物のようです。ところで、2週間の奴隷労働の後に、ちょっと楽しいことはいかがですか?

11 キャプテンリス

(- 私はあなたを手伝いました。家でやってください。) 宿題 (10 単位) - こんにちは、兵士! - おはようございます!- 素晴らしいニュースがあります。スキルを強化するための簡単なチェックを次に示します。毎日やれば、すぐにスキルが向上します。タスクは、Intellij IDEA で実行するように特別に設計されています。
Intellij Idea で実行する追加タスク
1 1. 正解は: d=2.941
型キャスト演算子を 1 つ追加して、d = 2.941を取得します。
2 2. 正解は: d=5.5
型キャスト演算子を 1 つ追加して、d = 5.5を取得します。
3 3. 正解は次のとおりです: d=1.0
型キャスト演算子を 1 つ追加して、d = 1.0を取得します。
4 4. 高額な給料
「Java の勉強はしたくない、高額な給料が欲しい」というメッセージを例に従って 40 回画面に表示します。

例:
Java を学びたくない、大きな給料が欲しい
Java を学びたくない、大きな給料が欲しい
Java を学びたくない、大きな給料が欲しい
o Java を学びたくない、大きな給料が欲しい給料
はJavaを学びたくない、私は大きな給料が欲しいです
Javaを学びたくない、私は大きな給料が欲しいです
5 5. 文字の数
キーボードから 10 個の文字列を読み取り、その中の異なる文字の数を数えます (アルファベットの 26 文字すべてについて)。結果を画面に表示します。

出力例:
a 5
b 8
c 3
d 7

z 9
6 6. Human クラスのコンストラクター6 つのフィールドを持つHuman クラス
を作成します。10 個の異なるコンストラクターを考え出し、実装します。各コンストラクターには意味がある必要があります。
7 7. 最小限の静的修飾子を移動する
コードがコンパイルされるように、できるだけ少ない数の静的修飾子を移動します。
8 8. 文字列リストの配列 文字
列のリストを要素とする配列を作成します。配列に任意のデータを入力し、画面に表示します。
9 9. リスト内の同じ単語
キーボードから 20 個の単語を読み取って、リストに入力します。リスト内の同一の単語の数を数えます。結果はMap <String, Integer>である必要があります。マップのキーは一意の文字列、値はリスト内のこの文字列の数である必要があります。地図の内容を画面に表示します。
10 10. 最大 5 つの数
整数のリストを作成します。キーボードから 20 個の整数を読み取り、それらをリストに入力します。リストから安全に数値を抽出するメソッドを作成します。
intsafeGetElement(ArrayList<Integer> list, int Index, int defaultValue)

このメソッドは、インデックスによってリストの要素を返す必要があります。このメソッドで例外が発生した場合は、それをキャッチして、defaultValue を返す必要があります。
-それらのタスクはグリーン用でした。より複雑なボーナスタスクを追加しました。トップガン専用。
ボーナスタスク
1 1. プログラムがコンパイルされず、実行されない。修理する。
タスク:プログラムは HashMap がどのように機能するかを示します。プログラムはキーボードから一連のペア (数値と文字列) を読み取り、それらを HashMap に配置し、HashMap の内容を画面に表示します。
2 2. プログラムに新しい機能を追加します。
古いタスク:プログラムは、キーボードから入力されたペア (数字と文字列) を表示する必要があります。
新しいタスク:プログラムは、キーボードから入力されたペア (数値と文字列) をHashMapに保存する必要があります。空の文字列は入力の終了を意味します。数字は繰り返される場合があります。文字列は常に一意です。入力データが失われないようにしてください。プログラムはHashMapの内容を画面に表示する必要があります。

入力例:
1
Stop
2
Look

出力例:
1 Stop
2 Look
3 3. アルゴリズムを学び、実践する。
タスク: キーボードから 30 個の数字を読み取ります。10 番目と 11 番目の最小番号を画面に表示します。
ヒント:
最小値は 1 番目の最小値です。
次の最小値は 2 番目の最小値です

説明 1:
1 15 6 63 5 7 1 88
最初の最小値は1
2 番目の最小値は1
3 番目の最小値は5
4 番目の最小値は6

説明 2:
0 3 6 9 12 15 18 21 24 27 30 33 36 39 42 45 48 51 54 57 60 63 66 69 72 75 78 81 84 87 36
0 6 9 39 42 78 12 15 3033 63 66 69 3 81 84 87 45 48 51 54 57 60 72 75 18 21 24 27 69 36 0
18 21 6 27 9 39 42 78 12 33 63 66 3 81 84 87 45 15 30 48 51 54 57 60 72 75 24
最初の最小値は 0
2 番目の最小値は 3
...
10 番目の最小値は27
11 番目の最小値は30

入力例:
36 0 6 9 39 42 78 12 15 30 33 63 66 69 3 81 84 87 45 48 51 54 57 60 72 75 18 21 24 27

出力例:
27
30
コメント
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION