java零基础1--基本数据类型

数据类型的分类

第一种: 基本数据类型
1.整数型:byte,short,int,long(1字节,2字节,4字节,8字节)
2.浮点型:float,double(4字节,8字节)
3.布尔型:boolean(1字节)
4.字符型:char(2字节)

第二种:引用数据类型(除基本类型外全是)
比如我们后面要学的字符串String类,以及对象等都是引用数据类型。

需要掌握的基本数据类型的取值范围

byte的取值:[-128-127]
short的取值:[-32168-32767]
int的取值:[-2147483648-2147483647]
char的取值:[0-65535]

数据转换的规则

这里先抛出结论。后文中每一点都会一一讲解。
1.除Boolean不能转换,其余均可
2.没有超过byte,short,char的取值范围,可以直接赋值
3.小容量向大容量转换为自动转换
4.大容量转换为小容量成为强制转换,要加强转符
5.byte,short,char在混合运算时,会自动转换为int
6.多种数据类型混合运算时,会先各自转换为最大的参与,第五条中的三个数据类型除外。

整数型

1.输出不同的进制

0开头:输出八进制
0X开头:输出十六进制
0b开头:输出二进制

        int a=10;
		System.out.println(a);//十进制   10
		int b=010;//0开头八进制   8
		System.out.println(b);
		int c =0x10;//0x开头十六进制  16
		System.out.println(c);
		int d =0b10;//0b开头二进制  2
		System.out.println(d);

2.整形字面量

*注意:在任何情况下,整数型字面量都被当做“int”,若想通过long处理,要再字面量后加上L或l

        long g = 2147483647;//该数值被当做了int是int的最大值,可以通过
		long h =2147483648//编译报错,超过了int的最大值
		//解决
		long h =2147483648L;
		System.out.println(h);
		//小容量给大容量,自动类型转换

3.整形数据转换

强制类型转换符:(转换后的类型)+你想转换的变量

        int e = 100;
		System.out.println(e);//100
		//此处有类型转换,e是int型
		//b是long类型,int占4字节,long占8字节,小容量转换成了大容量,称为自动类型转换
		long f = e;
		System.out.println(f);//100
		
        long x = 100L; 
 		int y = x;//编译错误,long转换为int可能会有损失
		//大容量转换为小容量,若想编译通过,则需要使用强制类型转换符(类型),但是运行时可能会损失精度
		int y = (int)x;//正确
		
		byte n = (byte)300;//300被当做int,要编译通过要强制类型转换符
		System.out.println(n);//输出44,损失了部分精度
		byte m = 1;//大容量无法直接转为小容量,但编译通过,没有超过byte的取值范围,可以通过,short与char同理。

浮点型

1.默认的浮点型

注意:java 中浮点型数据默认被当做double,若想作为float,需在后面添加F或f

        double pi =3.14;//没有数据转换
		System.out.println(pi);
		//float x=3.14;//报错
		float x = 3.14f;//强制类型转换也可以!

2.浮点型转换为整形

浮点型转换为整形可能会产生精度的误差!

    //下面程序错误,double大容量无法直接赋值给小容量int
	int y=10.0/5;
	//修改
	int y =(int)10.0/5;
	System.out.println(y);//2

字符型

1.字符型的表示

java中用’ '单引号括起来的就是字符型,注意,单引号中只能带有一个字符,例如’ab’就是错误的

        char a ='中';//char中可以储存一个汉字
		System.out.println(a);//中
		char b ='a';
		System.out.println(b);
		char c ='0';
		System.out.println(c);

2.整数赋给字符型

        char x = 97;
		System.out.println(x);//当一个整数赋值给char时,会自动转换为字符,输出a
		char x1 = (char)65536;//65536超出了char的最大值,要强转

布尔型

1.布尔类型的值以及常用范围

1.在java中,boolean只有两个值true和false
2.在实际应用中,常用于逻辑判断(后面会讲)

2.布尔类型不能发生转换

        boolean xingbie =1;//报错,int无法转换为Boolean
        
		//正确
		boolean x = true;
		System.out.println(x);//true
		
		int y = (int)x;//报错,不兼容的类型,无法转换!
		char z = (char)x;//报错,不兼容的类型,无法转换!

混合运算

1.byte,char,short混合运算时先各自转化为int型

        char c1='a';
		byte b=1;
		System.out.println(c1+b);//98,运算结果为int型

2.常见错误

这里的b和c1同上文的代码

        short c =c1+b;报错,编译器不知道运算结果是多少,只知道是int型,所以即使没超过short的范围,为了确保程序运行。也会报错。
		//修改:
		short c =(short)(c1+b);
		System.out.println(c);//98

3.int与int的结果还是int

System.out.println(10/3);//3
  • 7
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值