目录
- 题目
-
- [1.以下哪个单词不是 Java 的关键字?](#1.以下哪个单词不是 Java 的关键字?)
- [2.boolean 类型的默认值为?](#2.boolean 类型的默认值为?)
- 3.以下代码输出正确的是?
- 4.以下代码,输出结果为:
- 5.以下代码输出结果为:
- 6.以下代码输出结果为?
- [7.float 变量的默认值为?](#7.float 变量的默认值为?)
- [8.以下哪项不是 Java 关键字?](#8.以下哪项不是 Java 关键字?)
- [9.空引用可用于访问静态变量或方法 ?](#9.空引用可用于访问静态变量或方法 ?)
- [10.以下选项哪一个不正确 ?](#10.以下选项哪一个不正确 ?)
题目
选自菜鸟教程
1.以下哪个单词不是 Java 的关键字?
A. static
B. Boolean
C. void
D. private
正确,选项 B. Boolean 并不是 Java 的关键字。在 Java 中,
Boolean
实际上是一个封装类,用于将基本类型
boolean
封装为对象。而 A. static,C. void 和 D. private 都是 Java语言的关键字,分别用于定义静态成员、无返回值的方法或构造函数,以及私有访问权限的成员。
2.boolean 类型的默认值为?
A .true
B .false
C .null
D .未定义
选项 B. false 是正确的。在 Java 中,
boolean
类型的默认值是false
。这通常发生在你声明一个
boolean
类型的变量但没有显式初始化它的时候,比如在数组或者类的成员变量中。在这些情况下,boolean
变量会被自动初始化为false
。这与
int
、float
等数值类型的默认值初始化为0
或0.0
类似,而Object
类型的默认值则初始化为null
3.以下代码输出正确的是?
markup
public class Test {
public static void main(String[] args) {
String s1 = "runoob";
String s2 = "runoob";
System.out.println("s1 == s2 is:" + s1 == s2);
}
}
A. true
B. s1 == s2 is:false
C. s1 == s2 is:true
D. false
D输出结果为 false。
因为在 Java 中 + 操作符的优先级大于 ==,所以输出部分表达式等于 "s1 == s2 is:runoob" ==
"runoob",该表达式计算结果为 false。
添加括号就是c
4.以下代码,输出结果为:
public class Test {
public static void main(String args[]) {
int x=4;
System.out.println(x++);
}
}
A. output=0
B. output=6
C. output=5
D.output=4
选项 D. output=4 是正确的。在代码中的
x++
表达式是一个后置自增运算符。这意味着它首先返回x
的当前值(这里是4),然后将
x
的值增加 1。因此,当
System.out.println(x++)
执行时,它会先输出x
的当前值,即4,然后x
的值变为 5,但这不会影响到已经发生的输出。所以,输出结果为4
。在 Java 中,后置自增(或自减)运算符与前置自增(或自减)运算符的行为有所不同。前置自增(如
++x
)会在使用表达式值之前先增加变量的值,而后置自增(如x++
)则是在使用表达式值之后增加变量的值。
5.以下代码输出结果为:
1 public class IfTest{
2 public static void main(String[] args){
3 int x=3;
4 int y=1;
5 if(x=y)
6 System.out.println("不相等");
7 else
8 System.out.println("相等");
9 }
10}
A. 不相等
B. 相等
C. 第五行代码会引起编译错误
D. 程序正常执行,但没有输出结果
C.第五行代码会引起编译错误。
在 Java 中,使用
=
表示赋值,而==
用于比较两个值是否相等。在给出的代码中,if(x=y)
实际上是在尝试将y
的值赋给
x
,这会导致x
的值变为1
。然而,这种用法在if
语句中是不正确的,因为if
语句期望一个布尔表达式作为条件,而赋值操作返回的是被赋值的值,不是一个布尔值。
正确的写法应该是
if(x == y)
用于比较x
和y
的值是否相等。由于原代码中使用了赋值操作而不是比较操作,编译器会检测到错误并阻止代码的编译,提示类型不匹配的错误。这是因为
if
语句期望一个布尔类型的表达式,而
x=y
的结果是一个整型值,这与if
语句的期望不符。
6.以下代码输出结果为?
markup
class Test
{
public static void main(String[] args)
{
StringBuffer a = new StringBuffer("Runoob");
StringBuffer b = new StringBuffer("Google");
a.delete(1,3);
a.append(b);
System.out.println(a);
}
}
A. oobGoogle
B. RoobGoogle
C. RuoobGoogle
D. RuobGoogle
选项 B. RoobGoogle 是正确的。
在代码中,
StringBuffer a = new StringBuffer("Runoob");
创建了一个名为a
的
StringBuffer
对象,初始化值为"Runoob"
。接下来的a.delete(1,3);
调用delete
方法从
a
中删除从下标 1(包含)到下标 3(不包含)的字符。由于字符串的下标是从 0 开始的,这意味着"u"
和"n"
会被删除,结果是
"Runoob"
变成"Rooob"
。然后,
a.append(b);
将b
的内容添加到a
的末尾。由于b
的值是"Google"
,a
现在变成了
"RooobGoogle"
,但因为"n"
和"o"
中的"o"
已经被删除,所以最终结果是
"RoobGoogle"
。因此,当
System.out.println(a);
执行时,输出的结果是"RoobGoogle"
。
7.float 变量的默认值为?
A. 0.0d
B. 0.0f
C. 0
D. 未定义
答案B
8.以下哪项不是 Java 关键字?
A. static
B. try
C. Integer
D. new
答案CInteger 不是 java 关键字。
9.空引用可用于访问静态变量或方法 ?
A正确
B 错误
A 正确
A在 Java 中,空引用(即
null
引用)可以用来访问静态变量或调用静态方法。这是因为静态成员是属于类的,而不是属于类的任何特定实例。当通过空引用访问静态变量或调用静态方法时,不会发生空指针异常,因为这些操作不依赖于对象实例的状态.
10.以下选项哪一个不正确 ?
A. 类在使用之前,需要将类实例化为对象
B.类运行时内存中存在对象
C. 类和对象只是同一个东西的不同名称
D.对象是一个变量,其类型是用于声明变量的类。
选C 类是对象的模板 ,对象是类的具体实例 。
总结
朴实无华,巩固基础。