C:基本数据类型分类(4类8种)
* 整数型
* byte 占一个字节 -128到127
* short 占两个字 -2^15~2^15-1
* int 占四个字节 -2^31~2^31-1
* long 占八个字节 -2^63~2^63-1
* 浮点型
* float 占四个字节 -3.403E38~3.403E38
* double 占八个字节-1.798E308~1.798E308
* 字符型
* char 占两个字节 0~65535
* 布尔型
* boolean
* boolean理论上是占八分之一个字节,因为一个开关就可以决定是true和false了,但是java中boolean类型没有明确指定他的大小
* A:案例演示
* 定义不同基本数据类型的变量,并输出
* 赋值时候注意float类型,long类型
* 整数给long赋值时,数据后面加L
* 小数给float赋值时,数据后面加f
案例:
class Demo1_DataType { //DataType数据类型
public static void main(String[] args) {
//整数类型
byte b = 10; //占一个字节,-128 到 127
short s = 20; //占两个字节
int i = 30; //占四个字节 整数默认的数据类型就是int类型
long x = 8888888888L; //占八个字节 如果long类型后面加L进行标识最好加大L,因为小l太像一了
System.out.println(b);
System.out.println(s);
System.out.println(i);
System.out.println(x);
//System.out.println(12345 + 54321l);
//浮点类型
float f = 12.3F; //占四个字节
double d = 33.4; //占八个字节 小数默认的数据类型是double,double类型后面也可以用D或d标识,但是一般不加
System.out.println(f);
System.out.println(d);
//字符类型
char c = 'a'; //占两个字节
System.out.println(c);
//布尔类型
boolean b1 = true;
boolean b2 = false;
System.out.println(b1);
System.out.println(b2);
}
}
* A:案例演示
* a:作用域问题
* 同一个区域不能使用相同的变量名
* b:初始化值问题
* 局部变量在使用之前必须赋值(我们现在所使用的变量都是局部变量,因为都是定义在方法中的)
* c
class Demo2_DataType {
public static void main(String[] args) {
/*int x = 10;
int x = 20;
System.out.println(x);
int y;
y = 10;
System.out.println(y);*/
int a,b,c,d,e;
a = 10;
b = 20;
c = 30;
d = 40;
e = 50;
System.out.println(a);
int x = 10;
int y = 20;
int z = 30;
}
}
* A:案例演示
* a:int + int
* b:byte + int
* B:Java中的默认转换规则
* 取值范围小的数据类型与取值范围大的数据类型进行运算,会先将小的数据类型提升为大的,再运算
* C:画图解释byte+int类型的问题
案例:
class Demo3_DataTypeConversion { //Conversion转换
public static void main(String[] args) {
//数据类型转换之隐式转换
/*int x = 3;
byte b = 4;
x = x + b;
System.out.println(x);*/
//数据类型转换之强制转换
/*int x = 3;
byte b = 4;
b = (byte)(x + b);
System.out.println(b);*/
//00000000 00000000 00000000 10000010 130的二进制
//10000010 -126补码
//00000001 -1求反码
//10000001 -126反码
//11111110 -126原码
byte b = (byte)(126 + 4);
System.out.println(b);
//00000000 00000000 00000001 00101100 300的二进制
//00101100
byte b2 = (byte)300;
System.out.println(b2);
}
}
| 欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) | 黑马程序员IT技术论坛 X3.2 |