java

Matcherのfindとmatches

http://magpad.jugem.jp/?eid=127findは部分一致でも真だけど、matchesは全体一致じゃないと真にならないそうで。 知らんかった。 こんなんもあったな、忘れてた。 String str = "hogehogeho"; if (str.startsWith("hoge")) { ... }

finally

finallyってreturnの前に実行されるらしいですね。 void methodName() { //処理A try { //処理B } finally { //処理C } //処理D return; } だと A->B->D->C という順序なんだと。 なぜだれも教えてくれなかったんだ。 finallyという名前で気付けって感じです…

ver5.0の新機能

Javaのver5.0からはいろいろ新機能が追加されたみたい。for for(int i=0;iString s: str) //新 のように書ける。strはString[] 新旧どちらも使える。 ArrayList 可変長の配列 ArrayList ary = new ArrayList();//String型しか入れない可変長の配列を作成 ary…

クオートの違い

javaではシングルクオート(')とダブルクオートに変な違いがある。 シングルクオートはchar型に用いて、1文字を囲むもの。 ダブルクオートは文字列を囲む。複数文字を囲む。 char ch = 'A'; String str = "ハローワールド"; System.out.println( "ハローワー…

演算子

演算子の&と&&、|と||の違いが分からん。 ので調べたらなんとなくわかった。 http://www.javaroad.jp/java_operator3.htm つまりブール型だとか数値型だとかが関係してくるわけだ。 &&、||はブール型のみ。 &、|はブール型にも数値型にも使える。 という解釈…

細々とメソッドを作る

なんとなく細々とメソッドを作った方が良さそうだな、と思った。 一つのメソッドにあれこれ詰めると汎用性が無くなる。 無くなり過ぎて結局プログラマの美徳が活かせなくなる。 perlプログラマとしては避けたい事態です。 しかしどこまで汎用的なメソッドを…

変数の宣言と値の代入

JavaとかCとかの宣言してすぐに値を代入しようとするとエラーがでるのはなんで? クラス内全体で使う変数の宣言はひとまとまりにして行わないといけないのか? 理由が知りたい。

if文の処理順序

if(A && B){ do something; }のようなif文だとAが偽の場合、Bの条件については検討しない。 これはどの言語でもそうだと思うけど、javaなどの変数の領域をきっちりと確保する場合に役立つ。 if(i>0 && hoge[i-1] > 0){ do something; }このとき i>0 && の部…