1.请描述Java有哪些数据类型?
8种基本数据类型
数值型:整数类型:(bute, short, int, long) 浮点类型:(float, double)
字符型:char
布尔型:Boolean (true, false)
引用数据类型
类:(class)
接口:(interface)
数组
2. Java中标识符的命名规范规范有哪些?
标识符的命名规范:
- 只能包含数字、字母(大小写,Unicode字符)、下划线 _、美元符
$
- 不能以数字开头
- demo1、demo-1、$demo、_demo、1demo
3. Java的注释有哪几种?请书写一个规范的类文档注释
单行注释: //单行注释
多行注释 : /*
第一行注释
第二行注释
*/
文档注释 :/**
*@author:user
*/
public class Open {
public static void main (String[] args) {
}
4. 举例说明在什么情况下会发生自动类型转换?
小的类型转大的类型可以自动转换
例:int f = 1;
double h = f;
System.out.println(h);
5. short s1 = 1; s1 = s1 + 1;编译时有什么错?
对于 short s1 = 1; s1 = s1 + 1;由于 s1+1运算时会自动提升表达式的类型 ,所以s1 + 1 的结果是int类型需要强制转换 ,会报错
应该可以将 s1 = s1 + 1改成s1 = (short)(s1+1)不会报错
也可以将 s1 = s1 + 1改成 s1 += 1 就不会报错,因为+=具有隐式转换功能
6. String s = "java";String s2 = "java"; boolean flag = (s == s2); 请问 flag 的值是多少,请说明理由。
flag 的值是 true
因为 s和s2的结果都是直接量,而直接量的值存储在常量池中,常量池具 有唯一性,所对应的地址也相同,所以s==s2,flag值为true