Java应用程序main的有效定义_java简单面试题型

这是一份Java面试题集,涵盖了JDK环境变量设置、程序设计基础、Java应用的main方法定义等多个方面。题目包括选择题、填空题和程序设计,涉及类、方法、异常处理、多线程、文件操作、图形用户界面等核心概念,是Java开发者面试必备的复习资料。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、单选题

1、JDK安装进程中,需设置的环境变量为(D)

A、classpath  B、path  C、path和setpath  D、A和B都要设置

2、一个部件在水平方向会改变大小,但垂直方向不变,则放到什么位置?B

A、BorderLayout布局的North或South位置B、FlowLayout布局的第一个部件

C、BorderLayout布局的East或West位置D、BorderLayout布局的Center位置

3、以下哪个是Java应用程序main方法的有效定义? C

A、public static void main();                            B、public static void main( String args );

C、public static void main( String args[] );  D、public static boolean main( String a[] );

4、下列哪个不是Java的保留字(D)。

A、float   B、class   C、extends   D、virtual

5、下列符号中不能作为Java标识符的是(D  )。

A、abc   B、$str1   C、_pore   D、45six

6、当x=1、y=3时,表达式x%=y的运算结束后x的值为(D)

A、2    B、3    C、0    D、1

7、现有一变量声明为boolean aa;下面赋值语句中正确的是( D   )。

A、aa=0   B、aa=True   C、aa="true"   D、aa=false

8、可以在for循环初始化部分声明一个变量,其作用域是(B)

A、for循环体所在的代码块B、整个for循环结构

C、for循环后的所有部分D、除for循环体外的部分

9、在switch(表达式)语句中,表达式的类型不能为(C)。

A、byte   B、char   C、long   D、int

10、下列哪一个是表达式3+2+”aa”+3的值。(B)

A、”32aa3”  B、”5aa3” C、”32aa” D、”aa3”

11、下列程序执行之后,输出的结果为。(A)

public class Test{

public static void main(String[] args){

double y = 10.5;

String s = “abc”;

s += y;

System.out.println(s);

}

}

A、abc10.5  B、10.5abc     C、abc    D、10.5

12、方法methodA定义如下:

returnType methodA(byte x,double y){

return (short)x/y*2;

}

则返回值returnType为(B)。

A、byte   B、double   C、short   D、int

13、在Java语言中的哪一个包是编译器自动导入的?(C)

java.swing   B、java.awt  C、java.lang    D、java.applet

14、类Cycle的main()方法为:

public static void main(String args[]){

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

}

则运行时如果命令行语句为Java Cycle one two three,则输出结果为(B)。

A、Cycle   B、one   C、two   D、three

15、某类Example的main()方法参数为args,当输入数据Java Example cat时,args[0]的值为(A)。

A、cat   B、Java   C、example   D、null

16、类定义如下

class Foo{

public static void main(String args[]){

String s;

System.out.println("s="+s);

}

}

则下列结论正确的是(C)。

A、有输出结果,且为空  B、没有输出结果

C、编译错误       D、有输出结果,且不为空

17、java中,对于构造方法,下列叙述中不正确的是。(C)

A、构造方法是类的一种特殊方法,它的方法名必须与类名相同。

B、构造方法的主要作用是完成对类的对象的初始化工作。

C、构造方法的返回类型只能是void型。(没有返回类型说明)

D、一般在创建新对象时,系统会自动调用构造方法。

18、声明公用的abstract方法的正确格式是(C)。

抽象类不能创建对象,只能被继承

A、public abstract void add() {}  B、public abstract add();

C、public abstract void add();  D、public virtual add();

19、下列程序结果正确的是(A)。

public class Test {

public static void main (String args []) {

Ad a1=new Ad();

System.out.println(a1.add(1));

Ad a2=new Ad();

System.out.println(a2.add(2));

}

}

class Ad{

static int total = 10;

public int add(int i){

total=total+i;

return total;

}

}

A、11,12   B、11,13   C、11,11   D、12,12

20、哪个方法是实现Runnable接口所需的?(B)

A、wait()       B、run()        C、stop()   D、resume()

21、在java中,以下叙述不正确的是(B)

A、构造方法名与类名相同。B、构造方法不是用来完成初始化的。

C、构造方法只能由new操作调用,而不能被用户直接调用。

D、构造方法没有返回类型。

22、下列哪一项不是File类的功能?(B)

A、新建文件B、新建目录C、删除文件D、修改文件

23、以下类DataIutputStream的构造方法正确的是(C)。

A、new DataInputStream(“in.txt”);

B、new DataInputStream(new file(“in.txt”));

C、new DataInputStream(new FileInputStream(“in.txt”));

D、new DataInputStream(new FileWriter(“in.txt”));

24、下面哪一个是Thread类中的静态方法( D )。

Thread类实现了runnerable接口,runnerable接口定义了run方法

sleep()是Thread类里面的一个静态方法,其全称为:public static void sleep (long millis) thorows InterruptedException

yield方法也是一个Thread类的静态方法.作用是,让出CPU,给其他线程执行的机会

A、start()   B、stop()   C、run()   D、sleep(long m)

25、以下哪个最准确描述synchronized关键字?(B)

A、允许两线程并行运行,而且互相通信;

B、保证在某时刻只有一个线程可访问方法或对象;

C、保证允许两个或更多处理同时开始和结束;

D、保证两个或更多线程同时开始和结束。

26、网格布局把容器区域分成若干个网格,每个网格可以放置一个组件,它对应的类是(A)

A、GridLayout             B、FlowLayout     C、CardLayout             D、BorderLayout

27、下列说法中,错误的一项是。(A)

A、Applet(init()方法开始)和Application一样,入口方法都是main()

B、Applet和Application不一样,入口方法不是main(),其运行要复杂得多

C、Applet必须嵌入Web浏览器或者Appletviewer中运行

D、Applet可以为Web页面提供动画效果

28、定义Java Applet程序时,必须有的import语句是。(C)

A、import java.awt.event;           B、import java.util.*;

C、import java.applet.Applet;      D、import java.lang.*;

29、下面说法哪个是错误的?B

A、Applet可以访问本地文件B、对static方法的调用不需要类实例

C、UDP通信需要使用DatagramSocket类实现D、127.0.0.1地址代表本机

30、下列说法错误是:A

A、java语言里的线程是没有优先级的B、String类在java.lang包中

C、java语言支持类的序列化D、能序列化的类必须实现java.io.Serializable接口

二、程序填空

1、以下程序实现在屏幕上输出字符串“this is a java programme!”,请把程序填写完整

public class A

{

public static void main(String args[])

{

System.out.println(“this is a java programme!”);

}

}

2、以下方法实现求10!,并将结果保存在变量s中输出,完成程序

public void  print( )

{

int s=1,i=1;

for(i=1;i<=10;i++)

{

s=s*i;

}

System.out.println("10!="+s);

}

3、以下方法实现求1+2+3……+100,并将结果保存在变量m中输出,完成程序

public void  print( )

{

int s=0;

for(int i=1;i<=100;i++)

{

s=s+i;

}

System.out.println("1+2+3……+100="+s);

}

4、在如下定义的Applet容器中添加按钮组件,请填空

import java.awt.*;

import java.applet.Applet;

public  class  Examp  extends  Applet

{

public  void init( )

{

button1=new Button("Click here");

add(button1);

}

}

5、定义接口N1,然后类R1实现接口N1,完成下面的程序

public interfaceN1

{

int year=2006;

int  year( );

}

public  class  R1implements N1

{

//实现year方法

public int year( )

{

return year;

}

public void output( ){ }

}

三、程序设计题

1、编写一个Applet应用程序,输出当前系统日期信息。要求编写出完整的HTML文件。

Clock.html

时间显示

Clock.java

import java.awt.*;

import java.applet.*;

import java.util.*;

public class clock extends Applet

{

public void paint(Graphics g){

String today;

Date dat=new Date();

today=dat.toLocaleString();

g.drawString(today, 20, 32);

}

}

2、按如下要求编程(10分)【P137】

(1)创建矩形类(Rectangle),添加属性宽度(width),高度(height);添加方法计算矩形周长(getPerimeter),计算面积(getArea)。

(2)编程利用Rectangle类在屏幕输出一个矩形的周长和面积。

public class Rectangle{

int width,height;

public static int getPerimeter(int w,int h){

int l;

l=2*(w+h);

return l;

}

public static int getArea(int w,int h){

int a;

a=w*h;

return a;

}

public static void main(String args[])

{

int l,a;

l=getPerimeter(20,35);

a=getArea(20,35);

System.out.println("矩形的周长是:"+l+"cm");

System.out.println("矩形的面积是:"+a+"立方厘米");

}

}

3、编程输出下列形状的图形。

*****

*****

*****

*****

*****

这个是自己写的

public class Test{

public static void main(String args[ ]){

for(int i=0;i<7;i++){

for(int j=0;j<5;j++){

if(i==3)

System.out.println();

else

System.out.print("*");

}

System.out.println();

}

}

}

下面的老师给的答案:

public class Test{

public static void main(String args[ ]) {

for(int i=0;i<2;i++){

for(int j=0;j<3;j++){

for(int k=0;k<5;k++)

System.out.print('*');

System.out.println( );

}

System.out.println( );

}

}

}

四、简答题

1、什么是类?什么是对象?两者有何关系?

类:一组具有共同点的对象,将其共同点抽象出来就是类

对象:每个具体的事物叫对象,对象是由属性和方法组成,

类是java的核心和本质,类是对象属性和对象行为的抽象。Java程序中实现的每一个概念都必须封装到类里面

对象是类的一个实例

2、Error与Exception有什么区别?

Error类及其子类主要用来描述一些java运行时系统内部错误或资源枯竭导致的错误。普通的程序不能从这类错误里面恢复,这类错误出现的几率很小,不必捕获,是属于未检测的异常。

Exception类和他的子类,在编程中错误的处理主要是针对这类错误进行异常处理,如除数为零、数组下标越界等。Exception类是普通程序可以从中恢复的所有规范了的异常的父类。Exception类分为三个子类:IOException、RuntimeException和Non——RuntimeException。

3、什么是构造方法?它有何特点?

在Java中,任何变量在被使用前都必须先设置初值.Java提供了为类的成员变量赋初值的专门功能:构造方法(constructor)构造方法是一种特殊的成员方法,它的特殊性反映在如下几个方面:

1.构造方法的名字必须与定义他的类名完全相同,没有返回类型,甚至连void也没有。

2.构造方法的调用是在创建一个对象时使用new操作进行的。构造方法的作用是初始化对象。

3.每个类至少有一个构造方法(默认的)或多个构造方法.

4.不能被static、final、synchronized、abstract和native修饰。构造方法不能被子类继承。

5.构造方法在创建对象时自动执行,一般不能显式地直接调用.

构造方法可以被重载。没有参数的构造方法称为默认构造方法,与一般的方法一样,构造方法可以进行任何活动,但是经常将他设计为进行各种初始化活动,比如初始化对象的属性。

4、在java中,一个类被声明为final类型,表示什么意思?

Final类是不能被继承的类,不能在有子类。是最终的类。不能重载或覆盖任何方法。其代码安全性比较高。

5、是否可以继承String类,为什么?

不可以。String是final的,不能被继承。基本类型的类都是final类,无法被继承或修改,比如:Integer,Float,Boolean,Byte,Character,Long,Short等等。

6、try {}里有一个return语句,那么紧跟在这个try后的finally {}里的代码会不会被执行,什么时候被执行,在return前还是后?

无论有没有异常发生,finally语句是一定要执行的部分。

Try块中的语句没有产生异常,先执行try中的所有语句,然后在执行finally中的语句。

Try块中语句产生异常,此异常在方法内捕获,java先执行try中语句,直至产生异常处,然后跳过try中语句,执行捕获此异常的

7、简述java语言的特点?

Java语言是一种跨平台的、适合于分布式计算机环境的面向对象的编程语言。它具有可移植、稳定、简单、高性能动态执行等特性。

8、char型变量中能不能存贮一个中文汉字?为什么?

不能

char 只占一个字节。

汉字通常是两个字节来表示,可以使用char数组来表示汉字。

例如

char a[5]="你";

9、多线程有几种实现方法,都是什么?同步有几种实现方法,都是什么?

多线程有两种实现方法,分别是继承Thread类与实现Runnable接口

同步的实现方面有两种,分别是synchronized,wait与notify

10、简述Java程序的开发过程?

Java应用程序的运行经过编写、编译、运行三个步骤。

第1步,编写程序。使用记事本或其他软件编写程序的源代码,将源代码保存为文件filename.java文件。

第2步,编译程序。在MS-DOS命令窗口,将当前目录转换到Java源程序所在的保存目录;输入“javac filename.java”形式的命令进行程序编译。

第3步,执行程序。在同样的命令窗口中输入“java filename”形式的命令执行程序。

完成了程序的开发,查看相应t目录,其中应该具有两个文件,分别是XXXX.java和XXXX.class。

11、在一个循环中使用break和continue语句有什么不同的效果?

Break是结束整个循环语句的执行,continue只能再循环体中使用,只结束本次循环,不是终止整个循环的执行。

12、package语句与import语句分别作用是什么?

Package:定义类所属的包

import:一个java由若干类组成,“import说明”是为新定义的类指出要使用java系统已有的类,这些类部分是由java运行环境提供的,部分是用户开发的

13、接口和抽象类有何区别?

interface的抽象完全可以用abstract来定义.但是要想让继承的子类能实例化一个对象,你必须把abstract中的所有方法全部实现,否则子类还是abstract的

而interface不一样的地方就是你可以在它的implements中实现你自己所需要的那些方法,然后就可以实例化一个对象。

接口可以有很多个。抽象类不能创建任何对象,只是用来被其子类继承

14、什么是包?为何使用包?

Package为保留字,定义类所属的包,包在系统分析时对应于一个单位的部门、子系统。在实现时应对应类所属的子目录名。

15、简述Java环境变量的设置。

1.安装j2sdk以后,需要配置一下环境变量,在我的电脑->属性->高级->环境变量->用户变量或系统变量中添加以下环境变量(假定你的j2sdk安装在C:\Program Files\Java\jdk1.5.0_10                :

java_home=C:\Program Files\Java\jdk1.5.0_10

classpath=.;%java_home%\lib;%java_home%\lib\tools.jar (.;一定不能少,因为它代表当前路径)

path=%java_home%\bin;%java_home%\jre\bin;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值