疲れたらやすむ

Javaを学ぶ上でハマったところを書いていきます。iPhoneアプリ開発や日常ネタもあるかも。

Java

【Java】いつも悩む正規表現

今回は正規表現についての記事になります。たまに使う機会があるのですが、毎回1時間ほど試行錯誤してしまうのでメモ的な意味も含めて。 ちゃんと理解しないと、意外と扱いが難しいと感じます。 正規表現とは 文字列に正規表現が含まれているか 文字列が正規…

【Java】その条件分岐は必要?その変数は必要?

職場でコーディングをしていてふと思いました。この変数って定義する必要があるのかなあ・・・。 定義しなくても書けるし、かと言って定義した方が何回か使いまわせる。今回はそんな必要か必要じゃないかの判断に迷う場合について考えてみます。 必要かどう…

【Java】TreeSetで独自クラスを扱う

今回はTreeSetに的を絞って解説していきます。 Setとは?ListやMapとの違い Setの種類について TreeSetの使い方 独自クラスでTreeSetを扱う場合 Setとは?ListやMapとの違い Setとはコレクションの1つで、重複した値を持たない特徴があります。Main.java imp…

【Java】ジェネリクスについて

今回はジェネリクスに関する記事になります。クラスやメソッド宣言に、<T>などと記述されていることがあります。 それがジェネリクスと呼ばれるものです。 ジェネリクスとは 安全性と汎用性 制約がある 型境界 ワイルドカードと上下限の境界 ジェネリクスとは J</t>…

【Java】【Minecraft】Mod作成基礎編

今回解説するのは以下の6点です。 ・ブロックとアイテムの追加 ・レシピの追加 ・テクスチャの設定 ・クリエイティブタブの追加 ・日本語表記対応 ・jarの生成たくさんありますがMod作成としては初歩的な部分だと思いますので1つの記事にまとめます。 Minecr…

【Java】参照渡しと値渡し

今回は参照渡しと値渡しについてです。一応最初に銘打っておきますが、ここで言う「参照渡し」と「値渡し」は以下の定義とさせていただきます。 参照渡し:呼び出したメソッド内で値を変更した場合、呼び出し元にも影響がある 値渡し:呼び出したメソッド内…

【Java】Listから特定の要素を抽出し新規Listを作成

今回は独自クラスのListから特定の条件で要素を抽出し、抽出されたものから新しいListを作成します。 前提としてJava8であること。まずは独自クラス。Human.java public class Human { String name; String gender; int age; public Human(String name, Stri…

【Java】【Minecraft】プログラミング未経験でModが作れるか

今回は「Modを作ってみたい」でも「プログラミングの経験がない」という方のための記事です。結論から言うと、作れなくはないと思います。とても曖昧な言い方になってしまいましたが、目指すところによっては作成可能です。 特に機能を持たないブロックやア…

【Java】【Minecraft】Modの開発環境構築

今回はMinecraftの記事になります。はじめにこの記事を書くに至った経緯を書きます。 開発環境構築まで進む場合は目次まで飛ばしちゃってください。それでは前置き的なやつ。 実際にプレイされている方はご存知だと思いますが、PC版のMinecraftはJavaで動い…

【Java】Date型の日付操作

Date型と言えば、Javaで日付を扱う際に欠かせいため使う頻度は多いです。 地味に面倒くさいのが、現在日時から1時間進んだ日時が欲しい時とか。 自分で1時間進めようと思うとCalendarクラスを使う必要があります。 こんな感じですね。Main.java import java.…

【Java】JUnitでテスト

今回はJUnitに関する記事になります。 仕事上テストする機会も増えてきたので自分なりにまとめてみます。まず、JUnitは単体テストを行うフレームワークです。 Javaを触っている方なら耳にする機会も多いと思います。 単体テストとは、作成したプログラムが意…

【Java】Listの比較

今回はListの比較に関する記事になります。 List同士を比較し、格納されている内容が等しいかを判断します。 格納順序も判断材料となるため、同じ値が入っていてもインデックスが一致しない場合はfalseが返ります。ソース List<String> listA = new ArrayList<String>(); lis</string></string>…

【Java】不要なelse

今回はif文におけるelseについての記事になります。 if文はどの言語でもかなり序盤に触れると思います。 それと同時にelseも学習すると思いますが、意外とこれってややこしい。例えば以下のソースを見てください。ソース boolean flag = true; if(!flag) { r…

【Java】enumの利用

今回はenumを使ってみます。 私も現場に出て初めて存在を知りました。まずenumってなんだ?っていうところから。 enumとは一言で言うと列挙型です。 いや列挙型とか言われても・・・ってなりますよね。 簡単に言うと定数を列挙して用意しておけるということです…

【Java】文字列を1文字ずつ取り出す

ざっと思いつくのは2パターン。 1.Stringクラスのsplit()メソッド 2.StringクラスのcharAt()メソッド どちらが良いのでしょうか。まずは1番目のsplit()メソッドを使ってみます。ソース String str = "abcde"; String[] strArray = str.split(""); for(Stri…

【Java】パッケージの利点

みなさんはパッケージ使っていますでしょうか。 私は学習する上では基本的に使っていませんでした。 特に指定がない限りは使いませんよね。Web系の学習でようやく使おうかな?とか思ったくらい。 サーブレットやJSPのあの辺りです。しかしアプリケーションを…

【Java】for文を入れ子にして九九をつくる

こちらはかなり序盤の方に出てきそうな問題ですね。 for文やif文、switch文なんかを一通りやった上で出題されたような記憶があります。 初めて考えさせられる問題でもあるかなと。ありがちな例で言えばそうですね。 実行結果を見せられた上で処理を記述する…

【Java】Listの取り出し

私が今の段階で思いつくパターンは3通りです。 Java8でラムダ式による取得も可能になったようです。 が、今回は割愛させていただきます。 ラムダ式については今後勉強した上でご紹介出来ればと思います。まずはListを用意。 Iteratorをインポートしているの…

【Java】独自クラスで新しい型の作成と利用

複数の変数を扱う上で便利なのが今回のテーマである独自クラスです。 勝手に独自クラスと言っていますがなんて言うのが一般的なのでしょう。 自作クラス?それとも単にクラス? 今回は独自クラスの作成から利用までご紹介させていただきます。まずは独自クラ…

【Java】String型からint型に変換可能かどうか

今回は型変換のお話です。 と言っても今回のテーマはString型からint型への変換のみに的を絞ります。型変換はそこら中のソースで頻繁に行われていると思います。 とくにString型とint型の変換は使用頻度も高いはず。ほかにも良い判定方法はあるかもしれませ…

【Java】if文での条件の判定順

今回はif文での条件判定の順番について書いていきます。判定順番?そんなの書いた通りの順番じゃん。 と思う方も多いかもしれません。その通りです。 ですがこれ、実は私は何気にハマりました。 具体的にはnullチェックを行う上でのことです。 まず初めに、…