Java面试题总汇(自用)-创新互联
- 1) JVM: java虚拟机,是java实现跨平台的最核心部分,能够运行java语言所开发的程序
- 2) JRE: java运行环境,是运行java程序所必须的环境的集合,包括JVM+java系统类库
- 3) JDK: java开发工具包,是java的核心,包括JRE+编译、运行等命令工具
2.java 的 8种基本数据类型是什么 ? ( 简述 java 的 8种基本数据类型 )
- 1) byte: 字节型,用于存储整数的, 占用1个字节,范围-128到127
- 2) short: 短整型,用于存储整数的, 占用2个字节,范围-32768到32767
- 3) int: 最常用的整型,用于存储整数的, 占用4个字节,范围-2^31到2^31-1
- 4) long: 长整型,用于存储较大的整数, 占用8个字节,范围-2^63到2^63-1
- 5) float: 单精度浮点数,用于存储小数的, 占用4个字节,不能表示精确的值
- 6) double: 双精度浮点数,最常用的存储小数的类型,占用8个字节,不能表示精确的值
- 7) boolean: 布尔型,存储true或false, 占用1个字节
- 8) char: 字符型, 采用Unicode字符编码格式,存储单个字符,占用2个字节
3.switch可以作用于哪些数据类型上 ?
- 答: byte,short,int,char,String,枚举,其余类型都不允许
4.重写 ( override )与重载 ( overload )的区别 :
- 1 ) 重写:发生在父子类中,方法名相同,参数列表相同
- ----用于在子类中修改父类中的方法
- 2 ) 重载:发生在同一类中,方法名相同,参数列表不同
- ----方法名相同的完全不同的方法
- ------------------------实例变量 和 静态变量 都属于 成员变量
- 1 ) 实例变量:是属于对象的,在创建对象时存储在内存堆中,
- 创建多少个对象,则实例变量就会在内存堆中存在多少份,
- 需要通过引用变量来访问
- 2 ) 静态变量:是属于类的,在类被加载时存储在内存方法区中,
- 无论创建多少个对象,静态变量在内存中都只有一份,
- 常常通过类名点来访问。
- 答 : 在java中,无论是基本类型还是引用类型,都是值传递
- 1 ) 对于基本类型而言,传递的是具体的值的副本--------------身份证复印件
- 2 ) 对于引用类型而言,传递的是具体的地址的副本-----------房子+钥匙
问:如上语句创建了几个对象?
答:2个
站在用户的角度思考问题,与客户深入沟通,找到新华网站设计与新华网站推广的解决方案,凭借多年的经验,让设计与互联网技术结合,创造个性化、用户体验好的作品,建站类型包括:网站制作、成都网站设计、企业官网、英文网站、手机端网站、网站推广、域名申请、网页空间、企业邮箱。业务覆盖新华地区。第一个:字面量"hello"
----java会创建一个String对象表示字面量"hello",并将其存入常量池中
第二个:new String( )
----new String()时会再创建一个字符串对象,并引用hello字符串内容
==可以作用于基本类型,也可以作用于引用类型:
若为基本类型,则是在比较值是否相等
若为引用类型,则是在比较地址值是否相等
equals()只能作用于引用类型:
Object类的equals()默认比较的还是==(即比较地址),但是没有参考意义,所以常常需要重写equals()来比较对象的属性值是否相同
9、String常用的方法有哪些?注意:String类重写了equals()来比较字符串内容是否相同
包装类也重写了equals()来比较值是否相同
length():获取字符串的长度(字符个数)
trim() :去掉两边的空白字符
toUpperCase()/toLowerCase():将英文部分给转换为全大写/全小写字母
startsWith()/endsWith():判断是否是以???开始/结束的
charAt():根据下标找字符
indexOf()/lastIndexOf():查找字符串第一次出现/最后一次出现的下标
substring():截取字符串
静态方法valueOf():将其它类型的数据转换为字符串
matches():验证匹配 (正则表达式)
replaceAll():替换 (正则表达式)
split():拆分 (正则表达式)
String:
由final修饰,所以不能被继承。底层封装的是final的字符数组,所以为不变对象。每次修改String引用变量的值,都是在创建新的对象。适合查看,但不适合频繁修改。在实际应用中对于字符串大部分情况下都是在查看,所以String的应用率最高。
StringBuilder:
底层封装的是字符数组,所做操作就是在该数组之上的,修改效率高。
非线程安全的,并发处理的,性能稍快-------------一般都是用StringBuilder
StringBuffer:
底层封装的是字符数组,所做操作就是在该数组之上的,修改效率高。
线程安全的,同步处理的,性能稍慢-----------------应用率不高
你是否还在寻找稳定的海外服务器提供商?创新互联www.cdcxhl.cn海外机房具备T级流量清洗系统配攻击溯源,准确流量调度确保服务器高可用性,企业级服务器适合批量采购,新人活动首月15元起,快前往官网查看详情吧
当前文章:Java面试题总汇(自用)-创新互联
分享地址:http://pwwzsj.com/article/dphcjd.html