1、
2、整数类型变量
用来存储整数数值,即没有小数部分的值
long类型赋值时后面加上L或者l。
public static void test1() {
long num1=2200000000l;//后面要加l或者L
long num2=102L;
long num3=111;
int num4=123;
System.out.println(num1);
}
2、浮点数类型变量
浮点数类型变量用来存储小数数值
浮点数类型分为两种:单精度浮点数(float)、双精度浮点数
(double),double型所表示的浮点数比float型更精确
为float类型赋值的后面要加上字母“F”(或“f”),赋的值未超出int型 的取值范围,则可以省略字母,而为double类型的变量赋值时,可以在所赋值的后面加上字符“D”(或“d”),也可不加
E表示以10为底的指数,E后面的“+”号和“-”号代表 正指数和负指数
e前e后必有数,e后必定为整数
3、字符类型变量
字符变量都会占用2个字节
A~Z:65至90
a~z:97至122
4、布尔类型变量
boolean表示,该类型的变 量只有两个值,即true和false
5、自动类型转换和强制类型转换
整数类型之间可以实现转换,如byte类型的数据可以赋值给short、int、long类型的变量,short、char类型的数据可以赋值给int、long类型的变量,int类型的数据可以赋值给long类型的变量
整数类型转换为float类型,如byte、char、short、int类型的数据可以赋值给float类型的变量
其它类型转换为double类型,如byte、char、short、int、long、float类型的数据可以赋值给double类型的变量
强制类型转换也叫显式类型转换,指的是两种数据类型之间的转换需要进行显式地声明
当两种类型彼此不兼容,或者目标类型取值范围小于源类型时,自动类型转换无法进行,这时就需要进行强制类型转
public class test {
public static void main(String[] args) {
//test1();
//test2();
//test3();
test4();
}
public static void test1() {
//自动类型转换
byte a = 3;
int b = a;
System.out.println(b);
//输出3
}
public static void test2() {
int a = 10000;
byte b = (byte) a;
System.out.println(b);
//输出16
}
public static void test3() {
int a = 298;
byte b = (byte) a;
System.out.println("b=" + b);//42
System.out.println("a=" + a);//298
//精度丢失
}
public static void test4() {
byte b1=3;
byte b2=4;
//byte b3=b1+b2;
//java: 不兼容的类型: 从int转换到byte可能会有损失
byte b3=(byte)(b1+b2);
System.out.println(b3);
}
}
6、作用域