首页 > 编程语言 >Java学习笔记8-数据类型

Java学习笔记8-数据类型

时间:2024-08-23 09:08:47浏览次数:7  
标签:类型转换 Java 数据类型 笔记 引用 类型 null

Java中主要有八种基本数据类型:byte、short、int、long、float、double、boolean、char。
各种数据类型作用:

1、byte:
8位、有符号的以二进制补码表示的整数。

min : -128(-2^7)。

max: 127(2^7-1)。

default: 0。

对应包装类:Byte。

2、short:
16位、有符号的以二进制补码表示的整数;

min : -32768(-2^15);

max: 32767(2^15 - 1);

default: 0;

对应包装类:Short。

3、int:
32位、有符号的以二进制补码表示的整数;

min : -2,147,483,648(-2^31);

max: 2,147,483,647(2^31 - 1);

default: 0;

对应包装类:Integer。

4、long:
64位、有符号的以二进制补码表示的整数;

min : -9,223,372,036,854,775,808(-2^63);

max: 9,223,372,036,854,775,807(2^63 -1);

default: 0;

对应的包装类:Long。

5、float:
单精度、32位、符合IEEE 754标准的浮点数;

float 在储存大型浮点数组的时候可节省内存空间;

浮点数不能用来表示精确的值,如货币;

default: 0.0f;

对应的包装类:Float。

6、double:
双精度、64位、符合IEEE 754标准的浮点数;

浮点数的默认类型为double类型;

double类型同样不能表示精确的值,如货币;

default: 0.0d;

对应的包装类:Double。

7、char:
char类型是一个单一的 16 位 Unicode 字符;

最小值是 \u0000(即为0);

最大值是 \uffff(即为65,535);

char 数据类型可以储存任何字符;

对应的包装类:Character。

8、boolean:
boolean数据类型表示一位的信息;

只有两个取值:true 和 false;

这种类型只作为一种标志来记录 true/false 情况;

对应的包装类:Boolean。
自动类型转换:

指不需要书写代码,由系统自动完成的类型转换。由于实际开发中这样的类型转换很多,所以 Java 语言在设计时,没有为该操作设计语法,而是由 JVM自动完成。

转换规则:从存储范围小的类型到存储范围大的类型。

具体规则为:byte→short(char)→int→long→float→double

也就是说 byte 类型的变量可以自动转换为 short 类型,示例代码:

byte b=10;

short sh=b;

这里在给sh赋值时,JVM首先将b的值转换成short类型然后再赋值给sh。

当然,在类型转换的时候也可以跳跃,就是byte也可以自动转换为int类型的。

注意问题:在整数之间进行类型转换的时候数值不会发生变化,但是当将整数类型特别是比较大的整数类型转换成小数类型的时候,由于存储精度的不同,可能会存在数据精度的损失。

Java引用数据类型
引用数据类型建立在基本数据类型的基础上,包括数组、类和接口。引用数据类型是由用户自定义,用来限制其他数据的类型。另外,Java 语言中不支持 C++ 中的指针类型、结构类型、联合类型和枚举类型。

引用类型还有一种特殊的 null 类型。所谓引用数据类型就是对一个对象的引用,对象包括实例和数组两种。实际上,引用类型变量就是一个指针,只是 Java 语言里不再使用指针这个说法。

空类型(null type)就是 null 值的类型,这种类型没有名称。因为 null 类型没有名称,所以不可能声明一个 null 类型的变量或者转换到 null 类型。

空引用(null)是 null 类型变量唯一的值。空引用(null)可以转换为任何引用类型。

在实际开发中,程序员可以忽略 null 类型,假定 null 只是引用类型的一个特殊直接量。

注意:空引用(null)只能被转换成引用类型,不能转换成基本类型,因此不要把一个 null 值赋给基本数据类型的变量。

标签:类型转换,Java,数据类型,笔记,引用,类型,null
From: https://www.cnblogs.com/mwx2024/p/18375142

相关文章

  • 浅谈Java MyBatis
    一、MyBatis的基本介绍  MyBatis本是apache的一个开源项目iBatis,2010年这个项目由apachesoftwarefoundation迁移到了googlecode,由谷歌托管,并且改名为MyBatis。2013年11月迁移到Github。    MyBatis是支持普通SQL查询,存储过程和高级映射的优秀持久层框架。......
  • java+vue计算机毕设美食(风情)展示系统【源码+开题+论文】
    本系统(程序+源码)带文档lw万字以上文末可获取一份本项目的java源码和数据库参考。系统程序文件列表开题报告内容研究背景随着全球化和互联网的飞速发展,人们对美食的追求已不再局限于地域限制,而是跨越国界,渴望体验不同文化背景下的风味佳肴。美食不仅是味蕾的享受,更是文化......
  • java+vue计算机毕设快递驿站管理系统【源码+开题+论文】
    本系统(程序+源码)带文档lw万字以上文末可获取一份本项目的java源码和数据库参考。系统程序文件列表开题报告内容研究背景随着电子商务的蓬勃发展,快递行业迎来了前所未有的增长高峰。每天数以亿计的包裹在各大城市间流转,快递驿站作为连接快递公司与用户的最后一公里服务节......
  • java+vue计算机毕设基于微信小程序英语在线考试系统【源码+开题+论文】
    本系统(程序+源码)带文档lw万字以上文末可获取一份本项目的java源码和数据库参考。系统程序文件列表开题报告内容研究背景随着移动互联网技术的飞速发展,智能手机已成为人们日常生活中不可或缺的一部分,尤其在教育领域,移动学习因其便捷性、灵活性和高效性正逐步成为学习的新......
  • 基于Springboot的智能菜谱推荐系统(有报告)。Javaee项目,springboot项目。
    演示视频:基于Springboot的智能菜谱推荐系统(有报告)。Javaee项目,springboot项目。资源下载:基于Springboot的智能菜谱推荐系统(有报告)。Javaee项目,springboot项目。项目介绍:采用M(model)V(view)C(controller)三层体系结构,通过Spring+SpringBoot+Mybatis+Vue+Maven来......
  • 基于ssm的社区文化宣传网站(有报告)。Javaee项目,ssm项目。
    演示视频:基于ssm的社区文化宣传网站(有报告)。Javaee项目,ssm项目。资源下载:基于ssm的社区文化宣传网站(有报告)。Javaee项目,ssm项目。项目介绍:采用M(model)V(view)C(controller)三层体系结构,通过Spring+SpringMvc+Mybatis+Jsp+Maven来实现。MySQL数据库作为系统......
  • Java学习笔记7-变量
    1.1变量是程序的基本组成单位不论是使用那种高级别语言,变量都是其程序的基本组成单位,比如1.2概念变量相当于内存中一个数据存储空间的表示,你可以把变量看做是一个房间的门牌号,通过门牌号我们可以找到房间,而通过变量名可以访问到变量(值)。1.3变量的使用步骤1)声明......
  • Java方法
    打印三角形packagecom.yanna.struct;publicclasstestDemo01{publicstaticvoidmain(String[]args){//打印五行的三角形for(inti=1;i<=5;i++){for(intj=5;j>=i;j--){System.out.print("");......
  • Java核心API——collection类的常见方法
    1、数组与集合之间的转换*集合转换为数组*Collection提供了一个方法toArray。可以将当前集合转换为一个数组Collection<String>array=newArrayList<>();array.add("1");array.add("2");array.add("3");array.add("......
  • 【15】Java字节码
    Java方法栈帧的组成:操作数栈+局部变量表操作数栈Java字节码是Java虚拟机所使用的的指令集。它与JVM基于栈的计算模型是分不开的。在解释执行过程中,每当为Java方法分配栈桢时,Java虚拟机往往需要开辟一块额外的空间作为操作数栈,来存放计算的操作数以及返回结果。执行......