标识符与内存中的某个位置对应,Java 中标识符的规范如下:
必须由大小写字母、下划线、美元符号、数字组成首字母只能是大小写字母、下划线、美元符号变量的值可以改变,变量必须有具体的类型且类型不可改变。
常量一旦初始化后,不可改变。
文字量直接出现在程序中,编译器直接使用,而不会对其进行任何操作。例如 3.14 等。
数值型文字量:
数据类型文字量byte/short/int开头非 0 则为10进制,开头为 0x 或 0X 则为 16进制(如 0x1a),开头为 0 则为8进制(如 027)long结尾跟 l 或 L(例如 32L,0x2FL)float结尾跟 f 或 F (例如 2.324f)double结尾跟 d 或 D(例如 3.14D)booleantrue 或 false字符型文字量是单引号括起来的字符或转义序列,如 'A'、'\t' 等。Java 中的字符使用 16 位的 Unicode 字符编码方式。
char c1 = 'a'; char c2 = '\n';Java 中用 String 这个类来描述字符串类型,跟 C 语言中的字符数组有很大不同。
String 类是 JDK 标准类集合中的一个,不需要额外引入即可使用:
String str = "hello world";字符串文字量需要用双引号括起来,可以放转义字符(用 \ 反斜杠开头的字符)。多个字符串可以用 + 加号拼接:
Strint str = "hello" + "\nworld";Java 的运算符跟 C 语言保持一致,支持:
算术运算符:+ - * / % 及 ++、–赋值运算符:简单赋值运算符 = ,符合赋值运算符 +=、<<=、>>>=、&= 等关系运算符:算术比较 >、<= 等,类型比较运算 instanceof,相等关系运算符(可以比较数字、布尔、引用) ==、!=逻辑运算符:逻辑与 &&、逻辑或 ||、逻辑非 !条件运算符(表达式1 ? 表达式2 : 表达式3)类型转换包括两种情况:隐式转换(编译器完成)、显式转换(例如 (float)3.14)。
每个表达式都有类型,如果表达式的类型对于上下文不合适,可能导致:
隐式类型转换如果无法自动转换类型,则编译器会报错隐式类型转换有三种情况:
赋值转换:将表达式类型转为目标变量的类型方法调用转换:转为方法中目标参数的类型字符串转换:任何类型(包括 null 类型)都可以转为字符串类型。如果 + 操作的一个操作数是字符串类型时会自动将另一个操作数转为字符串转换时,可能导致的结果如下:
扩展转换:从短类型转为长类型,byte->char->short->int->long->float->double。注意:可能丢失精度,例如从 int 类型转为 float 类型窄化转换:从长类型转为段类型,可能丢失信息当表达式中有多个类型的数据时,编译器会自动将所有数据变为最高精度的那个类型。精度由高到低依次为:double->float->long->int。
如果操作数中不包含以上4种类型的变量,则会自动把所有变量转为 int 类型。
byte b = 1; short s = 22; int i = 3; long l = 666; float f = 3.14f; double d = 6.28; double rd = b * i + l * f / d; float rf = b * i * f / l; long rl = b * i + l / 8; int ri = b * i + 88; int ri2 = b + s;转载于:https://www.cnblogs.com/kika/p/10851529.html
相关资源:Java 基本数据类型及表达式