一、Java变量
变量:一种数据存储空间的表示
1.数据类型
基本数据类型
数据类型 | 默认值 | 位数 | 取值范围 | 封装器类 |
---|---|---|---|---|
byte(字节型) | 0 | 8 | -2^7 ~ 2^7-1 | Byte |
short(短整型) | 0 | 16 | -2^15 ~ 2^15-1 | Short |
int(整型) | 0 | 32 | -2^31 ~ 2^31-1 | Integer |
long(长整型) | 0.0l | 64 | -2^63 ~ 2^63-1 | Long |
float(单精度浮点型) | 0.0f | 32 | 1.4E-45~3.4E+38 , -3.4E+38~-1.4E-45 | Float |
double(双精度浮点型) | 0 | 64 | 4.9E-324~1.8E+308 , -1.8E+308~-4.9E-324 | Double |
char(字符型) | 空 | 16 | 0~2^16-1 | Character |
boolean(布尔型) | false | 8 | true,false | Boolean |
引用数据类型
- 类(class)
String(字符串)不是基本数据类型,是引用数据类型,它是Java提供的一个类,长度受限于内存。 - 接口(interface)
- 数组([])
数据类型转换
-
自动类型转换(小转大):
byte=>short=>int=>long=>float=>double -
强制类型转换(大转小):
精度丢失,需使用转换操作符
2.使用步骤
- 声明:数据类型 变量名称;
- 赋值:变量名称 = 值;
- 使用:运算&取用
- 复合:数据类型 变量名称 = 值;
3.命名规范
- 只能由字母,数字,下划线,$,¥组成
- 不能以数字开头,驼峰命名法
- 见名知意
二、Java常量
1.使用语法
- final 数据类型 变量名称 = 值;
- 只能赋值一次,通常是定义时即对其初始化
2.命名规范
- 不能以数字开头,全部字母大写
- 不同字符使用下划线分隔
三、运算符
1.算术运算符
- +,-,*,/,%
- ++,- -
a++,先取值后+1;++a,先+1后取值 - +=,-=,*=,/=
a=a+1 <=> a++/++a <=> a+=1
a=a+N <=> a+=N
2.赋值运算符
- =
从右向左执行,注意与 == 的区别
3.关系运算符
- <,<+,>,>=,==,!=
关系表达式的结果为 boolean
4.逻辑运算符
- &&
逻辑与/二元短路与
都为true为true,否则为false - ||
逻辑或/二元短路或
都为false为false,否则为true - !
逻辑非/前置一元运算符
!true=false/!false=true - 短路:逻辑表达式左侧表达式的结果能够确定最终结果时,右侧表达式不予执行
public class Test {
public static void main(String[] args){
int a = 3;
System.out.println(a>3 && a++>1);
//逻辑与左侧结果已为false,右侧表达式不予执行
System.out.println(a);
System.out.println(a>3 || a++>1);
//逻辑或左侧结果已为false,右侧表达式继续执行
System.out.println(a);
}
}
//输出结果:
false
3
true
4
5.三元运算符
- xxx val = !boolean ? V1 : V2;
当boolean值为true时,val=V1
当boolean值为false时,val=V2
public class Test {
public static void main(String[] args){
Scanner input = new Scanner(System.in);
int age = input.nextInt();
String rst = age>=18 ? "已成年" : "未成年";
System.out.println(rst);
//控制台输入20,输出结果:已成年
//控制台输入15,输出结果:未成年
}
}