2021-07-22

2021年7月22日
又是一个好天气,对平时学习里面的数据类型部分细节阐述一下,以免日后忘记
说一个小知识,Java的print和println虽然都是表示输出,但是println表示的是输出后换行,print表示的是输出但不换行
1.关于char字符
转义字符,反斜杠
例如:’\n’代表换行符,如果插在中间
system.out.println(“Hello\nWorld”)
显示出来的是Hello
World
‘\t’为制表符,会显示出来空格
但是’\t’和普通键盘上的空格不同,他们的ASCII不同
(转义字符出现在特殊字符之前,会将特殊字符转换成普通字符)
2.将文字数字标点符号转成Unicode编码,因为jvm程序包里面包含了一个Unicode字符转化编码包native2ascii,可以在Dos窗口直接输入native2ascii,文件路径消失,即可输入字符,dos窗口会自动转换成Unicode编码。(但是如果在文本编译器里面输入Unicode编码/u0000,编译运行将是一个有空白的显示,被称为“空”,而/u0020编译运行显示的才是真正的空格)
3.数据类型-整数值
整数值类型目前先讨论byte short int long类型
*1.*Java当中的“整数型字面值”默认被当做int处理。如果想要变成long类型来处理的话,需要在“整数型字面值”后面加上“L”
2Java语言中的整数型字面值有三种表现形式
十进制:是一种缺省默认的方式
八进制:在编写时以0开始
十六进制:在编写时以0x开始
3自动类型转换机制
例如:long x=100;
system.out. println(x)
//100为int类型,x为long类型,此时将int型100转换成long类型的x,存在类型转换小容量转换成大容量,称“自动类型转换机制”
但例如:long y=2147483648;
system. out.println(y)
//此时编译器会报错,显示过大整数
4强制转换符
例如:long a=100L;
int b=a;
system. out.println(b)
//此时编译器会报错,大容量不能够转换成小容量。为什么报错呢,因为是纯粹的语法错误
如果想要强制转换呢,那怎么办,这时只需要加上强制转换符,例如
long a1=100L;
int b1=(int)a1;
system. out. println(b1)
//此时编译通过了,但是可能会损失精度
因为损失精度,又有一些比较有趣的方面
例如:long a2=2147483648L;
int b2=(int)a2;
此时输出就会有精度缺失

但是sun公司对byte类型有优待,是为了编写人的方便,例如byte c=50;
system. out. println©
此时输出结果为50
但:假如byte c1=128;
system. out. println(c1)
此时又会有精度缺失
所以得出结论:只要字面值不超过byte的取值范围即可,byte可以正常输出

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值