プログラミングいちねんせい

プログラミング歴ゼロの初心者がもがくサイトです

JAVA

ミニプログラム 001

プログラミングに慣れるために簡単なミニプログラムを作ってみました。脳の筋トレですね。第1回目となる今回はランダムに生成された100までの整数を偶数、奇数に振り分けて先に100以上になった方を勝ちとする内容です。 ミニプログラム 001 感想 ミニプログ…

クラスがロードされるときの変数の初期化

JAVAを実行するとクラスがロードされ変数が初期化されます。int x = 0;程度の変数なら意識しなくてもよかったのですが変数に戻り値のあるメソッドが代入されるようなプログラムを書いたことがなかったので、調べものついでにテストしたところ予想とは違う動…

じゃんけんプログラム Ver.2が完成しました

書籍を読んで以前よりは理解が進んだので今回はなにも見ずに作りました。時間がないので、とりあえずサクっと載せます。 じゃんけんプログラム Ver.2 内容 プレイヤーは2人 計3回の勝負で最終的に勝ち数の多い方が勝利 勝ち数が同じならあいこで決着させる …

演算子とStringBuilderで文字の連結の速度の違いを測定してみました

前回の続きです。ご存じない方は下記からご覧ください。 System.nanoTime()とSystem.nanoTime() JAVAで速度計測するには代表する2つのメソッドがあるようです。それがSystem.currentTimeMillis()メソッドとSystem.nanoTime()メソッドです。それぞれの違いは…

初めてのコマンドプロンプトからのHello World!

北海道で温泉と魚介を堪能してリフレッシュしました!前回はJDKが期待通りに動かずにエラーが出てしまい途方に暮れた結果Windowsの再インストールを視野に入れたところで終わりました。というわけで続きです。 Windowsの再インストール 友達に聞いたところ「…

コマンドプロンプトからJAVAを実行するのに苦戦しています

コマンドプロンプトからJAVAを実行するのに苦戦しています JAVAの勉強を始めたときに「コマンドプロンプトではなくIDEを使ったほうが効率がいい」という記事を読んだのでEclipseを使っていました。しかし、先日Twitterでアドバイスをいただきました。 javap…

文字列を連結するなら演算子ではなくStringBuilderが推奨されるらしいです

文字の連結といえば+演算子を使ったおなじみの式でしたが、それよりもStringBuilderが推奨されているという噂を聞きつけました。というわけで今回もいろいろ見ていきます。 StringBuilderとは 文字の可変シーケンスです。このクラスは、StringBufferと互換性…

初心者殺しのfor文のネストを解説します

みなさんはfor文と仲良くやっていますか?私は昨日まで喧嘩ばかりしていました。あっちに行ったりこっちに行ったりと縦横無尽に駆け回るfor文がなにを考えているのかわかりませんでした。しかし、ふと目に止まったJAVAの質問の解を自分の手でやってみようと…

サブクラスのフィールドの定義の方法で失敗したのでシェアします

サブクラスのフィールドにアクセスしたらnullと0しか返ってこず足が止まりました。これはプログラミング初心者あるあるかもしれないので警告しておくとフィールドはオーバーライドできません。そう言われるとそんなことわかってると反論があるかもしれません…

これからの勉強方針について

いずれ必要になると思い気分転換にドットインストールのHTMLとCSSのレッスン動画を観終えました。想像以上に楽しいです。更にJavaScriptで動的なコンテンツを作れることも知ってしまいJAVAと同じくらい楽しんでるわけですが、あまり目移りすると時間が足りま…

コンストラクタのオーバーロードの復習

コンストラクタのオーバーロードの振る舞いを忘れることが多いので復習します。 Personal.java this();は引数が少ないコンストラクタが引数が多いコンストラクタを利用するために使用 コンストラクタはインスタンス化と同時に一度だけ呼び出される thisの引…

JAVAの継承について考える 第1回目

猫も犬も大きくとらえれば動物です。そして動物や植物は大きくとらえれば生物です。オブジェクト指向であるJAVAは現実世界のふるまいを仮想世界で再現することらしいのでCreatureインターフェースを作りAnimalクラスで実装しCat, Dogクラスで継承してみまし…

初めてのじゃんけんプログラムが完成しました!

4日間かかってついに初めてのじゃんけんプログラムが完成しました!この4日間は仕事中もプログラムのことが頭をよぎるくらい楽しめました。改善点は多いですが、とりあえずじゃんけんができるプログラムが動いたことの喜びは大きいです。前日の落とし穴だっ…

じゃんけんプログラムが完成したと思いきや大きな落とし穴に落ちました

teratailでのアドバイスを受けて異なるクラス間で戻り値の中身を見るという壁を乗り越えることができました。戻り値のあるメソッドは呼び出して変数に入れる場合、右辺から評価されてメソッド自体が戻り値と変わったあと左辺に代入されるということを知りま…

じゃんけんをプログラミングする 2日目

昨日に引き続きじゃんけんのプログラムに取り組んだわけですが見事に玉砕しました。あちらを立てればこちらが立たずという具合に動いたと思ったら他の箇所でトラブル発生といった流れが数時間も続いて気力が底をつきました。このまま続けても先に進みません…

じゃんけんをプログラミングする 1日目

世の中のプログラマーの方々はどんな風に仕事をしてるのでしょうか?正直、私には想像もつかないです。非プログラマーの私は少しでもプログラミングを知りたくて1日に1つ小さくてもいいのでプログラムを作っていければと考えていますが現実は難しいところで…

プログラミングの勉強に役立ちそうなサイトと書籍

プログラマー ブログで調べてみると、いろいろなサイトが見つかるわけですが共通しているのがプログラムのソースを表示させる部分が見やすいというところです。どうやらGistというサイトを利用すると便利らしいということを知りました。行番号が表示されるの…

初めてのFizzBuzzに大歓喜!

FizzBuzzすら書けないプログラマーがいる プログラミングの勉強で調べ物をしていたら上のような記事を見つけました。FizzBuzzすらということはプログラマーにとっては常識のようななにかだと感じたので早速ググると 1 から順に数を数えていく。但し、その数…

はじめてのプログラミングとしてJAVAを選択しました

今までプログラミングの経験がなかったのですが「何か身近なアプリを作ってみたい」と考えるようになり勉強をはじめてみました。いろいろな言語があるなか選んだのはJAVAです。特にこだわりはなかったものの「AndroidならJAVA」という記事を読んだのが理由で…