java定义一只猫让他动_经典java面试题分享

1、main方法是怎么写的

publicstaticvoidmain(String args[]) {

}

1)字符串数组的名字(args)可以自己定义

2)其余不可变更

3)main()方法中字符串参数数组作用是接收命令行输入参数的

4)Main方法后可以抛出异常

2、变量的命名规则是怎么样的?

java中的变量名主要遵循五个规则:

1、只能以字母、“_”或“$”符号作为变量名开头。

2、变量中可包含数字,但不能以数字开头。

3、除了“_”和“$”符号以外,变量中不能包含其他特殊字符。

4、不能用class、int、String、public等java关键字做为变量名。

5、在java中变量名严格区分大小写,例如:name和Name就是两个不同的变量。

3、if…else…和写两个if 有什么区别

If else是前者条件不成立就执行else里的代码,成立就执行if里的代码。

两个if,两个if没有完全的联系,一个if不执行或则执行都不会对后面的if造成影响

4、在JAVA中直接写浮点常数,默认是什么类型?

double

5、什么是标识符?它的命名规则是什么?

标识符就是表达特定意义的字符,是用来给类、对象、方法、、接口和自定义命名的。

命名规则:        标识符由字母、下划线_、美元符号$或数字组成。标识符应由字母、下划线或美元符号开头。JAVA区分大小写。标识符不能与关键字相同。

命名规范:采用驼峰命名法,见名知意,以小写字母开始。常量命名:全部大写。方法命名: 小写字母开始,驼峰命名。类命名:首字母大写。

6、什么是变量?

变量是一个内存空间的命名,并且空间的值是可以改变的。

7、JDK与JRE分别是什么?

JDK就是Java Development Kit.简单的说JDK是面向开发人员使用的SDK,它提供了Java的开发环境和运行环境。JDK包含了JRE以及JVM,是java的开发工具。JRE是JavaRuntime Enviroment是指Java的运行环境,是面向Java程序的使用者,而不是开发者。

JDK叫java开发工具集,包括编译环境、运行环境、调试环境以及基础类库。JRE叫java运行环境,包括虚拟机、核心类库、以及健接文件。

8、try-catch-finally三个基本块的作用?catch里的代码是干什么的?

try块表示此处代码可能引发异常catch块捕获try块的异常finally块通常用于资源的回收,连接关闭,清理工作等try-catch-finally不能单独存在,try块后必须跟catch或finallycatch或finally前必须跟try块

9、继承类和实现接口分别怎么做?

继承类 extends

实现接口 implements

10、如何去获得字符串的长度?

调用字符串的length()方法

11、Java的基本数据类型有哪些?

Java定义了8个简单的数据类型:字节型(byte),短整型(short),整型(int),长整型(long),字符型(char),浮点型(float),双精度型(double),布尔型(boolean).

int 4字节 整型byte1字节 整型char2字节 整型short2字节 整型long8字节 整型double8字节 浮点float4字节 浮点boolean布尔

12、当一个对象被当作参数传递到一个方法后,此方法可改变这个对象的属性,并可返回变化后的结果,是值传递还是引用传递

值传递,Java里没有引用传递

13、列出至少5个最常见到的runtime exception并描述在什么情况下出现

IOException在未找到文件时会抛出NullPointerExecption在对象引用指向空时会抛出ArrayIndexOutOfBoundsExecption在数组下标越界时会抛出NumberFormatException在字符串不能转换成数字时会抛出ArithmeticException在分母为零时会抛出

算术异常类:ArithmeticExecption空指针异常类:NullPointerException类型强制转换异常:ClassCastException数组负下标异常:NegativeArrayException数组下标越界异常:ArrayIndexOutOfBoundsException违背安全原则异常:SecturityException文件已结束异常:EOFException文件未找到异常:FileNotFoundException字符串转换为数字异常:NumberFormatException操作数据库异常:SQLException

14、ArrayList和Vector的区别

vector是线程安全的,所以效率低,Arraylist是线程不安全的,但是效率高。

15、在IO中字节流和字符流的父类是什么?

字节流父类是InputStrean和OutputStream字符流父类是Reader和Writer

16、什么是包?定义包有什么好处?

文件夹。好处:1、可以有效的组织相关类;2、可以做到信息的隐藏。

17、怎么样知道磁盘一个目录中有哪些文件?

1、File对象.list()方法;(返回字符串数组(字符串为文件名和文件夹名))2、File对象.listFiles()方法。(返回路经的数组(路径为文件路径和文件夹路径))

18、如何获得一定范围的随机整数?1.在java.lang.Math中

x+Math.random()*y其中x是位移数,确定最小范围,y是放大系数,确定最大数。(x-y)*Math.randon()+y2.在java.util.Random 中

Random random=new Random();

Random.nextInt() 0-1

0-n

实例代码:

packagecom.lovo;

importjava.util.Random;

publicclassRondomTest {

publicstaticvoidmain(String[] args){

System.out.println((int)(Math.random()*10));

Random ron=newRandom();

inta=(ron.nextInt(10));

System.out.println(a);

}

}

19、如何获得java当前的工作目录

使用System.getProperty(“user.dir”)能够获得当前工作目录的字符串地址。

20、怎么样判断一个异常类是checked异常还是unchecked异常?

判断当前异常类,是否是RuntimeException的子类,如果是,则是运行期异常否则是编译期异常。

21、静态变量和成员变量应该怎么访问?

静态变量可以通过对象. 和类名. 的方式访问

成员变量通过对象.的方式访问

22、如何将一个字符串转成一个基本数据类型

Int x = Integer.parseInt(“32”);

Double d = Double.parseDouble(“4.5”);

valueOf(需要转成包装类在由包装类转成(invalue)基础数据)

23、如何让JFrame的初始位置居中(在不同的分辨率中)

窗体对象.setLocationRelativeTo(null);

24、谈谈集合的作用

方便对数据进行 存储,检索,操作,传输。

25、类的修饰符能不能是private、static、protected?

内部类可以,因为内部类相当于外部类的属性

26、Try块中是否所有的语句都一定会执行,为什么?

不是,一但try中发生了异常,那么异常发生处下面的语句就不会执行,专区catch块执行

27、什么时候用继承,什么时候用接口?

与生俱来用继承

附加功能用接口

28、finally是不是什么时候都会执行?

是当虚拟机关闭,System.exit(0),finally内容不会执行;

29、什么是主线程?

当main()方法执行时会产生主线程,

1最先开始

2最后结束

3产生其他子线程

4回收资源

30、进行IO流操作时,如果操作的文件不存在会发生什么情况?

读取流在文件不存在时,会抛出文件未找到异常

写入流在文件不存在时,会创建文件,但如果该文件所在目录不存在,同时会抛出文件未找到异常

31、IO流操作的步骤是怎么样的?

创建流操作流 关闭流

32、finally的作用是什么?

无论是否有异常都会执行的代码块,一般用于资源回收,比如流动关闭、数据库的关闭

34、当一个线程进入一个对象的一个同步方法后,能否进入其它非同步方法?么?一般在什么时候使用?

可以,但不能进入其他同步方法。

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

Finally{}在程序开启时只执行它本身里的代码。

会执行,在方法返回前执行

35、如何启动线程,它直接调用run()方法有什么区别?

启动线程调用start方法,用start方法启动线程后,是多个线程同时进行,

使用run()是普通方法,是不会产生新的线程,是单线程。

36、数组有没有length()这个方法? String有没有length()这个方法?

数组有length属性,String有length方法

37、GC是什么? 为什么要有GC?

GC叫做垃圾回收器,为了回收内存不再使用对象,释放内存空间,避免内存溢出。

38、线程同步化会带什么样的结果?

1:可以使数据安全

2:效率会降低

39、什么是线程安全?

当两个或两个以上线程,访问同一个资源时,为了保证数据的安全,只允许同一时间

只能有一个线程访问该资源。

40、服务器类有一个while循环,能否直接while(true)?

可以,但这样缺乏灵活性,没有办法控制循环结束,最好使用boolean变量来控制

循环的运行和结束。

41、java帮助文档是如何生成的?

Ecplise :在项目列表中按右键,选择Export(导出),然后在Export(导出)对话框中选择java下的javadoc

42、什么时候类名和文件名必须一致?

2.如果文件中只有一个类,文件名必须与类名一致

3.一个Java文件中只能有一个public类

4.如果文件中不止一个类,文件名必须与public类名一致

5.如果文件中不止一个类,而且没有public类,文件名可与任一类名一致

43、如何将实现包装类和基本数据类型转化?

包装转基本1:包装类对象.xxxvalue(值);2直接赋值基本转包装1: Integer = newInteger(90);2直接赋值

44、类InputStream中方法read()的返回值是什么?读出的是什么?

Read()返回的是int,,读取的数据read(byte[])返回int 当前读取的字节数

45、如果一个类实现一个接口,可不可以不实现接口里定义的所有方法?

可以,但这个类只能是抽象类

46、构造方法和方法有什么区别?构造方法能不能被重载,能不能被重写?

构造方法和类名相同,构造方法没有返回类型,在对象创建时,被调用。构造方法可以重载,不能重写。

47、请列举switch( )括号中能接受的所有数据类型。

Char byteshort int String(现已实现)

48、GUI的布局管理器常见的有哪几种?

空布局边界布局管理器卡片布局管理器流布局管理器网格布局管理器

49、断点有什么作用?

断言是一个布尔表达式,当表达式为真继续执行,表达式为假,则抛出一个断言错误,断点是用来进行调试的时候方便程序停在某一处,以便寻找程序错误

主要用于测试。

50、String和StringBuffer的区别?

String具有长度不可变的特性,当String做添加、删除\修改时,会产生一个新对象StringBuffer是String类的一个改进版,是缓冲区的一个对象,当对该对象进行字符的添加、修改时,不会产生新对象。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值