Java语言第四章(Java的数据类型)

今天开始写Java数据类型的笔记,希望对大家能有所帮助。

Java数据类型有两种,基本数据类型和引用数据类型,这是掌握Java最基础也是最必不可少的知识,下面进行详细解释

基本数据类型

Java基本数据类型分为数值型和非数值型,其中数值型分为整数类型(byte,short,int,long)和浮点数类型(float,double),非数值型分为字符型(char)和布尔型(Boolean)。

引用数据类型

引用数据类型分为类(class),接口(interface),数组[]name

由于太过杂乱,博主用xmind来为各位整理一下。这样就清晰多啦!
在这里插入图片描述

##布尔数据类型
布尔类型是Java语言中很实用也是很好掌握的数据类型,它只有两个值,true和false,但是在Java语言中,是不允许数值类型和布尔类型互相转换的,这一点学过C语言的同学要注意了。

整数类型(byte,short,int,long)

整数类型是Java语言运用中极为常见的数据类型,具体内容看一下表格
在这里插入图片描述

数制类型

众所周知,我们在日常生活中常用的就是十进制法,那么Java常用的八进制和十六进制又该有什么样的条件呢,其实八进制数字都是以0开头的,而十六进制则是以0x开头的。大家在读代码的时候只要记住常见的这两种就可以了。

浮点数类型(float,double)

浮点数类型也是Java语言中我们经常用到的数据类型,用float类型时,我们要在后面加上大写或小写的f,例如123.45F,123.45f,来代表是一个float类型,如果数据没有后缀的话,就会默认为是double类型,double类型数值也可以在后面添加d后缀,当然,也可以不加。
这两种类型的数据在内存中所占的位数不同,float占32位,double占64位,所以float被称为单精度浮点型,double被称为双精度浮点型。特别需要注意的是,浮点数运算结果可能会溢出,但不会因此而导致异常,一旦下溢,则结果就会变成0,如果上溢的话,结果就会是正无穷大或者负无穷大(Infinity或-Infinity),并且浮点数计算会存在误差,大家一定要注意。

字符类型

字符类型上一篇文章已经讲到,Java语言用到的字符集叫Unicode字符集,它能表示人类迄今为止所有的字符集,如阿拉伯语和法语等。在Unicode字符集中,前128个字符都是一个字符一个字节,在128个字符之后,一个字符占两个字节,所以得出一个英文字符占一个字节,一个汉字占两个字节。Unicode字符集的取值范围是0~65535。声明字符时,不局限于英语,其他语言的字符都可以用,但是都要用单引号包裹。

常见的转义字符序列

在这里插入图片描述

下面给大家带来
查看汉字在Unicode字符集中的位置代码

char a1 = '缘';
System.out.println("汉字‘缘’在Unicode表中的顺序位置" + (int)a1);
//汉字‘缘’在Unicode表中的顺序位置32536
//下面是‘缘’字在Unicode表中后十个汉字
 char a1 = '缘';
System.out.println("汉字‘缘’在Unicode表中的顺序位置" + (int)a1);
for (int i = a1; i <=a1+ 10; i++) {
System.out.print((char)i +" ");}
//缘 缙 缚 缜 缝 缞 缟 缠 缡 缢 

代码可复制,喜欢的同学可以复制下来呦。

基本数据类型的转换

基本数据类型按容量(字节数)从“小”到“大”排列:
byte(一字节)<short,char(二字节)<int,float(四字节)<long ,double(八字节)
按照精度来排列:
Byte,short,char<int <long <float <double
前三种(byte,short,char)类型间不会互相转换,三者在计算时,首先会转换成int类型,我们在编码时,有时候会遇到要转换数据类型的情况,但是基本数据类型会根据精度进行判断,由低精度到高精度转换系统会自动解决,但是由高精度到低精度转换就需要我们进行强制类型转换,格式为:
强制类型转换格式: (类型名)要转换的值;

  int x = (int)12.34;

例子中的12.34要将值赋给一个int类型,但是它是一个默认为float类型,那就要将它强制转换一下,在它前面声明一个int来告诉系统这是一个int类型的数,这样就能完成强制类型的转换了。
在进行有高精度到低精度的强制类型转换时,会发生精度降低的情况,如以下

这里是引用float f = 0.1234f;
double do = 123.456789;
f = (float) d;
System.out.println(“d=” +d+” ”+”f=” +f);

输出结果为

d=123.456789 f=123.45679

所以由高精度到低精度的情况要慎用

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值