栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

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

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

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

文章目录
  • 数据类型的分类
  • 需要掌握的基本数据类型的取值范围
  • 数据转换的规则
  • 整数型
    • 1.输出不同的进制
    • 2.整形字面量
    • 3.整形数据转换
  • 浮点型
    • 1.默认的浮点型
    • 2.浮点型转换为整形
  • 字符型
    • 1.字符型的表示
    • 2.整数赋给字符型
  • 布尔型
    • 1.布尔类型的值以及常用范围
    • 2.布尔类型不能发生转换
  • 混合运算
    • 1.byte,char,short混合运算时先各自转化为int型
    • 2.常见错误
    • 3.int与int的结果还是int

数据类型的分类

第一种: 基本数据类型
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 =2147483628//编译报错,超过了int的最大值
		//解决
		long h =2147483628L;
		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
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/389563.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号