⑴ 要java基础的一些练习题与参考答案
自己上网搜索就是了。还有一些社区里面也有一堆。
javaeye、csdn等等
⑵ Java基础题
选项(1)和(2)是正确的.
Java中有三种定义二维数组的方法
第一种是定义普通的二维数组,比如int a[][]=new int[4][5];
第二种是定义每个元素的长度不确定的二维数组,比如int a[][]=new int[4][];
第三种是对二维数组直接赋值,比如int a[][]={{0,0,0},{1,2},{1,2,3}};
但是它们不能混用,第三个选项就是混用了,所以错了.
⑶ JAVA基础试题
1.不能。因为接口中的所有方法都是抽象的方法2.在继承关系中,要创建子类对象,构造方法会先调用其父类无参的构造方法,再调用子类的构造方法。需要注意的是:子类只能自动调用父类无参的构造方法,若要调用父类带参数的构造方法,需要用super关键字进行调用。 3.相同点:都不能直接实例对象,可以创建对象引用,它可以指向子类对象,在多态性上是一样的。不同点:抽象类用abstract class定义,除了可以有抽象方法还可以有非抽象方法(也可以全部是非抽象方法例如适配器),接口用interface定义其所有方法必须是公有抽象的。接口可用以多实现,而抽象类则只能单继承。 4.有两种方法,一种方法是将类声明为 Thread 的子类,还有一种方法是创建一个类用其实现Runnable接口。
⑷ 求Java基础,练习题。
选择题 (25道)
1. 下列选项中,不属于Java语言特点的一项是( C )。
A:分布式 B:安全性 C:编译执行 D:面向对象
2. Java语言的特点与 C/C+ +语言的比较中说法错误的是:( D )
A:简单性Java继承了 C/C+ +的语法 ,丢弃了其中不常用又容易引起混淆的功能。
B:Java是一种纯面向对象的语言 ,具有封装、继承 ( Inheritance)和多态( Polymorphism)的特点。
C:Java应用程序可凭借URL打开并访问网络上的对象。
D:解释型Java写成的源代码需要被编译成高阶的字节码 ,它们与机器架构有关。
3. 阅读下列代码,选出该代码段正确的文件名( 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
4. 如果一个类的文件名为Student.java,但是类的代码为:
public class Student {
public static void main(String[] args) {
System.out.println(8>>2);
}}
那么下列说法正确的是:( B )
A:程序运行结果为8; B:程序运行结果为2;
C:程序运行结果为0; D:程序编译错误,不能运行;
5. 符合对象和类的关系的是( D )。
A:教师和学生 B:书和房子
C:狗和猫 D:飞机和交通工具
6. 关于垃圾回收机制描述不正确的是( B )
A:垃圾回收机制不须通过程序员调用相应方法,也能自动启动。
B:java程序员用System.gc()方法一定能进行垃圾回收;
C:垃圾回收机制属于jvm自动操作,java程序员可以不进行垃圾回收操作。
D:垃圾回收机制并不是由操作系统自动执行。
7. 编译下面源程序会得到哪些文件( 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文件
8. 下列关于基本数据类型的说法中,不正确的一项是( D )。
(A)boolean类型变量的值只能取真或假
(B)float是带符号的32位浮点数
(C)double是带符号的64位浮点数
(D)char是8位Unicode字符
9. 下列(D )是合法的标识符?
A:12class B:void C:-5 D:_blank
10. 在编写Java程序时,如果不为类的成员变量定义初始值,Java会给出它们的默认值,下列说法中不正确的一个是( D )。
A:byte的默认值是0 B:boolean的默认值是false
C: char类型的默认值是’\0’ D: long类型的默认值是0.0L
11. 下列程序执行的结果是:( 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. 表达式(12==0) && (1/0 < 1)的值为( B )。
A: true B: false C: 0 D: 运行时抛出异常
13. 下列循环体执行的次数是( C )。
int y=2, x=4;
while(--x != x/y){ }
A : 1 B: 2 C : 3 D : 4
14. 已知如下代码:
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
15. 下列语句输出的结果是:( 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;
16. 下列语句输出的结果是:( 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!!!
17. 下面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同学欢迎您
18. 阅读以下程序,选择正确的运行结果:( 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:他
19. 设有下列数组定义语句:
int a[][]= {{1, 2}, {3}};
则对此语句的叙述正确的是( D )。
A: 定义了一个名为a的一维数组 B: a数组 a[1][1]为0
C: a数组元素的下标为1~3 D: 数组中每个元素的类型都是整数
20. 下列程序输出的结果是:( 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
21. 关于以下程序的说明,正确的是( 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
22. 给出下面代码,关于该程序以下哪个说法是正确的?( C )
public class Person{
static int arr[] = new int[5];
public static void main(String a[]) {
for(int i=0;i
System.out.print(arr[0]);
}
}
A、编译时将产生错误 B、编译时正确,运行时将产生错误 C、输出零 D、输出空
23. 下面程序中类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
24. 下面关于方法的说法,不正确的是( C )。
A: Java中的构造方法名必须和类名相同
B: 方法体是对方法的实现,包括变量声明和合法语句
C: 如果一个类定义了构造方法,也可以用该类的默认构造方法
D: 类的私有方法不能被其他类直接访问
25. 在Java中下列说法正确的是( C )
A) 一个子类可以有多个父类,一个父类也可以有多个子类
B) 一个子类可以有多个父类,但一个父类只可以有一个子类
C) 一个子类可以有一个父类,但一个父类可以有多个子类
D) 上述说法都不对
⑸ 10道java基础选择题(3)
71.C
packagetest3;
publicclassTest{
publicstaticvoidmain(Stringargs[])throwsException{
String[]s={"ab","bc","cd"};//正确
Integerresults[]={newInteger(1),newInteger(2)};//正确
int[]a;a={3,4,5,6};//错误
int[]b={3,4,5,6};
floatf4[]=newfloat[]{1.0f,2.0f,3.0f};
}
}
72.A
无法明白A是什么意思,跟谁相等?
packagetest3;
publicclassTest{
publicstaticvoidmain(Stringargs[])throwsException{
inta[]={3,4,5};
int[]b={3,4,5};//声明一个数组,用int[]a或者inta[]都正确
System.out.println(a.length);//数组的长度可以用数组的属性length获得
intc[]=newint[];//错误,证明数组在使用前必须明确其长度
}
}
73.B
74.A
对于变量:
public, static & final
对于方法:
public & abstract
75.D
可以什么方法都没有
76BD
77 A
78D
79A
80A
⑹ JAVA基础测试题
1 跟java运行的机制有关,java先加载静态域,static int x=10; ,然后静态块static { x+=5;},static { x/=3;}(虽然位置在后但先运行) ,然后静态方法static void main
所以x=10,x=15,x=5.
2 A因为int [ ] x = new int[25],数组建立后,每个元素默认值为0;x[24]=0;x[25] 下标越界,x[0]=0;
3 switch(i)不接受long型,int或者枚举型可以。i=Integer.parseInt(args[0]);虽然这样每课时i还是long型的。
4 c,没什么好说的,就是这么规定的!
⑺ java基础练习题
利用for循环来得到oldArr里的每一个元素,判断这个元素是否是0,是0就放到新数组里:
intnewArr[]=newint[];
for(inti=0;i<oldArr.length;i++){
if(oldArr[i]==0){
newArr[newArr.length]=oldArr[i];
}
}
newArr就是新数组。我没用eclipse写,不知道有没有错误,你试一下吧,思路就是这样。上一个回答的有点把简单问题复杂化了。
⑻ javajava基础题
Java程序:
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
double save;
System.out.print("请输入您的存款数(万元):");
save = scan.nextDouble();
if(save > 5000000) {
System.out.println("购买凯迪拉克");
}
else if(save > 1000000) {
System.out.println("购买帕萨特");
}
else if(save > 500000) {
System.out.println("购买依兰特");
}
else if(save > 100000) {
System.out.println("购买奥托");
}
else {
System.out.println("购买捷安特");
}
}
}
运行测试:
请输入您的存款数(万元):1200000
购买帕萨特
⑼ JAVA基础题
1.(1)1(2)false(3)ture(4)1/20736
7.string是引用stringbuffer字符串变量!string没有存储能力stringbuffer有存储能力!
11.语句A语句B语句D语句C
12.int j=0;for(int i=16;i<0;i=i-3){j++;}system.out.print("16/3的商等于"+j);for(;j=0;j--){int i=16;i=i-3;j=i;}system.out.print("16/3的余数等于"+j);
17.s test2 test3 test4 test4
18.128 false false
⑽ java基础总复习资料
通过Java认证 SCJP 考试之精辟总结
1.switch里面只能是short,int,char,byte的.
2.if (a="a") 编译错, if(a=false)编译ok,原因是a=false的a代表了个boolean值
3.这种写法Outer.Inner i = new Outer().new Inner(); OK!
4.文件里, 8 默认是int, 8.0默认是double
5.八进制是 0开头,不是O(英文o)
6.byte -128~127 ,-128是二进制的多少?
7. -1>>32还是-1, -1>>>32为什么还是-1?
8. char c='c'; String s ="s"; s+=c;结果是 sc!!!
9. boolean b1=true; boolean b2=true; System.out.println(b1b2); 结果是true.编译没错!
10.java的默认import包有哪些?
类和对象(Class and Object)
0.最外层的类可以声明成final:final class a{} ok!,但是不能是private和static的.
1.overload是同类里同样的方法名,override是父子的继承
2.override的返回结果必须一样,否则编译错哦
The return type of an overriding method is identical to the return type of the method it overrides.
3.super.super(),靠,错的,没这么写的
4.static和非static之间永远无法override!
5. 看程序
以下是引用片段:
public class A{
void test1() throws baseEx{hi();}
void hi(){System.out.println("say hi,a");}
}
class AA extends A{
void hi(){System.out.println("say hi,aa");}
}
class test{
static void main(String b[]) throws Exception{
A a = new AA();
a.test1();
}
}
结果是,"say hi,aa",这说明什么?说明,方法永远跟着类的原来面目走;而,变量恰恰相反!
6.一个非抽象方法死活也别想override成一个抽象方法
7.override的子类的方法抛出的的异常只能是父类方法抛出异常的子异常类,或者无!
8.构造器不能是native,final,static,synchronized的,可以是public,private,什么都没有的,呵呵
9.构造器函数里还可以写return呢,但后面什么都不许有,甚至null(这不是废话吗,哈哈)
10.构造器不能返回值.这大家都知道,但如果有个"构造器"反值了,别紧张,它就不是构造器喽,只是个普通函数
11.super();this();这两个函数只能在构造函数里调用.
12,成员变量声明时候赋值,比构造函数还早.int i=1; ealier than Test(){}
13.方法的参数变量可以是final.
14. hashCode返回一个int
15. void wait() throws InterruptException wait扔InterruptException异常
16. java.lang.Void 是void的包装类
17. Byte,Interger,Double...所有的跟数有关的包装类都是继承于Number
接口Interface)
1.接口的所有方法默认都是public,abstract和non-static的
2.接口的所有变量默认都是public,static,final的.所以,接口的变量不能改值,在它的实现类里.
3.接口的实现类实现的方法必须和接口的方法抛出同样的异常,不许是子类,这和override不一样!同样,如果接口方法没有抛,实现方法也不能抛
4.实现类实现的方法必须显式的声明成public,什么都不写都不行,啊!!!
5.接口不能声明成final,要不它怎么被实现呢(这好像又是废话啊
6.一个类实现两个接口,如果两个接口有相同的方法,实现类就实现这个方法,没问题的.
更多JAVA技术信息请咨询美 国硅谷SVSE徐东校区 http://www.xdsvse.com