Java SE 8 Silver 勉強記 その4

前置き

Java SE 8 Silverをそろそろ取らねばと思い至り、アウトプットの練習もかねて「間違えた箇所のまとめ」をしようと思う。

※体系立てたまとめ記事ではなくノート代わりの日記ですので、あしからず。

 

第4章を実施した。

正答率55%。

今回は、配列について。

間違えた箇所

宣言でコンパイルエラーになるパターン

  • int a = new int[2]{2, 3}
  • int b = new int[2]

宣言は普段変な書き方をしないので、どうにも不明点が結構あるね。

 

Java SE 8 Silver 勉強記 その3

前置き

Java SE 8 Silverをそろそろ取らねばと思い至り、アウトプットの練習もかねて「間違えた箇所のまとめ」をしようと思う。

※体系立てたまとめ記事ではなくノート代わりの日記ですので、あしからず。

 

第3章を実施した。

正答率50%・・・これはひどい・・・。

今回は、演算子と判定構造の使用について。

間違えた箇所

byte型の桁数について

  • -128~127

したがって、byte b = 0b10000000とすると互換性なしでコンパイルエラーになる。

 

判定式の大なり小なりについて

  • 数値にのみ使用できる

 したがって、true <= trueとするとコンパイルエラーになる。

 

論理演算子の評価について

  • ショートサーキット演算子(&&など)は左オペランドで真偽が確定する場合処理を打ち切る

 

参照型変数の==評価について

 

そのほかはケアレスミス

pythonのお勉強がてらBMIを計算するプログラムを作った

pythonのお勉強を始めたので、色々と他にも試してみる。

まずは、python3を触ってみる。また、以前からgithubを触ってみたかったので合わせて使ってみる。

とりあえず、以下にGistを貼ってみる。

 

BMIを計算するpythonプログラムのサンプル

 

とりあえず、動作確認も兼ねて和久井留美さんのプロフィールを拝借。

身長:169cm

体重:49kg

 

f:id:LouP:20171129010615p:plain

 

 結果は以下のようになりました。

 

f:id:LouP:20171129012132p:plain

留美さん、痩せすぎですね。 

Java SE 8 Silver 勉強記 その2

前置き

Java SE 8 Silverをそろそろ取らねばと思い至り、アウトプットの練習もかねて「間違えた箇所のまとめ」をしようと思う。

※体系立てたまとめ記事ではなくノート代わりの日記ですので、あしからず。

 

第2章を実施した。

正答率75%・・・まずまずといったところ。

今回は、データ型について。

間違えた箇所

int型に利用できるリテラルについて

  • 10進数
  • 8進数(0始まり ex.0413)
  • 16進数(0x始まり ex.0x10B)
  • 2進数(0b始まり ex.0b100001011)

※long型では、Lやfloat型ではFなどを使うことができる

 

数値リテラルのアンダースコアについて

(無意味な文字、現実の表記におけるカンマのような扱い。可読性向上のために使う。)

  • リテラルの接頭と末尾には記述できない
  • 記号(「.」「L」「0x」など)の前後には記述できない

 

識別子の命名規則について

  • 予約語は使えない
  • 使える記号はアンダースコアと通貨記号のみ
  • 接頭に数字は使えない

疑問:接頭に数字が利用できないのはなぜか?上述のlongリテラルとの見分けがつかなくなるから?

 

基本的ですが、結構忘れがちで重要な部分。

特に命名規則の接頭数字不可は、本番テストでも出てきそうですね。通貨記号が使えるのも意外。16進数や2進数の数値リテラルは仮想通貨(bitcoin)などを扱う場合には使うこともありそう。今どきはJavaで行うこともないかな・・・。

 

Java SE 8 Silver 勉強記 その1

前置き

Java SE 8 Silverをそろそろ取らねばと思い至り、アウトプットの練習もかねて「間違えた箇所のまとめ」をしようと思う。

※体系立てたまとめ記事ではなくノート代わりの日記ですので、あしからず。

 

利用しているテキストは以下の通り。

 

徹底攻略 Java SE 8 Silver 問題集[1Z0-808]対応

徹底攻略 Java SE 8 Silver 問題集[1Z0-808]対応

 

 

とりあえず、第1章を実施した。

正答率56%・・・これは2週目は必須ですね・・・。

普段の仕事では、eclipseなどの統合開発環境を利用するため、こういった資格の範囲になる部分は補助機能で保管できてしまうため、どうにも身についていない。

 

間違えた箇所

クラスの扱いについて3点

  • パッケージ宣言をしない場合、そのクラスは「無名パッケージ」に属する
  • Javaのソースは、java.langパッケージの宣言が不要
  • import文でメソッドを指定するときは引数指定不要(オーバーロード適用のため)

疑問:呼び出し元がパッケージに属していて、呼び出し先が無名パッケージの場合、呼び出す方法はあるのか?

 

プログラミングの基本的な点について1点

  • エントリーポイント = mainメソッド = 処理の開始点

補足:Javaの場合は、ご存知の通り、public static void main(String[] args)もしくは、(String... args)

 

無名パッケージについては、すっかり忘れていた。エントリーポイントについては、恥ずかしながら意味さえ理解していなかった。体系立てた学習ってやっぱり大事だね。

 

この世はサイバーパンクの上にある

 Hello World !

 温かい日が少しづつ増える今日この頃、植物が新芽を生やすように人間も春になると新しいことをはじめたくなるものである。日々何となしに考えていることをアウトプットすれば、このポンコツ文章力も少しはマシになるのではないか?という淡い期待とともにこのブログを始める。ジャンルは問わない。好きなように書き、好きなように消える。それが私のやり方である。

 さて、本題に入ろう。紅殻のパンドラの新刊や攻殻機動隊のハリウッド映画など、サイバーパンクが目につく今日この頃、現実世界でもかつてSF作家たちが創造したネットワークガジェットに追いつけ追い越せとばかりに進化を続けている。まさしく、「この世はサイバーパンクの上にある」といえるだろう。

 サイバーの部分を取り出せば、世の人々は常にwwwにつながり、Unixの子孫と対話し、ついにはAIとの対話を果たそうとしている。wwwに常に接続とは、そのままの意味であり、主にはスマートフォン・PC、そのほかATMやらPOSレジ等々、我々は常にネットワークに接続されている。Unixの子孫とは、Linuxでありこれは特にAndroidiOSを指す。AIは、まだ対話能力が十分とは思えないが、それでも先進的な成果を上げているのも事実であると思う。(正直、AIは門外漢である)

 パンクの部分であるが、これはどうだろう?AIよりも門外漢であるが、一つ言えることは、wwwの拡張が人々に生地の境界を越えた文化や風習の伝播が起きていることは確かであるということだ。インターネットに国境はない。文化や風習、思想、倫理、経済、娯楽、宗教などなどがこれまで物理的・人為的に作り上げた垣根を易々と飛び越えて人々に伝播するのだ。これは、左記の垣根を作り上げたい人、つまりは他の文化を流入させたくない人にとっては、大事件でありその伝播によって成長した人々はまさしくパンカー足り得るのではないだろうか。

 そういった訳で、「この世はサイバーパンクの上にある」と相成るわけだが、言いたいことが全くいえていない気がする。まあ、いい。何せこれは誰に強制されているわけでもないのだから。気ままにやろう。うん。