ヤマムギ

growing hard days.

*

Java SE 7 Silver対策勉強をしながらメモ 2015/2/1

      2015/03/29


本日は繰り返し処理。

配列や演算でひっかけてくる問題に苦戦。
繰り返しだけに頭をとらわれずに、頭を今だけコンパイラと実行環境にしなければ。

いつものごとくマークダウンで記載したのでそのままJetpack Markdownにお任せでアップ

whileのひっかけに注意

  • 一見すると01234と出力されそうだが正解は6。
  • while(num++ < 5)の後ろに「;」
  • これは処理なしの while(num++ < 5){};のブロック省略記述
  • なので次の{}ブロックは別物
  • 後置きインクリメントなので、5よりも小さいか判定した後に1加算される

do-whileと後置きインクリメントのOutOfBoundsに注意!!

  • ary.length は5
  • num++ は後置きインクリメントだから、4で判定された後に加算されて5になって、もう一度doが実行されるため、実行時エラーとなる

繰り返しの問題のようで実は宣言範囲だったりするので注意!!

  • まず問題と問題は切り離して考える!!(上の問題の逆のように見てしまうとミスリードされる!!)

  • numはdoブロックの中で宣言されているから、doブロックの外のwhile条件で使用する事は出来ない

改めて配列宣言を見なおしておく

  • 宣言時の要素数確保は添え字ではなく要素数である事を忘れない!

  • これは5行5列の2次元配列だから、ary[5][5]なんかはOutOfBounds
  • ちなみにint ary[] = new int[0]は要素数0の配列が出来るだけでコンパイル、実行は出来る。

余りが0でなければtrueのfor文

  • 1周目は (0+1)%3 != 0 はtrueなのでtrueが出力
  • 2週目は (1+2)%3 != 0 はfalseなのでループ終了

0%整数は0である

  • (0%2 == 0) はtrue
  • 0 割る整数は0なので余りも0といえる

左辺で要素数が指定できるはずがない!!

  • いい加減に配列文法にひっかからない!!

Stringのlength()メソッドと配列のlengthフィールドとついでにArrayListのsize()メソッド

  • String.length()メソッド 文字数を返す
  • 配列.lengthフィールド 要素数
  • ArrayList.size() 要素数を返す
@yamamanx

開発ベンダー5年、ユーザ企業システム部門通算9年、ITトレーナー1年目のSoftware Engineerです。
質問はコメントかSNSなどからお気軽にどうぞ。
出来る限りなるべく答えます。

このブログの内容/発言の一切は個人の見解であり、所属する組織とは関係ありません。

また、勉強会やイベントのレポートは自分が気になったことをメモしたり、聞いて思ったことを書いていますので、登壇者の意見や発表内容ではありません。

 - Java, study , ,

ad

ad

  関連記事

IoTセミナー in おおさか「IoTで変わる!企業と働き方」に行ってきました

これからの企業と働き方 ~IoT・AIが創造する未来~ さくらインターネット株式 …

「MasterCloud #9 新春クラウドLT大会」でLTをさせていただきました

Alibaba Cloudを検索してたらconnpassの「MasterClou …

Developers Summit 2018「 IoTサービスを始める際に必要なこととは」を聞きました

以下は、思ったことや気になったことをメモしていますので、必ずしも登壇者の発表内容 …

JAWS-UG 関西IoT専門支部「マクニカkibo + AWS IoTハンズオン」に行ってきました、というか運営メンバーとして参加してきました

2015/12/19(土)はJAWS-UG 関西IoT専門支部の記念すべき1回目 …

Alexa Day2018で「Alexa連携デバイスクラウドを構成するAWS ソリューション」を聞きました

以下は、思ったことや気になったことをメモしていますので、必ずしも登壇者の発表内容 …

「関西AWSスタートアップ勉強会」に行ってきました

第2回 関西スタートアップAWS勉強会に行ってきました。 akippa 拠点数コ …

走った!しゃべった!呑んだ!JAWS DAYS 2016 re:cap 〜JAWS-UG大阪&関西女子会 特別合同企画〜

先日のJAWS DAYS 2016 re:cap 〜JAWS-UG大阪&関西女子 …

Java SE 7 Silver受験直前 練習問題総確認 2015/2/14

カーリング中継見ながら、iTunesシャッフルでかけながら、練習問題。 集中って …

Linux Mint 17 MATE 64bit にJDKを入れなおしてEclipseをインストールする

Linux Mint 17のJDKを入れなおす ソフトウェア・パッケージを最新に …

MonotaRO TechTalk #4「データ分析」に行ってきました

本日の一杯目。MonotaRO TechTalk #4「データ分析」もちろん呑み …