レポ
クラウドで
伸びる人沈む人

連絡特定商取引将来設計運営方針&メルマガSEの彼女は?
成功レポート集 Fedora9インストール! EclipseでJava Oracleバックアップのアーキテクチャ ゼロからHPでCGI 便利ネット知識
無料レポ&講習 IT業界の実態 linux処方箋 Java処方箋 Oracle処方箋 Perl処方箋
Javaの基本型(特にStringは気をつける)

<IT技術の処方箋:Javaの基本型(特にStringは気をつける)>



Javaは、型に厳格なプログラムです。
Perlなどをやっていた人は、かなり抵抗があると思いますが、
ルールなので、がんばって覚えておきましょう。


型とは、変数の宣言のことです。
何を宣言するかというと、この変数の属性を宣言するわけです。


代表的なものは、以下のようなものがあります。
これを、基本型といいます。

論理型 boolean(true, false)
文字型 char
整数型 short, int, long
小数点型 float, double
空型 void (何もない、返り値なし)


と、多くの参考書には書いてあります。


で、ここからが超要注意なのが、charです。
charは、文字型と言って、一文字だけの値をもちます。

従って、↓では、エラーがでる。
public class Hawaii {
char name;
int tensu;

public Hawaii(){
this.name = "Hellow";
this.tensu = 100;
}

}

しかし、↓では、エラーが出ない。

public class Hawaii {
char name;
int tensu;

public Hawaii(){
this.name = 'H';
this.tensu = 100;
}

}


ということになります。

この違いわかりますか?

文字列と文字は異なるものです。
文字は、char型となります。
文字列は、複数の文字からつくられたもの。

つまり、'H' は、文字。
"Hawaii" は、文字列です。

では、"Hawaii" のような文字列を扱う場合は、
どうするのでしょうか。

それは、String型を使うのです。
String型は、参照型なのですが、
便利なように基本型のように使うことができます。

実際以下のプログラムを見てみましょう。
以下のようなプログラムでエラーがでません。

public class Hawaii {
String name;
int tensu;

public Hawaii(){
this.name = "Hellow";
this.tensu = 100;
}

}

ね。このように、基本型のように便利に使えるのがString型です。
でも、実質はStringは、参照型です。

ちなみに、Stringが参照型であることを
明示的に裏付けるものとして、
String name;
name = "Hello";
String name2 = new String("Hello");

if(name == name2){
処理A
}
としたときStringが基本型の場合
処理Aに入るはずですが
実際は入りません。
(name,name2に入っているのはHelloの参照情報のため)
※場合によってはOKになることもありますが
それは同じ文字列のため偶然name,name2が同じHelloを
指し示した場合です。
実質比べているのは参照情報であってプログラマの意図する
文字列比較ではありません。
そのためString型には比較メソッドが用意されています。
さらに補講教材があります。
以下をクリックしてください。

新人用Java勉強環境の準備

Servlet初心者が勘違いする「典型的な間違い」

クラウドで伸びる人沈む人 ||Copyright © 2005-2020 SearchMan,All Rights Reserved.