JAVA技术--java技术面试题.doc

JAVA技术--java技术面试题.doc

ID:56183812

大小:198.00 KB

页数:32页

时间:2020-03-18

JAVA技术--java技术面试题.doc_第1页
JAVA技术--java技术面试题.doc_第2页
JAVA技术--java技术面试题.doc_第3页
JAVA技术--java技术面试题.doc_第4页
JAVA技术--java技术面试题.doc_第5页
资源描述:

《JAVA技术--java技术面试题.doc》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、1・Java基础部分基础部分的顺序:基木语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语法,集合的语法,io的语法,虚拟机方血的语法,其他97、一个M.javan文件中是否可以包括多个类(不是内部类)?有什么限制?可以有多个类,但只能有一个public的类,并且public的类名必须与文件名相一致。10、&和&&的区别。&和&&都可以用作逻辑与的运算符,表示逻辑与(“IK1),当运算符两边的表达式的结果都为trueU'J,整个运算结果才为true,否则,只要有一方为false,则结果为false。&&还具有短路的功能,即如果第一个表达式为

2、false,则不再计算第二个表达式,例如,对于if(str!=null&&!str.equals(<<,,»表达式,当str为null时,后面的表达式不会执行,所以不会出现NullPointerException如果将&&改为&,则会抛出NullPointerException异常。另外,&还可以用作位运算符,表示按位与操作。29、Java有没有goto?java屮的保留字,现在没有在java屮使用。108、在JAVA中,如何跳出当前的多重嵌套循环?丿I]break;return方法。Outer.42、switch是否能作用在byte是否能作用在long±,是

3、否能作用在String±?switch(exprl)屮,exprl是一个整数表达式或者枚举常量(更大字体),桀数表达式可以int基本类型或Integer包装类型,当然,byte,short,char都可以隐含转换为int,所以,这些类型也是可以的。因此传递给switch和case语句的参数应该是int、short>char或者byte0long,string都不能作用于swtich®25、shortsi=1;si=si+1;有什么错?shortsi=1;si+=1;有什么错?shortsl=l;sl=sl+l;(sl+1运算结果是int型,需要强制转换类型)s

4、hortsi=1;si+=1;(可以正确编译)55、char型变量中能不能存贮一个中文汉字?为什么?可以存储汉字,因为Java屮的字符采用的是unicode编码,chai•类型的变量就是专用于存储这种unicode编码的字符的,而unicode编码中包含了汉字。补充说明:unicode编码占「用两个字节,所以,char类型的变量也是占用两个字节。44、编程题:用最有效率的方法算出2乘以8等於几?2«32、设计一个一百亿的计算三112、使用final关键字修饰一个变量时,是引用不能变,还是引用的对象不能变?filKll使得被修饰的变量”不变“,但是由于对彖型变量

5、的木质是“引用",使得“不变"也有了两种含义:引用木身的不变,和引用指向的对彖不变。引用本身的不变:finalStringBuffer"二newS(ringBuffer(”immutablc");finalStringBufferb=newStringBuffer(nnotimmutable11);a=b;〃编译期错谋引用指向的对象不变:finalStringBuffer"二newS(ringBuffcr(”immutablc");a.append("broken!”);//编译通过可见,final只对引用的“值"也即它所指向的那个对象的内存地址)有效,它迫使

6、引用只能指向初始指向的那个对象,改变它的指向会导致编译期错误。至于它所指向的对象的变化,final是不负责的。这很类似==操作符:=二操作符只负责引用的“值询等,至于这个地址所指向的对象内容是否相等,二二操作符是不管的。理解final问题有很重要的含义。许多程序漏洞都基于此一・fimd只能保证引用永远指向I古I定对彖,不能保证那个对象的状态不变。在多线程的操作屮,一个对象会被多个线程共享或修改,一个线稈对对象无意识的修改可能会导致另一个使用此对象的线稈崩溃。一个错误的解决方法就是在此对象新建的时候把它声明为final,®图使得它“永远不变”。其实那是徙劳的。1

7、01、和equals方法究竟有什么区别?==操作符专门用来比较变量的值是否相等。比较好理解的一点是:inta=10;intb=10;则a==b将是true0但不好理解的地方是:Stringa=newStringCfoo'*);Stringb=newString(Hfoo");则a==b将返回falseo根据前一帖说过,对象变量其实是一个引用,它们的值是指向对象所在的内存地址,而不是对象木身。a和b部使用了new操作符,意味着将在内存屮产生两个内容为“foo”的字符串,既然是“两个",它们白然位于不同的内存地址。a和b的值其实是两个不同的内存地址的值,所以使用”

8、==”操作符,结果会是falseo诚然

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。