题目
考题 1
java
public class VariableTest {
public static void main(String[] args) {
// 定义并初始化不同类型变量
int a = 10;
double b = 3.14;
char c = _;
//Found
String d = "Hello";
// 输出变量值
System.out.println(a);
System.out.println(b);
System.out.println(c);
System.out.println(d);
}
}
要求:填入正确内容使c为字符 'A',程序运行后能正确输出所有变量值。
考题 2
java
public class ArithmeticTest {
public static void main(String[] args) {
int x = 15;
int y = 4;
int sum = x + y;
int sub = x - y;
int mul = x * y;
int div = _;
//Found
int mod = x % y;
System.out.println("和:" + sum);
System.out.println("差:" + sub);
System.out.println("积:" + mul);
System.out.println("商:" + div);
System.out.println("余数:" + mod);
}
}
要求:填入正确内容计算x除以y的商(取整数部分),使程序输出商为 3。
考题 3
java
public class TypeCastTest {
public static void main(String[] args) {
double num1 = 123.45;
int num2 = _;
//Found
System.out.println("转换后的值:" + num2);
int num3 = 97;
char char1 = _;
//Found
System.out.println("转换后的字符:" + char1);
}
}
要求:第一处将num1强制转换为 int 类型,第二处将num3转换为对应的字符,使程序输出:转换后的值:123转换后的字符:a
考题 4
java
public class LogicalTest {
public static void main(String[] args) {
int m = 5;
int n = 8;
boolean result1 = (m > 3) _ (n < 10);
//Found
boolean result2 = (m == 6) || (n == 8);
System.out.println("result1:" + result1); // 应输出true
System.out.println("result2:" + result2); // 应输出true
}
}
要求:填入正确的逻辑运算符,使result1和result2均为 true。
考题 5
java
public class IncrementTest {
public static void main(String[] args) {
int num = 5;
int a = num++;
int b = _ num;
//Found
System.out.println("a:" + a); // 应输出5
System.out.println("b:" + b); // 应输出7
System.out.println("num:" + num); // 应输出7
}
}
要求:填入正确的自增运算符,使程序输出符合注释要求。
参考答案
考题 1 答案
java
public class VariableTest {
public static void main(String[] args) {
// 定义并初始化不同类型变量
int a = 10;
double b = 3.14;
char c = 'A';
//Found
String d = "Hello";
// 输出变量值
System.out.println(a);
System.out.println(b);
System.out.println(c);
System.out.println(d);
}
}
解析:字符类型变量用单引号'包裹单个字符,故填入'A'。
考题 2 答案
java
public class ArithmeticTest {
public static void main(String[] args) {
int x = 15;
int y = 4;
int sum = x + y;
int sub = x - y;
int mul = x * y;
int div = x / y;
//Found
int mod = x % y;
System.out.println("和:" + sum);
System.out.println("差:" + sub);
System.out.println("积:" + mul);
System.out.println("商:" + div);
System.out.println("余数:" + mod);
}
}
解析:整数除法用/运算符,15 除以 4 的整数商为 3,故填入x / y。
考题 3 答案
java
public class TypeCastTest {
public static void main(String[] args) {
double num1 = 123.45;
int num2 = (int) num1;
//Found
System.out.println("转换后的值:" + num2);
int num3 = 97;
char char1 = (char) num3;
//Found
System.out.println("转换后的字符:" + char1);
}
}
解析:第一处需将 double 强制转换为 int,用(int) num1;第二处将 int(ASCII 码 97 对应字符 'a')转换为 char,用(char) num3。
考题 4 答案
java
public class LogicalTest {
public static void main(String[] args) {
int m = 5;
int n = 8;
boolean result1 = (m > 3) && (n < 10);
//Found
boolean result2 = (m == 6) || (n == 8);
System.out.println("result1:" + result1); // 应输出true
System.out.println("result2:" + result2); // 应输出true
}
}
解析:m > 3为 true,n < 10为 true,逻辑与&&使 result1 为 true,故填入&&。
考题 5 答案
java
public class IncrementTest {
public static void main(String[] args) {
int num = 5;
int a = num++; // num先赋值给a(a=5),再自增为6
int b = ++num; // num先自增为7,再赋值给b(b=7)
//Found
System.out.println("a:" + a); // 应输出5
System.out.println("b:" + b); // 应输出7
System.out.println("num:" + num); // 应输出7
}
}
解析:num++是后自增,++num是前自增。此处需前自增使 num 先加 1 再赋值,故填入++。