2020-10-19 数据类型

本文详细介绍了Java中的基本数据类型,包括整数型(byte, short, int, long)、浮点型(float, double)、布尔型和字符型,以及它们的字节长度、取值范围、表示方式和转换规则。通过实例演示了如何处理整数字面值的大小写、浮点型的精度问题以及不同数据类型之间的转换技巧。
摘要由CSDN通过智能技术生成

数据类型

基本数据类型

整数型

byte,short,int,long
1,2,4,8 字节
默认值0,0,0,0
1.java 语言中的整数型字面值被磨人当做int形来处理,要让整数型字面值被当做long形来处理,需要在整数型字面值后面加上1/L
2.整数型字面值有三种表示方式
十进制 缺省默认
八进制 以0开始
十六进制 以0x开始
练习:

public class Lianxi2
{
	public static void main(String[] args)
	{
		int a=10;
		int b=010;
		int c=0x10;
		System.out.println(a);
System.out.println(b);
System.out.println(c);
System.out.println(a+b+c);
long x=2552222222222255456L;//int类型转换成long类型,存在类型转换,int是小容量,long是大容量小容量可以转换成大容量,称为自动类型转换机制
System.out.println(x);//2552222222222255456字面值超出int类型范围,在字面值后面加L,字面值就被当做long类型来处理
}
public class Lianxi3
{
	public static void main(String[] args)
	{
		long k=4545458787878784L;
		int m=(int)k;///大容量转换成小容量,需要进行强制类型转换,强制类型转换需要加强制类型转换符
//加上强制类型转换符之后,编译通过,但是运行阶段,可能会损失精度
		System.out.println(m);
		byte a=11;//在实际编译时,编译通过,没有超出byte类型取值范围的话,该字面值可以直接赋值给byte类型的变量
		System.out.println(a);
		byte b=(byte)128;//超出byte 类型字面值范围,进行强制类型转换,输出补码-128
		System.out.println(b);
	}
	}

当一个证书字面值没有超出byte,short,char的取值范围,这个字面值可以直接赋值给byte,short,char类型的变量,这种机制sun允许了,目的是为了方便程序员编程

浮点型

float,double
4,8 字节
其实java程序中SUN提供了一整套庞大的类库,java程序员是基于这套基础的类库来进行开发的,所以要知道java的SE类库的字节码在哪,要知道java的SE类库的源码在哪。
在java 语言当中,左右的浮点型字面值都当做double类型来处理,若果要当做float类型来处理,则需要在字面值后面加f/F。
double 和float在计算机内部二进制存储的都是近似值

布尔型

boolean 1字节
在java语言当中,boolean只有两个值ture和false.

public class Lianxi5
{
	public static void main(String[] args){
	boolean loginSuccess=true;
	if(loginSuccess){
	System.out.println("我是你大爷");
	}else{
	System.out.println("我不是你大爷");
	}

	}
}

字符型

char 2字节
一字节等于八比特

各数据类型的取值范围

符号位0表示正数,1表示负数
byte类型 1字节 -128到127
short 2 -32768-32767
int 4
long 8
float 4
double 8
char 2 0-65535
boolean 1
char可以表示更大的正整数

字符编码:

java语言采用unicode编码方式,标识符可以用中文,在实际开发当中,使用UTF-8编码方式较多。
转义字符:\是转义字符,转义字符出现在特殊字符之前会将特殊字符转换成普通字符。
\n 换行符
println表示输出之后换行,print表示输出但是不换行
\t是制表符

public class Lianxi1
{

	public static void main(String[] args){
		char c1='n';
				System.out.println(c1);
		char c='\n';
   System.out.print("nida");
   System.out.println("ye");
   char x='t';
   System.out.println(x);
   char y='\t';
   System.out.print("A");
System.out.print(y);
System.out.println("B");
char k='\\';//输出一个反斜杠
//char k='k';
//反斜杠将后面的单引号字符转义成不具备特殊含义的普通单引号字符
System.out.println(k);
char a='\'';//输出一个单引号
System.out.println(a);
System.out.println("\"HelloWorld\"");
char m='中';
System.out.println(m);
	}

}

数据类型转换

关于基本数据类型之间的互相转换,转换规则
1.八种基本数据类型当中除布尔类型之外剩下的7中类型之间都可以互相转换;
2.小容量向大容量转换,称为自动类型转换,容量从小到大顺序:
byte<short<int<long<float<double ,char<
注:任何浮点类型不管占用多少字节,都比整数型容量大。char和short表示的种类数量相同,但是char可以获取的更大的正整数。
3.大容量转换成小容量,叫做强制类型转换,需要加强制类型转换符,程序才能编译通过,但是在运行阶段可能会损失精度,所以谨慎使用;
4.当整数字面值没有产出byte,short,char的取值范围,可以直接赋值给byte,short,char类型的变量;
5.byte,short,char混合运算的时候,各自先转换成int类型再做运算;
6.多种数据类型混合运算,先转成容量最大的那种类型再做运算。

1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值