goo blog サービス終了のお知らせ 

お散歩Linux

のんびりぷらぷら寄り道しながらLinuxでお散歩。

Javaのswitch文

2004-04-23 00:59:36 | Java
Javaではswitch文というのが使えますが、JavaScriptでもswitch文があります。
私はJavaScriptのほうでは、ときどき使っていたので同じなのかな?と思ったら、少し違うところがありました。

【Javaでの書式】

switch( 式 ) {
case 定数式1:
   処理1
   break;

case 定数式2:
   処理2
   break;

default:
   処理3
   break;
 }

JavaScriptでも形は同じなのですが、違う点はJavaのときは、caseのあとには「整数の定数式」が入ります。整数の定数式として使えるのは、int型char型です。long型や、double型String型は使えません。long型ではない整数か、文字列なら1文字です。
これに対してJavaScriptでは、caseのあとに長い文字列でも、小数点つきの数値でも使えました。
Javaのほうが、区別が厳密みたいです。
…不思議ですね。


【Javaでcaseのあとがint型のとき】

switch (n) {
case 1:
System.out.println("オレンジジュースです。");
break;

case 2:
System.out.println("コーヒーです。");
break;

default:
System.out.println("どちらでもありません。");
break;
}


【Javaでcaseのあとがchar型のとき】

switch (c) {
case 'あ':
System.out.println("オレンジジュースです。");
break;
case 'い':
System.out.println("コーヒーです。");
break;
default:
System.out.println("どちらでもありません。");
break;
}

【JavaScriptのとき】

switch (xx) {
case "ふう":
alert("ふうさんこんにちは");
break;
case "ここあ":
alert("ここあさんこんにちは");
break;
default:
alert("こんにちは");
break;
}

[参考にした本&サイト]
Java:「Java言語プログラミングレッスン(上)」
JavaScript:とほほのWWW入門

Eclipseを入れてみた

2004-04-11 19:22:55 | Java
Eclipseをインストールしました。
パソコンのOSはWindowsXP。
Eclipseは
http://jakarta.apache.org/site/binindex.cgiから

eclipse-platform-2.1.2-win32.zip …(1)
eclipse-SDK-2.1.2-win32.zip    …(2)
eclipse2.1.2.1-SDK-win32-LanguagePackFeature.zip…(3)
をダウンロードして、それぞれのファイルを解凍するとそれぞれEclipseというフォルダができました。

Cドライブの下(場所は任意)に、(1)で解凍してできたEclipseフォルダをコピ。
次に同じ場所に(2)を解凍してできたEclipseフォルダを上書きでコピー。
次に(3)を解凍してできたEclipseフォルダを上書きでコピー。

そのあと、Eclipseフォルダの下にあるEclipse.exeを実行すると完成。
…のはずだったのですが、1回目は何を間違ったのか、Eclipseを起動してみると新規プロジェクトの中にJavaプロジェクトがありませんでした。(ただのプロジェクトになっている)
やーん。。
Eclipseフォルダごといったん削除して、もういちど上の手順を落ち着いてやってみると今度は、起動した後ちゃんとJavaプロジェクトが選べるようになっていました。
やれやれ。

Eclipseは、たくさん機能があって、とても便利なようです。
私にとっては、今のところスペルミスを発見するくらいしか使えていませんが、それでもちゃんと役に立っています。

例えば、Char a = 'A';
と入力すると『Charは解決できないか、型ではありません。』とメッセージが出ます。
どうして??CharだよChar。としばし悩む。
charとか、intとか、型の指定をするときは、小文字なのですね。

インストールをするときに参考にしたページ
http://www.atmarkit.co.jp/fjava/rensai2/eclipse01/eclipse01.html

★ところで内容とまったく関係ありませんが、今日の画像は「カラスノエンドウ」。カラスノエンドウって、ゲド戦記に出てきた魔法使いの名前なんですよね。こんなきれいな花だったとは。


JDBCでつなぐ話その2

2004-04-01 00:00:30 | Java
JDBCでつなぐ話の続きです。

自分がぜんぜんわかっていないことがわかってきて、ここにのせるのがちょっと恥ずかしくなってきました。

PostgreSQLとMySQLの場合を整理すると

1.Class.forName("ドライバ名");
でドライバクラスをロードする。
2.Connection con = DriverManager.getConnection("データベースのURL");
でデータベースへ接続する。

[MySQLのURL] "jdbc:mysql:///hellodb?useUnicode=true&characterEncoding=SJIS";
[PostgreSQLのURL] "jdbc:postgresql:hellodb","postgres","";

PostgreSQlは、サーバ名とポート番号を入れて記述することもできるみたい。
"jdbc:postgresql://localhost:5432/hellodb"
サーバが自分のパソコンじゃないときは、つなぐサーバ名を記述する。IPアドレスでもつながりました。
hellodbはDB名です。
MySQLのときはURLの中にユーザー名とかパスワードがいらないのかなあ?

そのつぎに
3.Statement stmt = con.createStatement();
ステートメントオブジェクトというのを作成。

4.String sql = "ここにselect文が入る";
5.ResultSet rs = stmt.executeQuery(sql);

その次に結果を表示する方法を記述する。
記述の仕方はいろいろ。

おしまいのほうで
stmt.close();
con.close();
などと書く。

通して書くと
(HelloWorldJDBCPostgre.java)

import java.sql.*;
public class HelloWorldJDBCPostgre {
public static void main(String[] args) {
try{
1から5まで
} catch (Exception e) {
e.printStackTrace();
}
}
}

まだほかに、気をつけることがたくさんあると思うけど、最低限つなぐための記述がこんな感じのようです。tryのところは調べていないのであまり自信がありません。

札幌は、今日(3月31日)は雪が降りました。
明日から4月なのに。
一進一退ですね。

JDBCでつなぐ話その1

2004-03-26 19:07:00 | Java
少しだけjavaの話です。

JDBCでPostgreSQLやMySQLへつなぐ方法が、参考サイトに書いてあるとおりにするとつながるのだけど、どうしてできているのか、よくわからない...と思っていました。

今日、最初は別のことを探していたのですが、データベースにアクセスするためのオリジナルクラスファイルを作って、それを使って接続する、というのを試していたら、だんだん、つなぐときの決まりみたいなのが見えてきました。それまでは、まわりのたくさんの文字の中に埋もれていて、なにがなにやら、区別がつかなかったのだけど。

最初に見えたのは
Class.forName("なになに"); と
Connection con = DriverManager.getConnection("いろいろ");
の2つでした。
Class.forNameの"なになに"の中には"org.postgresql.Driver"となっていたり
"org.gjt.mm.mysql.Driver"となっていたり、またはただdriverのときもあります。
driverになっているときは、別のところで、きちんとdriver = "org.postgresql.Driver";
とか、中身を指定していました。そっか。この中に書いてあるのがドライバなんだ。

PostgreSQLにつなぐときはorg.postgresql.Driver。
MySQLにつなぐときはorg.gjt.mm.mysql.Driver。

DriverManager.getConnectionの"いろいろ"の中身は、url, user, passwordのように
なっていることが多いけれど、ときには("jdbc:postgresql:hellodb","postgres","")
など、直接入っていることもあります。
これも、決まりなんですね。

わかってきたのは、ここまでです。すごく中途半端で、すごーく低レベルだけど、自分の中ではちょっと、わかってきた気分です。
この先は、まだ整理できていないので、また次に挑戦します...

↓今日参考にしたページ
http://www.atmarkit.co.jp/fjava/rensai/jsp10/jsp10.html
http://msugai.fc2web.com/java/JDBC/jdbc.html
など。

より道(WindowsでCLASSPATH)

2004-03-19 18:47:50 | Java
今日からブログを始めてみました。

ちょっと寄り道してWindows2000環境でjavaを試してみました。
Windowsにjavaの実行環境を作ったのはずっと前で、そのあといくつかのSDKがあちこちに入っていて実際にどれを使っているのかあんまりわかっていなかったりします。

そしてjavacでコンパイルはできるけれど、javaで実行されないことに気がつきました。

C:java>java Howhow
Exception in thread "main" java.lang.NoClassDefFoundError:

どうしてだろう...

このメッセージはCLASSPATHの設定が違っているときに出るみたいです。いろいろな場所を書いてみたけど、ちっとも変化なし。
コマンド java のオプションの -classpath を使うことでパスを指定できると書いてあるサイト
http://msugai.fc2web.com/java/app/setup.html

をみつけて、試してみました。

C:java>java -classpath . Howhow
今日のお天気:雪
住所:さっぽろ

表示されたー。
CLASSPATH にピリオドが含まれていないことが原因のようでした。
CLASSPATH=....のうしろに、;.をつけました。
CLASSPATHが設定されたかどうかは、set CLASSPATHで確認。私の場合は、再起動しないと反映されなかったみたいです。

これで、やっとWindowsでjavaが実行できるようになりました。
やれやれ。

C:java>java Howhow
今日のお天気:雪
住所:さっぽろ