JAVAの開発メモ(Tips)ITエンジニアの四方山話PHP、Perl、html、xmlの開発メモ、その他色々書いています。JAVAコーディングファイルへ書込2008年05月21日JAVAでファイルに入出力するには、Fileクラスを使います。・}fwrite.close();文字コードには、Shift_JIS、ISO-2022-JP、EUC-JP、JISAutoDetectなどがあります。コメントTop↑JAVAコーディングファイルから読込2008年05月20日JAVAでファイルに入出力するには、Fileクラスを使います。・}fread.close;文字コードには、Shift_JIS、ISO-2022-JP、EUC-JP、JISAutoDetectなどがあります。・}例外の例としては、0除算、ファイル入出力、DB接続失敗などがあります。例外を発生させるメソッドには、throwsを使って定義しておきます。MyError;}}コメントTop↑JAVAコーディングimport文、package文2008年05月18日JAVAで外部クラスを利用する場合、importします。dir.*;と書きます。ディレクトリの区切りは【.】です。import文はpackage文とclass文の間に書きます。packageはいくつかのクラスやインタフェースをひとまとまりにしたものです。クラスやインターフェイスが増えてくると、ディレクトリごとに整理するようになります。このディレクトリがパッケージ名と一致します。コーディングしているクラスが、どのパッケージ(ディレクトリ)にあるかを示すようです。ディレクトリの区切りは【.】です。このため、package文はファイルの先頭に記述します。while)2008年05月17日JAVAでのループ処理です。・}trueかfalseを返す式で判定を行い、trueの間ループ処理を行います。whileは一度処理を実行した後判定をします。whileでループを打ち切るコマンドに、breakとcontinueがあります。breakはループを終了します。ネストされているループにのみ適用されます。continueはcontinue以下をスキップして、ループの次の条件へ移行します。コメントTop↑JAVAコーディングswitch文2008年05月13日JAVAのswitch文です。xxx2:処理2break;default:処理3break;}式がxxx1の場合処理1を実行、xxx2の場合処理2を実行、どちらにも当てはまらない場合処理3を実行します。xxx2:処理2default:処理3}式がxxx1の場合処理1~3を実行、xxx2の場合処理2~3を実行、どちらにも当てはまらない場合処理3を実行します。コメントTop↑JAVAコーディングif文2008年05月12日JAVAのifです。{処理4}条件は一度当てはまると、それ以降の判定は行われません。条件2と条件3に当てはまる場合、処理2しか実行されません。s.indexOf("T");iは5となります。コメントTop↑JAVAコーディングIntegerとStringクラス2008年05月10日JAVAではIntegerとStringで宣言した変数はオブジェクトとなります。obj1;obj1とobj2は同じオブジェクトを参照します。intArray[][];です。JAVAの多次元配列は1次元配列の寄せ集めなので、それぞれの行で次元数が異なってもOKです。次のように次元数が異なった多次元配列を作れます。配列要素数はintArray.lengthで取得できます。多次元配列の場合、intArray[index].lengthとなります。int[10];となります。j;jとkは同じ配列を参照します。その32008年05月06日クラスで引数がことなれば、同じ名前のメソッドを作成できるようです。z){}}ここで、引数について。メソッド引数は全て値引渡し配列は参照渡となります。strVal;}}インターフェイスは複数指定も可能です。interfaceAと書きます。クラスBはsuperClassAを継承。その12008年05月04日JAVAはすべてクラスを作って処理していくようです。・}}staticの付いているフィールドやメソッドは、クラス固有でオブジェクト間で共有される(mainメソッドは通常static)。voidは戻り値無しという意味です。b/aは評価されないコメントTop↑JAVAコーディング比較演算子2008年05月02日JAVAの比較演算子です。==!=>=<=ただし、オブジェクトの比較に==を使うと、オブジェクトが参照する参照元を比較します。いう場合はequalsを使います。数値から文字列への変換方法です。String.valueOf(numVal)numValの型は、int、short、byte、long、float、double型です。文字型変数の宣言方法です。型の異なる数値への型変換の方法です。(byte)intNum;これで、int型の変数intNumに代入されている数値を、byte型に変換。(int)xxxxx;ならint型に変換。コメントTop↑JAVAコーディング数値型変数の宣言2008年04月17日せっかくJAVAでのコーディングをした(やさられた)ので、忘れないうちにまとめておこうかと思います。いってもほとんど忘れていますが。100;と書くことも可能。1.5e-3Fdoubleの型があります。コメントTop↑JAVAコーディングArrayListとArray2008年03月19日JAVAにはArrayListとArrayがあるようです。ソースを見ていると、ArrayListは2次元配列のように思えます。見よう見真似でコーディングしてみたのですが、困ったことがおこりました。ArrayListの1要素の値更新ができないのです。参考にしたソースは、1次元配列から、ArrayListにAddしています。Addした後のArrayListの値を更新しようとしてもできないのです。1レコード(行)の削除や更新処理はできるのです。仕方ないので、1次元配列の値を更新してからArrayListにAddすることにしました。ところが、ArrayListはAddした1次元配列の値を参照で受け取っているようなのです。ArrayList2にAddという処理をしたのですが、先にAddしたArrayList1の値も変更されてしまいます。ArrayList1の値はそのままに、ArrayList2の値だけを変更したかったのですが。そこで、1次元配列もAとBを作成し、それぞれArrayList1、ArrayList2にAddしました。今度は思うように動作しました。ArrayListは2次元配列とは異なるようです。コメントTop↑JAVAコーディングやっとスタート地点2008年03月06日JAVAでの開発、やっと本当にやっとコーディングに入りました。数行で書けるメソッドを1つ試しに作り、コンパイル。何度かやっているうちに、エラーもなくなり実行できるようになりました。テスト結果がファイルで書き出されるようになっているので、結果を見てみます。JAVAが出力しているエラーではなく、どうやらHさん(開発会社)がチェックして出力しているエラーのようです。DBからデータを取得しているメソッドなので、画面に出力して本当に取得できているか調べてみます。JAVAでの標準出力は、System.out.println("標準出力");のようです。結果、きちんと値を取ってきています。どこでそのようなエラーが出ているのか、エラーメッセージが入っていそうなプロパティを出力して調べまわったのですが、どうしてもわかりません。同じような処理をしている他のメソッドを探して、ソースをコピーして、を何度もやってみたのですが、結果は同じ。半日悩んだ末、Hさんに尋ねてみました。・どこでそんなエラーが出ているのか、どうやったらわかるのか。ヒントでもいいのでなにかないか。わかってしまえばなんでもなく、1コマンド忘れていた(というか、その処理は既にしていると勘違いしていた)だけでした。そのほかにも、エラーログのレベル(エラー、警告など)の設定方法も教えてもらいました。ドキュメントがあるのかもしれませんが、見つけきれていないし(多分ない)、引継ぎ資料に残しておかなければいけません。動かしてみたら、動きました。今までやってもやっても、というかやればやるほど後退していた感が強かった開発ですが、やっとスタート地点に立てました。1部のコーディングからテストまでの全体像がなんとなくわかったので、念願だった線引きができました。コーディングとテストの種類も1種ではないので、本当の意味で全体は見えません。派遣期間は3月末までですが、終わらないことははっきりしました。私の予想では4月中旬近くまでかかりそうです。できるまで延長という話も出ているので、なるべく早く終わらせようと思います。SE・PGやっていました。次の良い仕事がみつからないので、ビジネスへ注力しようと思っています。