leetcode刷题

1,main 方法是 Java Application 程序执行的入口点,以下描述哪项是合法的(B)。
A,public static void main( )
B,public static void main( String args[] )
C,public static int main(String [] arg )
D,public void main(String arg[] )

2 在程序代码中写的注释太多,会使编译后的程序尺寸变大。(B)
A,对
B,错

3 编译java程序的命令文件是©
A,java.exe
B,javac.exe
C,applet.exe

4“先进先出”的容器是:(B)
A,堆栈(Stack) 先进后出
B,队列(Queue) 先进先出
C,字符串(String) 存储数据的结构,没有严格的规律
D,迭代器(Iterator) 取决于迭代方式

5关于对象成员占用内存的说法哪个正确?(B)
A,同一个类的对象共用同一段内存
B,同一个类的对象使用不同的内存段,但静态成员共享相同的内存空间
C,对象的方法不占用内存
D,以上都不对
解析:静态成员属于类成员,在方法区分配内存,而不是堆。静态变量属于类本身,成员变量属于类的某个实例。

6 如果类的方法没有返回值,该方法的返回类型应是:(A)
A,void     无返回值
B,null     空
C,abstract     抽象
D,default     修饰符关键字

7以下关于Integer与int的区别错误的是(D)
A,int是java提供的8种原始数据类型之一
B,Integer是java为int提供的封装类
C,Int的默认值为0
D,Integer的默认值为1
解析:int 是八大基本数据类型之一(byte,char,short,int,long,float,double,boolean)
Integer 是 int 包装类;
int是基本数据类型,默认值为0,
Integer 是类,默认值为null;
Integer 表示的是对象,用一个引用指向这个对象,
int是基本数据类型,直接存储数值。

8若有定义:byte[]x={11,22,33,﹣66};其中0≤k≤3,则对x数组元素错误的引用是(C)
A,x[5-3]   总共有4个元素,下标取0~3 2属于0-3
B,x[k]    k属0-3
C,x[k+5]    5<k<8与0-3不符,越界,错位
D,x[0]    0属于0-3

9 在java中,要表示10个学生的成绩,下列声明并初始化数组正确的是(D)
A,int[] score=new int[ ]
B,int score[10]
C,int score[]=new int[9]
D,int score[]=new int[10]   10个学生虽然下标为0-9,但是仍需要存储10个元素

10HashMap的数据结构是怎样的?(C)
A,数组
B,链表
C,数组+链表
D,二叉树
HashMap 由数组+链表组成的,数组是 HashMap 的主体,链表则是主要为了解决哈希冲突而存在的

11 为AB类的一个无形式参数无返回值的方法method书写方法头,可以用AB.method()方式调用,该方法头的形式为(A)。
A,static void method( )   static修饰方法,方法属于类本身,可以类名调用。
B,public void method( )   正常的实例方法,公有方法,必须实例化对象才可以调用
C,final void method( )   final修饰方法,方法不可被重写,但是可以被重载。
D,abstract void method( )   abstract修饰方法,方法不能有方法体。abstract修饰方法,方法必须在抽象类或者接口中。

12class Foo {
final int i;
int j;
public void doSomething() {
System.out.println(++j + i);
}
}的输出是?
A,0
B,1
C,2
D,不能执行,因为编译有错
解析:类的final成员变量必须满足以下其中一个条件1、在构造函数中赋值 2、初始化赋值

13 静态内部类不可以直接访问外围类的非静态数据,而非静态内部类可以直接访问外围类的数据,包括私有数据。(A)
A,正确
B,错误
解析: 静态内部类可以访问外围类的静态数据,包括私有数据,但不能访问非静态数据;非静态内部类可以直接访问外围类的数据,包括私有数据

14检查程序,是否存在问题,如果存在指出问题所在,如果不存在,说明输出结果。(D)
public class Example {
String str = new String(“good”);
char[] ch = {‘a’,‘b’,‘c’};
public static void main(String[] args) {
Example ex = new Example();
ex.change(ex.str, ex.ch);
System.out.print(ex.str +“and”);
System.out.print(ex.ch);
}
public void change(String str, char ch[]){
str= “test ok”;
ch[0]= ‘g’;
}
}
A,test ok   and   abc
B,test ok   and   gbc
C,good   and   abc
D,good   and   gbc
在这里插入图片描述
15 在类Tester中定义方法如下,public double max(int x, int y) { // 省略 }则在该类中定义如下哪个方法头是对上述方法的重载(Overload)?(B)
A,public int max(int a, int b) {}
B,public int max(double a, double b) {}    同名不同参,返回值无关。
C,public double max(int x, int y) {}
D,private double max(int a, int b) {}

16下面这段java代码,当 T 分别是引用类型和值类型的时候,分别产生了多少个 T对象和T类型的值(D)
T t = new T();(值类型时:T t;)
Func(t);
Func 定义如下:
public void Func(T t) { }
A,1    1
B,2    1
C,2     2
D,1    2    引用类型作为函数的参数时,复制的是引用的地址,不会产生一个新的T;而如果T是值类型,其作为函数实参时会复制其值,也就是产生了一个新的T。所以D选项正确

17java语言的下面几种数组复制方法中,哪个效率最高?(B)
A,for 循环逐一复制
B,System.arraycopy
C,Array.copyOf
D,使用clone方法
解析:复制的效率System.arraycopy>clone>Arrays.copyOf>for循环,这个有兴趣自己测试一下就知道了。这里面在System类源码中给出了arraycopy的方法,是native方法,也就是本地方法,肯定是最快的。而Arrays.copyOf(注意是Arrays类,不是Array)的实现,在源码中是调用System.copyOf的,多了一个步骤,肯定就不是最快的。

18关于 java 的异常处理机制的叙述哪些正确?(AB)
A,不论程序是否发生错误及捕捉到异常情况,都会执行finally部分
B,当try区段的程序发生异常时,才会执行catch区段的程序
C,catch部分捕捉到异常情况时,才会执行finally部分
D,其它选项都不正确

19jdk1.8版本之前的前提下,接口和抽象类描述正确的有(BC)
A,抽象类没有构造函数
B,接口没有构造函数
C,抽象类不允许多继承
D,接口中的方法可以有方法体

20 如下哪些是 java 中有效的关键字(AD)
A,native
B,NULL
C,false
D,this

21下列有关java构造函数叙述正确的是(CD)
A,构造器的返回值为void类型    构造函数无返回值,错误;
B,如果一个源文件中有多个类,那么构造器必须与公共类同名    多个类时构造函数不一定与公共类同名,因为每个类都可以有构造函数,函数名同所属类,错误;
C,构造器可以有0个,1个或一个以上的参数      构造器可以有任意个参数
D,每个类可以有一个以上的构造器     每个类都默认有一个构造函数,选项中“一个以上”的描述,让人误解至少要两个,所以错误。

22编译 Java 源程序文件产生的字节码文件的扩展名为(B)
A,java
B,class
C,html
D,exe

23 在Java中,main()方法的返回值的类型是:©
A,public     public static void main
B,static
C,void
D,String

24程序文件名必须与公共外部类的名称完全一致(包括大小写).(A)
A,正确    一个java文件里可以有多个class,但是只能有一个public class外部类,并且类名必须和.java文件名相同
B,错误

25下面程序的输出是:(D)
String x=“fmn”;
x.toUpperCase();
String y=x.replace(‘f’,‘F’);
y=y+“wxy”;     Fmn+wxy
System.out.println(y);
A,FmNwxy
B,fmnwxy
C,wxyfmn
D,Fmnwxy

26关于以下application,说法正确是什么? (B)
public class Test {
static int x=10;         X=10
static {x+=5;}        X=15
public static void main(String[] args) //4
{
System.out.println(“x=”+x);
}
static{x/=3;};        X=5
}//9
A,4行与9行不能通过编译,因为缺少方法名和返回类型
B,编译通过,执行结果是:x=5
C,编译通过,执行结果是:x=3
D,9行不能通过编译,因为只能有一个静态初始化器

27根据下面的程序代码,哪些选项的值返回true? ©
public class Square {
long width;
public Square(long l) {
width = l;
}
public static void main(String arg[]) {
//声明了3个Square类型的变量a, b, c
//在stack中分配3个内存,名字为a, b, c
Square a, b, c;
//在heap中分配了一块新内存,里边包含自己的成员变量width值为48L,然后stack中的a指向这块内存
a = new Square(42L);
//在heap中分配了一块新内存,里边包含自己的成员变量width值为48L,然后stack中的a指向这块内存
b = new Square(42L);
//stack中的c也指向b所指向的内存
c = b;
//在stack中分配了一块内存,值为42
long s = 42L;
}
}
在这里插入图片描述

28 关于java编译和运行命令叙述不正确的是? (A)
A,运行“java Scut.class”         java Scut
B,运行“java Scut”
C,编译 Scut.java文件,使用“javac Scut.java”命令的输出文件是Scut.class
D,java这个命令的运行对象是Scut.class

29(A)运算符和(B)运算符分别把一个值的位向左和向右移动
A,<<
B,>>
C,&&     与
D,||    或

30以下类型为Final类型的为(BC)
A,HashMap
B,StringBuffer
C,String
D,Hashtable
解析:StringBuilder , StringBuffer ,String 都是 final 的,因为不可变包括的是,引用不可变以及对象不可变,而这三个都是属于引用不可变,(也就是地址不要变,里面的内容随心所欲),而StringBuilder , StringBuffer 中都包含右append方法,可对对象中的内容进行增加。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值