基本型

  特殊な boolean 型



C では、 条件の書けるところに数値が使用できますが、Java ではエラーになります

C
  
double a = 1;

if ( a ) {
	printf( "double でも OK" );
}
  

Java
  
double a = 1;

if ( a ) {
	System.out.println("");
}
--------------------------------------------------------
互換性のない型
検出値  : double
期待値  : boolean
	if ( a ) {
  

これは、データ型の管理が厳密である事を示しますが、Java をやり始めた頃は少し面食らいます。
しかし、C では以下のようなミスを良く犯すのですが Java ではエラーになるので問題を事前回避できます

C
  
int a = 1;

// 正しい
if ( a == 1 ) {
	printf( "a と 1 が等しい\n" );
}

// 間違い
if ( a = 1 ) {
	printf( "左辺値 a が 0 で無い\n" );
}
  

Java
  
int a = 1;

// 正しい
if ( a == 1 ) {
	System.out.println("a と 1 が等しい");
}

// エラー
if ( a = 1 ) {
	System.out.println("");
}
--------------------------------------------------------
互換性のない型
検出値  : int
期待値  : boolean
if ( a = 1 ) {
  

結局のところ、Java では条件を書くところは、boolean 型しか認めないという事で、条件式の結果は boolean 型で
あるという事が言えます。さらに、事実として他の整数型から代入する事も、他の整数型に代入する事も、キャストする
事もできません。

C から考えると特殊な位置づけです

以下の4つの代入演算は全てエラーとなります

  
int a = 1;
boolean flg = true;

a = flg;
flg = a;
a = (int)flg;
flg = (boolean)a;
  

boolean 型にセットできるのは true か false のみです










  infoboard   管理者用   
このエントリーをはてなブックマークに追加





フリーフォントWEBサービス
SQLの窓WEBサービス

SQLの窓フリーソフト

素材

一般WEBツールリンク

SQLの窓

フリーソフト

JSライブラリ