java变量
变量:存放数据
1.声明:int a; (数据类型 变量名;)
2.命名:只能包含数字、字母以及$,不能以数字开头
3.赋值:int a=78;
int a; a=78
基本数据类型
1.int 整型 4个字节 (大致范围-21亿 ~ 21亿)
整数直接量默认为int型,但不能超出范围,超范围则编译错误。
两整数相除,结果为小数的话,小数位被舍弃。
运算时超出范围,会发生溢出(结果不是意料中的),溢出是需要避免的。
2. long 长整型 8个字节
长整型声明直接量后需加L或l, long a = 89797L;
较大数的运算时,为避免溢出,建议在第一个数后加L
20亿(int)
long a = 1000000000*2*10L;
System.out.println(a); //200亿
溢出了
long b = 1000000000*3*10L;
System.out.println(b); //不是300亿
long c = 1000000000L*3*10;
System.out.println(c); //300亿
long time = System.currentTimeMillis()用于获取自1970.1.1零时到此时此刻的毫秒数
3 double 浮点型 8个字节
浮点数(小数)直接量默认为double
double型数据在参与运算时,有可能出现舍入误差。
4 char 字符型 2个字节
采用Unicode编码格式,一个字符对应一个码,表现形式是字符char,但实质上是int(0~65535)之间
字符必须放在''单引号中,只能有一个。 char c = 'd';
特殊字符需通过\转义
5 float 浮点型 4个字节
float f = 98.98f; 声明需在直接量后加f
6 short 短整型 2个字节 很少用
7 byte 字节型 在输入输出流中常见
8 boolean 布尔型 true和false
基本数据类型的转换
两种方式
1 自动类型转换:小类型转大类型(小容器的水倒在大容器里)
2 强制类型转换:大类型到小类型,可能会造成精度损失(大容器里的水倒在小容器里,水多就会洒出)
两点规则 :
整数直接量可以直接赋值给byte、short、char 但不能超出范围
byte、short、char类型数据参与运算时,先转换为int 再运算
Scanner用法,获取键盘输入值
Scanner scan = new Scanner(System.in);
int a = scan.nextInt();
String name = scan.next();
double d = scan.nextDouble();