Java数据类型与运算符
1、对于一门语言我们应该首先熟悉它的注释
- 单行注释://
- 多行注释:/* */
- 文档注释:/** */
2、分隔符
- 常见的分隔符有分号; 花括号{} 方括号[] 圆括号() 空格 圆点
- 在Java语言中每一条语句都用分号结束;
3、标识符的规则
- 由字母、数字、下划线、美元符号组成
- 数字不能开头
- 标识符不能包含空格
- Java9规定:不允许单独使用下划线作为标识符
- Java一共有53个关键字和保留字,都不能作为Java的标识符。
4、举例标识符
- abc_zxy √
- HelloWorld √
- abc$ √
- _abc √
- zxy#fy ×
- zxy1 √
- 1zxy ×
- zxy fy
- _ ×
- class ×
5加粗样式**、Java语言是一个强类型语言**
- 所有变量,必须先声明类型,再使用
- 指定类型的变量,只能装对应类型的数据
6、Java语言支持的类型分为两大类:基本数据类型和引用类型
- 基本数据类型包括八大数据类型(boolean,char,byte,short,int,long,float,double)
- 引用类型包括:数组,类,接口
7、Java的基本数据类型:
- 布尔类型:boolean(true, false)
- 数值类型:整形、浮点型
8、整形包括:byte,short,int,long(广义的整形包括char型)
- 对于long类型的字面值常量,必须在数字后面加L;
- 整形字面值常量有三种形式:十进制,八进制(以0开头),十六进制(以0X开头),二进制(以0B开头)
- 在java语言中,整形类型默认为int类型
- 浮点型包括:float和double两种。他们分别占有4个字节和8个字节;
- java语言的浮点数两种表示方式:十进制表示法和科学记数法
- java语言的浮点数默认是double形。如果要表示float型,必须在数字后面加f或F。
- java的三个特殊的浮点数值:正无穷大、负无穷大和非数(float和double的包装类型中,POSITIVE_INFINITY,NEGATIVE_INFINITY,NaN)
9、数值类型中使用下划线分割
- Java7引入了一个新功能:在数值中使用下划线,不管是整型数值,还是浮点型数值,都可以自由的使用下划线
- 通过使用下划线分隔,可以更直观的分辨数值中到底包含多少位。(例如:12_3.45_6,4_8965)
10、字符型
- 字符也占2个字节,字符型也可当成整型使用
- 字符型常量以单引号括起来
- 字符常量有三种表示形式(
- 1.单个字符,如:‘a’,'2’等。
- 2.通过转义字符,如:’\n’。
- 3.使用Unicode值,如:’\uffff’)
- 使用的时候要注意字符和字符串的区别,字符串是以双引号括起来
11、Java10开始支持使用var定义的局部变量:var相当于一个动态类型,使用var定义的局部变量的类型由编译器自动推断
- 定义变量时分配了什么类型的初始值,那该变量就是什么类型
- var简化了变量的声明语法,但是降低了程序的可读性。以下两种情况应该避免使用var声明变量
- (
- 变量的类型不容易判断,比如变量的初始值是由复杂的方法调用所得到的。
- 局部变量的使用范围很长
- )
12、自动类型转换
- 转换原则:表数范围小的类型会自动转换为表数范围大的类型
- 第一条链:byte->short->int->long->float->double
- 第二条链:char->int->long->float->double
- 注意:byte和short不能与char相互转换
- (
- 因为char的取值范围是从0到65535.byte和short中都包含负数,所以不能相互转换。
- )
- 任何数据类型和字符串相连(使用+来连接)都会转换为字符串类型
public class Test {
public static void main(String[] args){
String test = new String("apple");
byte a = -1;
System.out.println(test + a);
}
}
13、强制类型转换
- 有时我们又需要将表数范围大的数据类型转换为表数范围小的数据类型就需要使用强制类型转换
- 举例
public class Test {
public static void main(String[] args){
System.out.println((int)3.14f);
}
}
- 将变量转换为另一种类型
- 通常情况下,字符串不能直接转换成基本类型,如需转换使用对应包装器中的静态方法parseXxx(String s)
- 举例
public class Test {
public static void main(String[] args){
String test = "0";
int test1 = Integer.parseInt(test);
System.out.println(test1);
}
}
14、运算符
- 算术运算符
- 赋值运算符:+=,*=,/=等(支持多变量连续赋值)
- 位运算符:&、|、~、>>等(适用于整形数据)
- 比较运算符
- 逻辑运算符:&&、||、!、^
- 三目运算符:条件?true的取值:false的取值
- 优先级:尽量用小括号