- 1、本文档共16页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
java基础⾯试题 (有完整答案)
⼀、Java基础 部分
1、Java基本数据类型
有⼋种: 四种整数类型( yte、short、int、long),
两种浮点数类型(double、float)
⼀种字符类型char,⼀种布尔类型Boolean
记忆 :8位 :Byte (字节型) 16位 :short (短整型)、char (字符型)
32位 :int (整型)、float (单精度型/浮点型)
64位 :long (长整型)、double (双精度型) 最后⼀个:boolean(布尔类型)
2、基本数据类型和封装类的区别
原始类型是类,引⽤类型是对象
原始类型⼤⼩⽐较⽤== , 引⽤类型⼤⼩⽐较⽤equals
引⽤类型可以被序列化,原始类型不⾏。
在集合类中只能使⽤引⽤类型,不能使⽤原始类型
基本数据类型不⽤new,封装类需要new
基本数据参数传递是以值传递,封装类型是以地址传递的
3、String、StringBuffer、StringBuilder区别
String是字符串常量,StringBuffer、StringBuilder是字符串变量,
String创建的字符内容不可变(String底层char数组是final的),StringBuffer、StringBuilder的字符内容是可加长的
StringBuffer是线程安全的,StringBuilder线程不安全的,但是速度快(因为它不会为线程安全消耗性能)
补充:String为什么不可变
虽然String、StringBuffer和StringBuilder都是final类,它们⽣成的对象都是不可变的,⽽且它们内部也都是靠char数组实现的,但是不
同之处在于,String类中定义的char数组是final的,⽽StringBuffer和StringBuilder都是继承 ⾃A stractStringBuilder类,它们的内部
实现都是靠这个⽗类完成的,⽽这个⽗类中定义的char数组只是⼀个普通是私有变量,可以⽤append追加。因为A stractStringBuilder
实现了Appenda le接⼝。
4、运⾏时异常和⾮运⾏时异常区别
运⾏时异常是运⾏时报错:⽐如ClassCastException(类转换异常)、IndexOutOfBoundsException(数组越界)、
NullPointerException(空指针)、ArrayStoreException(数据存储异常,操作数组时类型不⼀致)、IO操作的BufferOverflowException
异常
⾮运⾏时异常是还未运⾏可见的错误,可以try、catch捕获异常
5、简述⼀下⾯向对象的特征,并举例说明你对⾯向对象的理解
⾯向对象的特征归结为封装继承多态,把现实世界的事物的属性、⾏为特征抽象出来放到⼀个容器⾥(类),⽐如⼈类,⼈的⾛、听、吃、说
等动作可以归结为类⾥的⽅法,但⼜是⼈类的共同点,⼈有⾝⾼、体重归结为类⾥的属性
封装:就是设计者把不愿意透露给使⽤者的那部分代码就是封装过的,通过修饰词private(权限最⼩)、pu lic(权限最⼤)
还⽤protected、default(属性前默认为该类型),这些才能起到限制类对象权限的作⽤.
继承:⼦类继承⽗类的过程,继承者可以拥有⽗类全部⽅法属性,
好处提⾼代码复⽤性,⼦类只需要写特有的功能或者字段可以把公共的代码 抽出到⽗类⾥⾯
多态:通过⽗类统⼀⼦类⽅法属性,然后通过调⽤,可以任意使⽤⼦类⽅法,优化代码量,原理是⼦类对⽗类⽅法进⾏重写
左边某个变量编译期是⼀个类型,右边运⾏期是另⼀个类型⽗类 变量名 = new ⼦类();条件是⼀个建⽴在继承关系中
6、正则表达式的⽤法
定义要规范的字符串-制定规则-调⽤正则⽅法
⽰例:String str = “dqwda16 165”; String 正则表达式=[a-z]* [0-9]+; system.out.println(str.matches(正则表达式)判断是否匹配)
7、Java 语⾔如何进⾏异常处理,关键字:throws、throw、try、catch、finally分别代表什么意义?finally代码是在return之后还是之
前执⾏?
throws抛出所有可能异常 throw是抛出具体异常类型 try是将会发⽣异常的语句括起来,异常处理 catch是有异常就执⾏其它代码
finally⽆论如何都会执⾏,如果
文档评论(0)