スポンサードリンク

【エントリーでポイント5倍】235/50R18 101Y XL TOYO TIRES トーヨー タイヤ PROXES sport プロクセス スポーツ Laffite LE-04 ラフィット LE-04 サマータイヤホイール4本セット

【Java】byte型変数にint型変数を代入する(その逆も)

変数への代入あれこれで変数に変数を代入できることを確認しました。

では、ちょっと趣向を変えて [Projectμ] プロジェクトμ ブレーキパッド クラブマンシンタード フロント用 コロナエクシヴ ST180 ST181 89/9~93/9 1.8L 本州・北海道は送料無料 沖縄・離島は送料1000円(税別)、byte型変数にint型変数を代入してみましょう。また 前 フロント ブレーキローター適合車種:コルト Z27A/W・Z28A[品番: C6-024B ]【smtb-k】【kb】【カード分割】 RS-R RSR DOWN セレナ C26 N700WF フロント、int型変数にbyte型変数を代入してみましょう。

どうなるでしょうか?

ズーム ダウンフォース 165/55R15 1台分 ダウンサス アレックス ZZE124 ZTO018005SDF Zoom ダウンスプリング バネ ローダウン カーボンルックリアバンパーサイドパネル コイルスプリング【店頭受取対応商品】

「Lesson012.java」というファイルを作成し、以下のJavaプログラムを入力・保存してください。

public class Lesson012{
public static void main(String args[]){
//byte型変数「x」とint型変数「y」を宣言
byte x = 0;
int y = 5;
//xにyを代入
x = y;
//変数xを出力
System.out.println(x);
}
}

そして以下のように「javac Lesson012.java」でコンパイルしてください。

C:\Users\ysk\Desktop\java>javac Lesson012.java
Lesson012.java:7: エラー: 精度が低下している可能性
x = y;
^
期待値: byte
検出値: int
エラー1個

すると、上記のエラーがおき、

、コンパイルができないことがわかります。

【解説】
コンパイル時のエラーを「コンパイルエラー」といいます。

このエラーの原因は、byte型もint型も同じ整数を扱うデータ型ですが、int型は4バイトの箱、byte型は1バイトの箱なので、小さい箱に大きい箱は入れられないからエラーがおきます。

2.int型変数にbyte型変数を代入

「Lesson013.java」というファイルを作成し その他 【DAYTONA/デイトナ】マキシスM6103 140/70-17 66H ds-1448402、以下のJavaプログラムを入力・保存してください。

public class Lesson013{
public static void main(String args[]){
//byte型変数「x」とint型変数「y」を宣言
byte x = 0;
int y = 5;
//yにxを代入
y = x;
//変数yを出力
System.out.println(y);
}
}

そして以下のように「javac javac Lesson013.java」でコンパイルし、「java Lesson013」で実行してください。

C:\Users\ysk\Desktop\java>javac Lesson013.java

C:\Users\ysk\Desktop\java>java Lesson013
0

この場合 、エラーが起きずにちゃんと代入ができていることが確認できます。

代入ができる理由ですが、int型は4バイトの箱なので、1バイトの箱であるbyte型は問題なく入るからです(大は小を兼ねる)。

スポンサードリンク

コメントを書く

関連してそうなオススメ記事

コメント

まだコメントはありません。

コメントフォーム
お名前
コメント