基本数据类型
数值型
- 整数型:byte(-128-127)、short(15次方)、int(31次方)、long(63次方)
- 浮点型:float(38次方)、double(308次方)
字符型
char:用单引号表示,Java 中使用16位的 Unicode 字符集作为编码方式,7
布尔型
- boolean:表示逻辑中的真和假,值只有 true / false。
引用数据类型
- 类 class
- 数组
- 接口 interface
- 标识符的命名规范:
- 只能包含数字、字母(大小写,Unicode字符)、下划线 _、美元符
$
- 不能以数字开头
- demo1、
demo-1、$demo、_demo、1demo
注释
注释有三种,一是文本注释,二是单行注释,三是多行注释。
/*****这是一个叫Hello的类******/ 这种就是文本注释
public class Hello{}}
自动数据类型转换
从小的转为大的就会自动转换 ,比如
byte a = 100;
int b = a
此时b作为int类型接收到byte类型a的值100,因为byte类型小于int类型,所以转换时类型自动转换。
short s1 = 1; s1 = s1 + 1;编译时有什么错?
首先s1是short类型的值,而在执行s1 = s1 + 1时,是自动默认为int类型,int类型的值小于short类型的,
也就是变为大的的值转为小的值,所以其不会自动转换,出现错误。
String s = "java";String s2 = "java"; boolean flag = (s == s2); 请问 flag 的值是多少,请说明理由。
flag的值为true ,因为s和s2的值都属于直接量,都存于常量池里面,在常量池里面不会出现重复的java值,只有一个,所以
对于java的地址2个是同一个地址,所以s ==s2是对的,输出结果自然是true。