数据类型(面向对象)

news/2024/7/27 12:07:14/文章来源:https://blog.csdn.net/zlx116282/article/details/136682114

一.基本数据类型

Java中的基本数据类型包括八种,它们都是Java语言内置的,可以直接使用。这八种基本数据类型分别是:

  1. byte:字节类型,占用1个字节(8位),取值范围从-128到127。
  2. short:短整型,占用2个字节(16位),取值范围从-32768到32767。
  3. int:整型,占用4个字节(32位),取值范围从-2^31到2^31-1。
  4. long:长整型,占用8个字节(64位),取值范围从-2^63到2^63-1。
  5. float:单精度浮点型,占用4个字节(32位),用于表示浮点数。
  6. double:双精度浮点型,占用8个字节(64位),用于表示浮点数,比float类型精度更高。
  7. char:字符型,占用2个字节(16位),用于表示单个字符。
  8. boolean:布尔型,占用1个字节或更少的空间,用于表示逻辑值,只有true和false两种取值。

这些基本数据类型在Java中的使用非常广泛,它们是构建复杂数据结构和算法的基础。需要注意的是,Java的基本数据类型都是定长的,即每种类型都占用固定数量的字节空间。这与C/C++等语言中的基本数据类型有所不同,那些语言中的基本数据类型长度可能会依赖于具体的编译器或平台。、

二.引用数据类型

在Java中,除了基本数据类型之外,还存在引用数据类型。引用数据类型是对象类型,它们不是直接存储数据值,而是存储对对象的引用。Java中的引用数据类型主要包括以下几类:

  1. 类(Class):类是对象的模板或蓝图,它定义了对象的属性和方法。通过类可以创建对象,每个对象都是类的一个实例。

  2. 接口(Interface):接口是一种特殊的类型,它定义了一组方法的规范,但不包含方法的实现。类可以实现一个或多个接口,从而遵循特定的行为规范。

  3. 数组(Array):数组是一种用于存储相同类型元素的线性数据结构。Java中的数组可以是基本数据类型的数组,也可以是引用数据类型的数组(例如对象的数组或另一个数组的数组)。

当我们在Java中声明一个引用类型的变量时,实际上我们声明的是一个引用,而不是对象本身。这个引用指向在堆内存中创建的对象。引用类型的变量在声明时会被初始化为null,表示它不指向任何对象。

下面是一些引用数据类型的示例:

// 类的示例  
class MyClass {  int value;  MyClass(int value) {  this.value = value;  }  
}  // 接口的示例  
interface MyInterface {  void doSomething();  
}  // 数组的示例  
int[] intArray = new int[5]; // 基本数据类型的数组  
MyClass[] objArray = new MyClass[3]; // 引用数据类型的数组

当使用new关键字创建对象时,Java会在堆内存中为对象分配空间,并返回一个指向该对象的引用。这个引用可以被赋值给引用类型的变量。

MyClass myObject = new MyClass(10); // 创建MyClass的实例,并将引用赋值给myObject变量

在这个例子中,myObject是一个引用类型的变量,它指向在堆内存中创建的MyClass对象。通过这个引用,我们可以访问和修改对象的属性和方法。

需要注意的是,Java中的基本数据类型和引用数据类型在内存管理、赋值和比较等方面都有很大的不同。理解这些差异对于编写高效、健壮的Java程序是非常重要的。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.luyixian.cn/news_show_1006869.aspx

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

网络基础 - 预备知识(协议、网络协议、网络传输流程、地址管理)

文章目录 1. 认识 协议2. 了解 网络协议2.1 引入 协议分层2.2 OSI 七层模型 与 TCP/IP 四层模型 3. 网络传输 流程!!!3.1 网络传输流程图3.2 关于报头3.3 实例解释 传输过程(封装与解包) 4. 网络中的地址管理4.1 认识 …

Qt中使用SDL出现error: undefined reference to `qMain(int, char**)‘

在Qt中使用SDL可能会出现下面错误error: undefined reference to qMain(int, char**) 这是因为我们在头文件中包含了SDL.h,这里面将main进行了替换,想要调用SDL_main 我们main.cpp中取消这个宏定义即可 #undef main

基于Java的天然气工程业务管理系统(Vue.js+SpringBoot)

目录 一、摘要1.1 项目介绍1.2 项目录屏 二、功能模块三、使用角色3.1 施工人员3.2 管理员 四、数据库设计4.1 用户表4.2 分公司表4.3 角色表4.4 数据字典表4.5 工程项目表4.6 使用材料表4.7 使用材料领用表4.8 整体E-R图 五、系统展示六、核心代码6.1 查询工程项目6.2 工程物资…

Affinity Designer:超越想象,打造独一无二的设计作品!mac/win版

Affinity Designer是一款功能强大的图形设计软件,它拥有广泛的工具和功能,可以满足各种设计需求。无论是平面设计师、UI/UX设计师、插画师还是摄影师,Affinity Designer都能为他们提供所需的工具和支持。 Affinity Designer 软件获取 Affin…

1361:产生数(Produce)

【解题思路】 1、将数字拆分保存在数组中,而后转换每一位。 2、将数字变化规则保存在x、y两个一维数组中,x[i]到y[i]是一种转换规则。 3、从n的初始值开始搜索,对n做数字拆分,将拆分后的各位数字保存在一个数组中。针对数组中的每…

数字化工厂有哪些典型应用?

随着科技的飞速发展,数字化工厂已经成为现代制造业的重要趋势。它将先进的数字化技术应用于制造过程,实现了生产流程的智能化、自动化和高效化,为制造业带来了革命性的变革。本文将深入探讨数字化工厂的典型应用,并揭示其如何推动…

傅立叶之美:深入研究傅里叶分析背后的原理和数学

一、说明 T傅里叶级数及其伴随的推导是数学在现实世界中最迷人的应用之一。我一直主张通过理解数学来理解我们周围的世界。从使用线性代数设计神经网络,从混沌理论理解太阳系,到弦理论理解宇宙的基本组成部分,数学无处不在。 当然&#xff0c…

基于SSM技术的分布式销售平台设计与实现

目 录 摘 要 I Abstract II 1 绪论 1 1.1 课题研究背景与意义 1 1.2 国内外研究现状 1 1.2.1 国外研究现状 1 1.2.2 国内研究现状 2 1.3 本章小结 2 2 工程开发技术介绍 3 2.1 Web前端技术栈 3 2.1.1 HTML&CSS 3 2.1.2 jQuery 3 2.1.3 JSP 3 2.2 服务端开发技术栈 3 2.2.1…

【PHP+代码审计】PHP基础——运算符

🍬 博主介绍👨‍🎓 博主介绍:大家好,我是 hacker-routing ,很高兴认识大家~ ✨主攻领域:【渗透领域】【应急响应】 【Java、PHP】 【VulnHub靶场复现】【面试分析】 🎉点赞➕评论➕收…

springboot268码头船只货柜管理系统

码头船只出行和货柜管理系统的设计与实现 摘要 针对于码头船只货柜信息管理方面的不规范,容错率低,管理人员处理数据费工费时,采用新开发的码头船只货柜管理系统可以从根源上规范整个数据处理流程。 码头船只货柜管理系统能够实现货柜管理…

数据结构(十)——头插法和尾插法建立单链表

😀前言 在数据结构中,单链表是一种常见的数据结构,它由一个头节点和若干个数据节点组成。创建单链表的过程可以通过头插法或尾插法来实现。头插法是将新节点插入到链表的头部,而尾插法是将新节点插入到链表的尾部。本文将介绍头插…

Java笔记+复习代码

Java: 复习-代码 普通5个数字排序计算5位数字中,各位数字之和swtich/ if esle: 输入10名同学的成绩6门课成绩,平均分和最高分100内奇数之和九九乘法表举行程序大赛两个数整除圆的周长和面积 基本数据类型多线程集合框架Collection实现arraylist接口ArrayList泛型(自定义泛型)ha…

Transformer模型引领NLP革新之路

在不到4 年的时间里,Transformer 模型以其强大的性能和创新的思想,迅速在NLP 社区崭露头角,打破了过去30 年的记录。BERT、T5 和GPT 等模型现在已成为计算机视觉、语音识别、翻译、蛋白质测序、编码等各个领域中新应用的基础构件。因此&#…

Excel下拉自动填充

1、选中需要下拉填充的单元格,按下Ctrl,然后再往下拖动填充。 下拉结果: 2、选中两个连续的单元格,往下拖动填充,可以填充增加两数差。 下拉结果: 本文为学习笔记,所参考文章均已附上链接&#…

复合查询【MySQL】

文章目录 复合查询测试表 单表查询多表查询子查询单行子查询多行子查询IN 关键字ALL 关键字ANY 关键字 多列子查询 合并查询 复合查询 测试表 雇员信息表中包含三张表,分别是员工表(emp)、部门表(dept)和工资等级表&…

Docker_搭建跨服务器网络通讯(swarm 集群)

本文目录 一、如何搭建docker的跨服务器网络1、在主服务器上初始化docker swarm 集群2、其他服务器节点加入到创建好的集群中3、检验集群是否搭建成功4、创建overlay类型的docker网络 二、如何部署服务1、docker部署2、docker-compose部署 一、如何搭建docker的跨服务器网络 1…

蓝桥杯刷题7

目录 1. 字母数 2. 列名 3. 大乘积 4. 最大连通 5. 星期几 1. 字母数 public class Main {public static void main(String[] args) {int num 2023;while(true) {String mInteger.toString(num,16);if(m.matches("^[a-f]$")){System.out.println(num);break;}n…

SpringCloudGateway全局过滤器

文章目录 全局过滤器的作用自定义全局过滤器过滤器执行的顺序 上一篇 Gateway理论与实践 介绍的过滤器,网关提供了31种,但每一种过滤器的作用都是固定的。如果我们希望拦截请求,做自己的业务逻辑则没办法实现。 全局过滤器的作用 全局过滤器的…

【AcWing】蓝桥杯集训每日一题Day1|二分|差分|503.借教室(C++)

503. 借教室 503. 借教室 - AcWing题库难度:简单时/空限制:1s / 128MB总通过数:8052总尝试数:26311来源:NOIP2012提高组算法标签二分差分 题目内容 在大学期间,经常需要租借教室。 大到院系举办活动&…

二 centos 7.9 磁盘挂载

上一步 一 windso10 笔记本刷linux cent os7.9系统-CSDN博客 笔记本有两个盘,系统装在128G的系统盘上,现在把另外一个盘挂载出来使用 lsblk 发现磁盘已经分好了,直接挂载就好了,参考文章:Centos7.9 挂载硬盘_centos7.9挂载硬盘-CSDN博客 永久挂载 lsblk -f分区格式化 mkfs…