javaSE 常用API
switch是否能作用在byte上,是否能作用在long上,是否能作用在String上
jdk1.5以前,switch只能作用在byte,short,char,int上
jdk1.5引入枚举类型,enum
jdk1.7引入字符串
长整形long却不可以
数组有没有length()方法,String有没有length()方法
数组没有length()方法,有length属性
String有length()方法
String、StringBuilder、StringBuffer的区别
都可以存储和操作字符串
String是只读字符串,就是说String引用的字符串内容是不能改变的。
StringBuffer和StringBuilder表示的字符串对象可以进行修改
StringBuilder是线程不安全的,StringBuffer是线程安全的,
StringBuilder的效率比StringBuffer效率高
String类的常用方法有哪些
indexof():返回指定字符的索引
charAt():返回指定索引处的字符
replace():字符串替换
trim():去除字符串的两端空格
split():字符串分割,返回分割后的字符串数组
getByties():返回字符串byte类型数组
length():返回字符串长度
toLowerCase():将字符串转换为小写字母
toUpperCase():将字符串转换为大写字母
substring():字符串截取
equals():比较字符串是否相等
java的基本数据类型都有哪些各占几个字节
四类 | 八种 | 字节数 | 数据表示范围 |
---|---|---|---|
整型 | byte | 1 | -128-127 |
short | 2 | -32768~32767 | |
int | 4 | -2147483648~2147483647 | |
long | 8 | -263~263-1 | |
浮点型 | float | 4 | -3.403E38~3.403E38 |
double | 8 | -1.798E308~1.798E308 | |
字符型 | char | 2 | 表示一个字符,如(‘a’,‘A’,‘0’,‘家’) |
boolean | 1 | 只有两个值 true 与 false |
String是基本数据类型吗
String是引用类型,底层用char数组实现的
short s1 = 1;s1=s1+1;有错吗?short s1 = 1;s1+=1又错吗?
前者不正确,后者正确;对于short s1=1;s1=+1;由于1是int类型,因此s1+1运算结果也是int型,需要强制转换类型才能赋值给short型。
而short s1 = 1;s1+=1可以正确编译,因为s1+=1;相当于s1 = (short)(s1+1);其中有隐含的强制类型转换。
int和Integer有什么区别
java是一个近乎纯洁的面向对象编程语言,但是为了编程的方便还是引入了基本数据类型,为了能够将这些基本数据类型当成对象操作,java为每一个数据类型都引入了对应的包装类型,int的包装类就是Integer,从java5开始引入了自动装箱/自动拆箱机制,使得二者可以相互转换
java为每个原始类型提供了包装类型
原始类型:boolean、char、byte、short、int、long、float、double
包装类型:Boolean、Character、Byte、Short、Integer、Long、Float、Double
下面Integer类型的数值比较输出的结果为?
如果整型字面量的值在-128-127之间,name不会new新的Integer对象,而是直接引用常量池中的Integer对象,所以上面的面试题f1==‘’f2的结果为true而f3==‘’f4的结果为false