JAVA入门到精通 怎么样_JAVA入门到精通-第28讲-面试题讲解

96eb82abefd19ef587dc9f8e2a0e3c5a.png

Java基础测试题

关键字:java

1、下面的语句哪行在编译时没有警告和编译错误

a)float f=1.3;//1.3是double类型,赋给float需要加1.3f

b)char c="a";//char类型赋值是不可以用""只能用''

c)byte b=257;//byte类型赋值不能超过127,否则越界报错

d)boolean b=null;//boolean类型不能赋空值,只能赋true或false

e)int i=10;//正确,无报错

2、下面的代码编译后会出现什么问题

public class MyClass{

public

static void main(String arguments[]){

amethod(arguments);

}

public

void amethod(String[] arguments){

System.out.println(arguments);

System.out.println(arguments[1]);

}

}

a)错误,不能静态引用amethod方法//正确

b)错误,main方法不正确

c)错误,数组必须包含参数

d)amethod必须声明为static类型

3、下面的哪一组代码会出现编译错误

a)import

java.awt.*;//会出现编译错误,打包命令package应在首行

package

Mypackage;

class

Myclass{}

b)package

MyPackage;

import

java.awt.*;

class

MyClass{}

c)/*This

is a comment*/

package

MyPackage;

import

java.awt.*;

class

MyClass{}

4、byte类型的大小是

a)-128~127//正确

b)-28-1~28

c)-255~256

d)不同的操作系统java虚拟机分配不同的大小

5、下面的代码在输入下面的命令行后输出什么内容

命令行:java myprog good morning

代码:

public class myprog{

public

static void main(String argv[]){

System.out.println(argv[2]);//从命令行java myprog后传入两个数

}

}

a)myprog

b)good

c)morning

d)Exception

raised:"java.lang.ArrayIndexOutOfBoundsException:2"//正确

6、下面哪个不是java的关键字或者保留字

a)if

b)then//不是java的关键字或者保留字

c)goto

d)while

e)case

*******************************************************************************

Java关键字列表(依字母排序共51组)

abstract,assert,boolean,break,byte,case,catch,char,class,const,continue,default,do,double,else,enum,extends,final,finally,float,for,if,implements,import,instanceof,int,interface,long,native,new,package,private,protected,public,return,short,static,strictfp,super,switch,synchronized,this,throw,throws,transient,try,void,volatile,while

Java保留字列表(依字母排序共14组:Java保留字是指现有Java版本尚未使用但以后版本可能会作为关键字使用)

byValue,cast,false,future,generic,inner,operator,outer,rest,true,var,goto,const,null

*******************************************************************************

7、下面哪些是合法的标志符(多选)

a)2variable//不能以数字打头

b)variable2//正确

c)_whatavariable//正确

d)_3_//正确

e)$anothervar//正确

f)#myvar//不能存有#号

8、试图编译运行下面的代码会发生什么情况

public class MyClass{

static

int i;//static静态变量可以不给初值,但是final必需要赋值

public

static void main(String argv[]){

System.out.println(i);

}

}

a)错误,变量i没有初始化

b)null

c)1

d)0//正确

9、试图编译运行下面的代码会发生什么情况

public class Q{

public

static void main(String argv[]){

int

anar[]=new int[]{1,2,3};

System.out.println(anar[1]);

}

}

a)1

b)Error anar被引用前没有初始化

c)2//正确

d)Error:数组大小没有定义

10、试图编译运行下面的代码会发生什么情况

public class Q{

public

static void main(String argv[]){

int

anar[]=new int[5];

System.out.println(anar[0]);

}

}

a)Error:anar is referenced before it is

initialized

b)null

c)0//正确,数组没有被赋初值默认为0,不能为null空

d)5

11、试图编译运行下面的代码会发生什么情况

abstract class MineBase{

abstract

void amethod();

static

int i;

}

public class Mine extends MineBase{

public

static void main(String argv[]){

int[]

ar=new int[5];

for(i=0;i

System.out.println(ar[i]);

}

}

}

a)5个0的序列会被输出

b)Error:ar在使用前要初始化

c)Error Mine必须被声明为abstract//正确

d)Error数组越界

12、试图编译运行下面的代码会输出什么样的结果

int i=1;

switch(i){

case

0:

System.out.println("zero");

break;

case

1:

System.out.println("one");

case

2:

System.out.println("two");

default:

System.out.println("default");

}

a)one

b)one,default

c)one,two,default//正确

d)default

13、试图编译运行下面的代码会输出什么样的结果

int i=9;

switch(i){

default:

System.out.println("default");

case

0:

System.out.println("zero");

break;

case

1:

System.out.println("one");

case

2:

System.out.println("two");

}

a)default

b)default,zero//正确

c)error default没有定义

d)无输出

14、下面的哪些组代码没有编译错误(多选)

a)int

i=0;

if(i){//错误if中没有判断

System.out.println("Hello");

}

b)boolean

b=true;

boolean

b2=true;

if(b--b2){

System.out.println("So

true");//正确

}

c)int

i=1;

int

j=2;

if(i==1||j==2)

System.out.println("OK");//正确

d)int

i=1;

int

j=2;

if(i==1&|j==2)//错误,&|非法。单个&或|则正确

System.out.println("OK");

15、如果在当前目录下不存在Hello.txt文件,试图编译和运行下面代码会输什么

import java.io.*;

public class Mine{

public

static void main(String argv[]){

Mine

m=new Mine();

System.out.println(m.amethod());

}

public

int amethod(){

try{

FileInputStream

dis=new FileInputStream("Hello.txt");

}catch(FileNotFoundException

fne){

System.out.println("No

such file found");

return

-1;//虚拟机会记录,但要运行后finally语句块后才返回

}catch(IOException

ioe){

}finally{

System.out.println("Doing

finally");

}

return

0;

}

}

a)No such file found

b)No such file found,-1

c)No such file found,Doing finally,-1//正确

d)0

16、在下面的注释处插入哪些部分代码是合法的(多选)

class Base{

public

void amethod(int i){}

}

public class Scope extends Base{

public

static void main(String argv[]){

}

//在这里定义一个方法

}

a)void amethod(int i)throws Exception{}//继承后方法重写,父类用什么访问类型重写也要有相同的类型才可以

b)void amethod(long i)throws Exception{}//正确,不是方法重写long类型不一样

c)void amethod(long i){}//正确,不是方法重写

d)public void amethod(int i)throws

Exception{}//继承后可以重写但不能抛异常

17、下面哪行代码输出-4.0

a)System.out.println(Math.floor(-4.7));//floor向下取个比它小的最近double -5.0

b)System.out.println(Math.round(-4.7));//ronud四舍五入返回一个数-5.0

c)System.out.println(Math.ceil(-4.7));//ceil向上取一个比它大的最近double -4.0

d)System.out.println(Math.min(-4.7));//Math.min(x,y)需要两个数进行比较

18、如果运行下面的代码会输出什么内容

String s=new String("Bicycle");

int iBegin=1;

char iEnd=3;

System.out.println(s.substring(iBegin,iEnd));//解决办法在String的substring方法

1)Bic

2)ic//正确

3)icy

4)error:没有匹配的方法substring(int,char)

19、给出下面的代码在注释部分放置什么样的代码会输出"Equal"

public class EqTest{

public

static void main(String argv[]){

EqTest

e=new EqTest();

}

EqTest(){

String

s="Java";

String

s2="java";

//place

test here{

System.out.println("Equal");

}else{

System.out.println("Not

equal");

}

}

}

a)if(s==s2)

b)if(s.equals(s2)//equals比较内容是否相同,区分大小写

c)if(s.equalsIgnoreCase(s2))//正确,equalsIgnoreCase不分大小写进行内容比较。

d)if(s.noCaseMatch(s2))

20、给出下面的代码,怎样调用Base的构造方法会输出"base constructor"

class Base{

Base(int

i){

System.out.println("base

constructor");

}

Base(){

}

}

public class Sup extends Base{

public

static void main(String argv[]){

Sup

s=new Sup();

//One

}

Sup(){

//Two

}

public

void derived(){

//Three

}

}

a)//One后放置Base(10);//无意义

b)//One后放置super(10);//无法放到One后面,语法错误(super代表直接指向父类)

c)//Two后放置super(10);//正确,如果希望在子类中去调用父类的构造方法,要求在子类的构造函数中去调用。

d)//Three后放置super(10);

-------------------------------------------------------------------------------

//super()的使用[Demo154.java]

public class Demo154{

public

static void main(String []args){

Son

son=new Son(11,"aa");

}

}

class Base{

int

age;

String

name;

public

Base(int age,String name){

System.out.println("调用父类Base构造方法");

this.age=age;

this.name=name;

}

}

class Son extends Base{

public

Son(int age,String name){

super(age,name);//super()方法必需放在子类构造函数的第一行

System.out.println("调用子类Son构造方法");

}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值