数据类型和标识符
标识符
■ java对各种变量,方法和类名等要素命名时使用的字符序列称为标识符
凡是可以自己取名字的地方都叫标识符,都遵守标识符的规则
■ java标识符命名规则
标识符由字母,下划线,美元符和数字组成
标识符不能由数字开头
Java标识符大小写敏感,长度无限
■ 约定俗成:java标识符的选取应注意见名之意且不能与java的关键字重名
关键字
■ java中一些赋予特殊的含义,用作专门用途的字符串成为关键字(keyword)
■ 所有java关键字都是小写英文
Java常量
■ java的常量值用字符串表示,区分为不同的数据类型
■ 常量一般用关键字final关键字来定义,一旦赋值就不能再修改,习惯上常量名要大写
变量
■ java变量是程序中最基本的单元,其三要素是变量类型,变量名,作用域
■ 每个变量都有特定的数据类型,在使用前必须对其声明
■ 从本质上讲,变量其实是内存中的一块小区域,使用变量名来访问这块区域
■ Java变量的分类
按被声明的位置划分为局部变量和成员变量
局部变量:方法或语句块内部必须对其进行显式赋值
成员变量:方法外部、类的内部可以不用显式赋值
注意:类的外面不能有变量的声明
按所属的数据类型划分为基本数据类型变量和引用数据类型变量
Java的数据类型
■ 基本数据类型:
字符型 char 存放中文,英文,转义字符用单引号存放,java字符采用unicode编码
布尔型 Boolean 取值为true 和false 适合逻辑运算,一般用于流程控制
整数类型 byte short int long 分别占 1,2,4,8个字节的存储空间。Java语言的整型常量默认为int型,声明long型常量后面要加上“L”
浮点类型 float double 分别占 4 ,8个字节的存储空间。Java浮点型常量默认为double类型,声明fioat类型的常量要加上f 或F
■引用数据类型 类,数组,接口
■ 基本数据类型之间的转换规则
● boolean类型的数据不可以转换为其他类型的数据
● 整型,字符型,浮点型的数据在混合运算中相互转换,其规则为:
容量小的自动转换为容量大的数据类型,数据类型按容量大小排序为
Byte,short,char—>int—>long—>float—>double
Byte,short,char三者之间不能相互转换,他们三者之间进行计算时要首先转换成int类型
容量大的数据类型在转换成容量小的数据类型时要加上强制转换符,但可能会损失精度
多种数据类型混合运算时,系统首先自动将数据类型转换成容量最大的那一种数据类型,然后在进行计算
Java运算符
■ 算术运算符 +, -, * ,/ ,%, ++ , --
注意:++(--)在前时先运算再取值,在后时先取值后运算
■ 关系运算符 > , < , >= , <=,==, !=,
■ 逻辑运算符 !, &, |, ^,&&, ||
&&(短路与)||(短路或) 跟& |的作用相同,但是效率要更高
■ 位运算符 &, |, ^, ~,>>, <<, >>>
■ 赋值运算符 =
■ 扩展赋值运算符 +=, -+, *=, /=
■ 字符串连接运算符 +
+两侧的操作数只要有一个是字符串(String)类型的,系统会自动将另一个操作数转换成字符串类型在进行计算
当进行打印时,无论何种类型的数据都将会转换成字符串类型再进行打印
表达式
■ 表达式是符合一定语法规则的运算符和操作数的序列
■ 表达式的运算应按照优先级从高到低的顺序进行
三目条件运算符
X ? Y : Z 其中x为boolean类型表达式,先计算x的值,若为true,则整个三目运算的结果为表达式y的值,否则结果为表达式z的值
●举例
int score = 80;int x =-1;
String type = score < 60 ? “不及格”:“及格”
int flag = x > 0 ? 1 : (x==0 ? 0: -1)
System.out.println(“type = ” + type);
System.out.println(“flag = ”+ flag);
输出结果为: type = 及格
flag = -1