本文目录一览:
java编程基础练习题
这道题的答案是C。
double[] num1; //定义一个double类型的数组num1
double num3=2.0; //定义一个double类型的变量并赋值为2.0
int num2=5; //定义一个int类型的变量num2,并赋值为5
num1=new double[num2+1];
//给double类型的数组num1赋值,并初始化为5+1个大小,num2=5,所以是5+1
num1[num2]=num3;
//上面这句翻译过来就是:数组num1[5]=2.0 。由于数组下标从0开始,所以下标为5的元素是最后一个元素。所以答案是C
求Java基础,练习题。
选择题 (25道)
- 下列选项中,不属于Java语言特点的一项是( C )。
- A: 分布式
- B: 安全性
- C: 编译执行
- D: 面向对象
- Java语言的特点与 C/C++语言的比较中说法错误的是:( D )
- A:简单性Java继承了 C/C++的语法,丢弃了其中不常用又容易引起混淆的功能。
- B:Java是一种纯面向对象的语言,具有封装、继承 (Inheritance)和多态(Polymorphism)的特点。
- C:Java应用程序可凭借URL打开并访问网络上的对象。
- D:解释型Java写成的源代码需要被编译成高阶的字节码,它们与机器架构有关。
- 阅读下列代码,选出该代码段正确的文件名( C )。
class A{
void method1(){
System.out.println("Method1 in class A");
}
}
public class B{
void method2(){
System.out.println("Method2 in class B");
}
public static void main(String[] args){
System.out.println("main() in class B");
}
}
- A: A.java
- B: A.class
- C: B.java
- D: B.class
- 如果一个类的文件名为Student.java,但是类的代码为:
public class Student {
public static void main(String[] args) {
System.out.println(82);
}
}
那么下列说法正确的是:( B )
- A:程序运行结果为8;
- B:程序运行结果为2;
- C:程序运行结果为0;
- D:程序编译错误,不能运行;
- 符合对象和类的关系的是( D )。
- A: 教师和学生
- B: 书和房子
- C: 狗和猫
- D: 飞机和交通工具
- 关于垃圾回收机制描述不正确的是( B )
- A:垃圾回收机制不须通过程序员调用相应方法,也能自动启动。
- B:Java程序员用System.gc()方法一定能进行垃圾回收;
- C:垃圾回收机制属于jvm自动操作,Java程序员可以不进行垃圾回收操作。
- D:垃圾回收机制并不是由操作系统自动执行。
- 编译下面源程序会得到哪些文件( D )?
class A1{
}
class A2 exdends A1{
}
public class B{
public static void main(String[] args){
}
}
- A: 只有B.class文件
- B: 只有A1.class和A2.class文件
- C: 编译不成功
- D: A1.class、A2.class和B.class文件
- 下列关于基本数据类型的说法中,不正确的一项是( D )。
- (A) boolean类型变量的值只能取真或假
- (B) float是带符号的32位浮点数
- (C) double是带符号的64位浮点数
- (D) char是8位Unicode字符
- 下列( D )是合法的标识符?
- A: 12class
- B: void
- C: -5
- D: _blank
- 在编写Java程序时,如果不为类的成员变量定义初始值,Java会给出它们的默认值,下列说法中不正确的一个是( D )。
- A: byte的默认值是0
- B: boolean的默认值是false
- C: char类型的默认值是'\0'
- D: long类型的默认值是0.0L
- 下列程序执行的结果是:( B )
public class News {
public static void main(String[] args) {
System.out.println(1+2+ "aa"+3);
}
}
- A: "12aa3"
- B: "3aa3 "
- C: "12aa"
- D: "aa3"
- 表达式(12==0) (1/0 1)的值为( B )。
- A: true
- B: false
- C: 0
- D: 运行时抛出异常
- 下列循环体执行的次数是( C )。
int y=2, x=4;
while(--x != x/y){ }
- A: 1
- B: 2
- C: 3
- D: 4
- 已知如下代码:
switch(m){
case 0: System.out.println("Condition 0");
case 1: System.out.println("Condition 1");
case 2: System.out.println("Condition 2");
case 3: System.out.println("Condition 3");break;
default:System.out.println("Other Condition");
}
当m的值为( D )时,输出“Condition 3”
- (A) 2
- (B) 0、1
- (C) 0、1、2
- (D) 0、1、2、3
- 下列语句输出的结果是:( C )
public class X3 {
public static void main(String[] args) {
for(int i=0; i<10; i++){
if(i==5) break;
System.out.print(i);
}
}
}
- A:编译错误;
- B:1234;
- C:01234;
- D:12345;
- 下列语句输出的结果是:( D )
public class Lx1 {
public static void main(String[] args) {
for(int i=0;i<5;i++){
switch(i){
case 0:System.out.print("B");
case 1:System.out.print("e");break;
case 2:System.out.print("g");
case 3:System.out.print("!");break;
case 4:System.out.print("!");break;
default:System.out.print("!");
}
}
}
}
- A:Beg!!!
- B:Beeg!
- C:Beg!
- D:Beeg!!!
- 下面foreach循环的程序输出结果是( D )。
public class Lx1{
public static void main(String[] args) {
String s1[]={"欢迎您","3","G","同","学",};
Arrays.sort(s1);
for(String s0:s1)
System.out.print (s0);
}
}
- A:欢迎您3G同学
- B:3G欢迎您同学
- C:同学欢迎您3G
- D:3G同学欢迎您
- 阅读以下程序,选择正确的运行结果:( B )
public class Lx1 {
public static void main(String[] args) {
byte d[]="YOUIHE你我他".getBytes();
String s=new String(d,6,2);
System.out.println(s);
}
}
- A:HE;
- B:你;
- C:我;
- D:他
- 设有下列数组定义语句:
int a[][]= {{1, 2}, {3}};
则对此语句的叙述正确的是( D )。
- A: 定义了一个名为a的一维数组
- B: a数组 a[1][1]为0
- C: a数组元素的下标为1~3
- D: 数组中每个元素的类型都是整数
- 下列程序输出的结果是:( B )
public class Lx1 {
public static void main(String[] args) {
String a[][] ={{"","","",""},{""},{"",""}};
System.out.println(a[2].length);
}
}
- A:1
- B:2
- C:3
- D:4
- 关于以下程序的说明,正确的是( C )
1. class StaticStuff
2. {
3. static int x=10;
4. static { x+=5;}
5. public static void main(String args[ ])
6. {
7. System.out.println("x=" + x);
8. }
9. static { x/=3;}
10. }
- A、4行与9行不能通过编译,因为缺少方法名和返回类型
- B、9行不能通过编译,因为只能有一个静态初始化器
- C、编译通过,执行结果为:x=5
- D、编译通过,执行结果为:x=3
- 给出下面代码,关于该程序以下哪个说法是正确的?( C )
public class Person{
static int arr[] = new int[5];
public static void main(String a[]) {
for(int i=0;i<1;i++)
System.out.print(arr[0]);
}
}
- A、编译时将产生错误
- B、编译时正确,运行时将产生错误
- C、输出零
- D、输出空
- 下面程序中类ClassDemo中定义了一个静态变量sum,分析程序段的输出结果。( C )
class ClassDemo {
public static int sum=1;
public ClassDemo() {
sum = sum + 5;
}
}
public class ClassDemoTest{
public static void main(String args[]) {
ClassDemo demo1=new ClassDemo();
ClassDemo demo2=new ClassDemo();
System.out.println(demo1.sum);
}
}
- A: 0
- B: 6
- C: 11
- D: 2
- 下面关于方法的说法,不正确的是( C )。
- A: Java中的构造方法名必须和类名相同
- B: 方法体是对方法的实现,包括变量声明和合法语句
- C: 如果一个类定义了构造方法,也可以用该类的默认构造方法
- D: 类的私有方法不能被其他类直接访问
- 在Java中下列说法正确的是( C )
- A) 一个子类可以有多个父类,一个父类也可以有多个子类
- B) 一个子类可以有多个父类,但一个父类只可以有一个子类
- C) 一个子类可以有一个父类,但一个父类可以有多个子类
- D) 上述说法都不对
JAVA基础测试题
- 跟Java运行的机制有关,Java先加载静态域,
static int x=10;
,然后静态块static { x+=5;}
,static { x/=3;}
(虽然位置在后但先运行),然后静态方法static void main
所以x=10,x=15,x=5. - A因为
int [] x = new int[25]
,数组建立后,每个元素默认值为0;x[24]=0;x[25]
下标越界,x[0]=0;
switch(i)
不接受long型,int或者枚举型可以。i=Integer.parseInt(args[0]);
虽然这样每课时i还是long型的。- c,没什么好说的,就是这么规定的!
java基础测试题
答案为 C。
public Test(){
x=35;
}
public Test(String s){}
为构造方法,构造方法规定是不需要用void之类的修饰,也没有返回值
public void Test(double f){
this.x=(int)f;
}
这个则是与类名同名的方法,但这样的做法不赞同。