每天学习面试题2018.6.28

即日起,尽自己最大的努力每天都学习(内容为黑马的面试考点),加油!!!

1.Java的基本数据类型有哪些?String是不是基本数据类型?

  • java有8种基本数据类型:byte int  short long double float boolean char
  • byte int short long 都属于整数类型
  • double float 属于浮点类型
  • boolean 为布尔类型
  • char 为字符型
  • String 不是基本数据类型,是引用类型,定义的是对象

2.一个“.java”源文件中是否可以包含多个类(内部类除外)?有什么限制?

可以有多个类,但只能有一个public的类,并且public类名必须与文件名相一致。
1.每个编译单元(文件)都只能有一个public类,这表示,每个编译单元都有单一的公共接口,用public类来表现。该接口可以按要求包含众多的支持包访问权限的类。如果在某个编译单元内有一个以上的public类,编译器就会给出错误信息。
2.public类的名称必须完全与含有该编译单元的文件名相同,包含大小写。如果不匹配,同样将得到编译错误。
3.虽然不是很常用,但编译单元内完全不带public类也是可能的。在这种情况下,可以随意对文件命名。

3.switch语句能否作用在byte上,能否作用在long上,能否作用在String上?

在switch(exp)中,exp只能是一个整数表达式或枚举常量,整数表达式可以是int基本类型或Integer包装类型,由于,byte、short、char都可以隐式转换为int,所以,这些类型以及这些类型的包装类型也是可以的。显然,long和String类型都不符合switch的语法规定,并且不能被隐式转换成int类型,所以不能作用于switch语句中。

4.short s1=1;s1=s1+1;有什么错?short s1=1;s1+=1;有什么错?

对于第一个,由于s1+1运算时会自动提升表达式的类型,所以结果是int型,再赋值给short型的s1时,编译器会报需要强制转换类型的错误。
对于第二个,可以正确编译。

猜你喜欢

转载自blog.csdn.net/weufengwangshi_/article/details/80839487