スポンサードリンク

[ホイール1本(単品)] SSR / EXECUTOR EX05 (FLC) 19インチ×8.5J PCD:120 穴数:5 インセット:31

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

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

では、ちょっと趣向を変えて 14インチ サマータイヤ セット【適応車種:N BOX(JF4系 NA車 4WD)】HOT STUFF Gスピード P01 ガンメタポリッシュ 4.5Jx14LEMANS V LM5 155/65R14、byte型変数にint型変数を代入してみましょう。また MOTUL(モチュール) エンジンオイル トヨタ ピクシスバン レーシングエンジンオイル 300V POWER RACING 5W30 20L トヨタ ピクシス バン S321M KF-DETターボ 平成23年12月~平成27年4月 2WD A/T 660cc ミシュラン Pilot Sport PS2 N3 サマータイヤ 225/45R17 MLJ エクストリームJ ミルド センターキャップ付き ホイールセット 4本 17インチ 17 X 7.5 +38 5穴 114.3、int型変数にbyte型変数を代入してみましょう。

どうなるでしょうか?

【USA在庫あり】 ツーブラザーズレーシング スリップオンマフラー ブラックシリーズ M-2 デュアル 09年-14年 MONZA YZF-R1 アルミ 594247 HD ウーリー

「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個

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

【USA在庫あり】 ツーブラザーズレーシング スリップオンマフラー ブラックシリーズ M-2 デュアル 09年-14年 YZF-R1 アルミ 594247 HD
zoom/ズーム ダウンサス ダウンフォースHG Golf Cabriolet GOLF 6 1KCAVK Volkswagen/フォルクスワーゲン!スタビライザー / リア【クスコ】サスペンションパーツ リヤ・スタビバー 392 311 B16 ホンダ ステップワゴン RK1 リヤ.ヘッドライト 2009-2010 Dodge Charger 6.1L Smoked fog lights tail corner lamp Headlights LED 2009-2010ダッジチャージャー6.1LスモークフォグライトテールコーナーランプヘッドライトLED,ビートソニック 日産 ノート e-POWER H28/11 ~ E12系用 AM・FMラジオ用 ドルフィンアンテナ FDX10N-KH3

【USA在庫あり】 ツーブラザーズレーシング スリップオンマフラー ブラックシリーズ M-2 デュアル 09年-14年 YZF-R1 アルミ 594247 HD

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

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

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

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

「Lesson013.java」というファイルを作成し 【200 ハイエース レガンス】ハイエース 200系 1~4型 標準ボディ インテリアカップホルダー カラー:レザーブラック、以下の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型は問題なく入るからです(大は小を兼ねる)。

スポンサードリンク

コメントを書く

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

コメント

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

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