面试题汇总–数字类型和运算符
1.命名规则:
- 驼峰式命名:方法 变量 schoolName
- 见名知意(使用有意义的英文单词)
- 类名首字母大写,变量名和方法名首字母小写
- 包(文件夹)
全部单词小写,公司域名反着写。 eg: com.huidao.www - 类或者接口
类:所有单词首字母大写 。 eg:SchoolName
接口:第一个字母为I,其余所有单词首字母大写。 eg:ISchoolName - 变量或者方法
首字母小写,其他字母大写,见名知意,满足驼峰命名法。
eg: main name shoolName - 常量
每个字母都大写,单词之间用_隔开。 eg :PI MAX_VALUE
2.short s1 = 1; s1 = s1 + 1;有什么错? short s1 = 1; s1 +=1;有什么错?
答:对于short s1=1;s1=s1+1来说,在s1+1运算时会自动提升表达式的类型为int,那么将int赋予给short类型的变量s1会出现类型转换错误。
对于short s1=1;s1+=1来说 +=是java语言规定的运算符,java编译器会对它进行特殊处理,因此可以正确编译。
3.定义float f=3.4;是否正确?
答:不正确。精度不准确,应该用强制类型转换,如下所示:float f=(float)3.4
4.char类型变量能不能储存一个中文的汉字,为什么?
答: char类型变量是用来储存Unicode编码的字符的,unicode字符集包含了汉字,所以char类型当然可以存储汉字的,还有一种特殊情况就是某个生僻字没有包含在unicode编码字符集中,那么就char类型就不能存储该生僻字。
5.与、或运算
- &&与运算:如果出现了false,后面的语句将不再执行
- ||或运算:如果出现了一个true,后面的语句将不再执行
6. 0开头默认为8进制数
7.(= =)与equals()的区别?
- 如果是基本类型比较,那么只能用==来比较,不能用 equals
- 对象间的比较使用equals ==比较的是对象中的地址 而equals比较的对象的内容(更准确的说法是根据子类覆写的equals来比较)