難度級别: 簡單
程式
程式一
1) 以下程式的輸出是什麼?
public class Test
{
public static void main(String[] args)
{
int value = 554;
String var = (String)value; //line 1
String temp = "123";
int data = (int)temp; //line 2
System.out.println(data + var);
}
}
a) 677
b) 由于第 1 行導緻的編譯錯誤
c) 由于第 2 行導緻的編譯錯誤
d) 由于第 1 行和第 2 行導緻的編譯錯誤
點此跳轉到答案
程式二
2) 以下程式的輸出是什麼?
public class Test
{
public static void main(String[] args)
{
double data = 444.324;
int value = data;
System.out.println(data);
}
}
a) 444.324
b) 444
c) 運作時錯誤
d) 編譯錯誤
點此跳轉到答案
程式三
3) 以下程式的輸出是什麼?
public class Test
{
public static void main(String[] args)
{
double data = 444.324;
int sum = 9;
float value = 5.1f;
System.out.println(data + sum + value);
}
}
a) 444.32495.1
b) 456
c) 458.42399
d) 458.4
點此跳轉到答案
程式四
4) 以下程式的輸出是什麼?
public class Test
{
public static void main(String[] args)
{
byte var = 1;
var = (byte) var * 0; //line 1
byte data = (byte) (var * 0); //line 2
System.out.println(var);
}
}
a) 0
b) 由第 1 行引起的編譯錯誤
c) 由于第 2 行引起的編譯錯誤
d) 由于第 1 行和第 2 行引起的編譯錯誤
點此跳轉到答案
程式五
5) 以下程式的輸出是什麼?
public class Test
{
public static void main(String[] args)
{
System.out.println((100/25.0)*Integer.parseInt("5") + 50);
}
}
a) 編譯錯誤
b) 70
c) 70.0
d) 運作時錯誤
點此跳轉到答案
文章後半部分是程式的輸出及解析

輸出及解析
程式一輸出
答案:
d
說明:
java 中不允許從int 轉換為String,也不允許從String 轉換為int。
程式二輸出
答案:
d
說明:
java 中不允許從較大的資料類型轉換為較小的資料類型,因為這是一種有損轉換。
程式三輸出
答案:
c
說明:
如果操作數之一是long、double 或float,則整個表達式分别轉換為long、double 或float。
程式四答案
答案
b
說明:
當計算表達式時,結果的資料類型被隐式更改為更大的資料類型,是以必須進行顯式重鑄,如第 2 行所示。另一方面,第 1 行顯示編譯錯誤因為右側的表達式的資料類型為 int 而左側的資料類型為位元組。
程式五答案
答案 :
c
說明: