【自学Java】Java数据类型

news2024/9/19 18:06:19

Java数据类型

Java数据类型

数据类型在编程语言中占有重要的地位。Java 的数据类型分为基本数据类型和引用数据类型。

Java基本类型

Java 基本数据类型包括:booleanbytecharshortintlongfloatdouble

Java引用类型

Java 引用数据类型,它是以一种特殊的方式指向变量的实体,这种机制类似于 C++ 的指针。这类变量在声明的时候不会分配内存,必须要另外的开辟内存空间。

Java 的数据类型如下图所示:

请添加图片描述

Java数据类型转换

Java 的数据类型在定义的时候就已经确定了,所以不能够随意的转换 Java 的数据类型,但是 Java 允许用户有限度的做类型转换处理。数据类型转换方式可以分为 “自动类型转换” 和 “强制类型转换” 两种。

数据类型的自动转换

在 Java 中如果已经定义好了一个变量,在使用过程中如果需要另一种数据类型表示时,Java 会在下面的条件成立的时候会自动做数据类型转换。

  1. 转换前和转换后的数据类型是兼容的。
  2. 转后后的数据类型表示的范围比转换前的数据类型范围要大。

数据类型自动转换代码示例:

package com.haicoder.net.thread.typechange;

public class AutomaticChange {
    public static void main(String[] args) {
        System.out.println("嗨客网(www.haicoder.net)");
        int x = 30;
        float y = 22.19f;
        System.out.println("x/y= " + x / y); //直接将结果转换为 float 类型
        System.out.println("10 / 3.5 = " + (10 / 3.5));
        System.out.println("10 / 3 = " + (10 / 3));
    }
}

运行效果如下:

请添加图片描述

因为 float 的数据范围比 int 的数据范围大,所以用 float 的数据类型来接受结果。

数据类型强制转换

强制类型转换也叫显示类型转换。前提是两个数据类型要兼容的。他可以分为扩大转换和缩小转换。如果是缩小转换,那么会将数据的精度丢失。

强制类型转换代码如下:

package com.haicoder.net.thread.typechange;

public class CompulsoryChange {
    public static void main(String[] args) {
        System.out.println("嗨客网(www.haicoder.net)");

        float f = 30.3f;
        int x = (int)f;
        System.out.println("x = " + x);
        System.out.println("10 / 3 = " + (float)(10 / 3));
    }
}

运行效果如下:

请添加图片描述

强制类型转换需要在数据前将数据类型给出进行强制转换,从大范围到小范围的数据转换的时候,会将数据精确度丢失。

Java数据类型总结

数据类型是编程语言的一个基础,Java 语言的数据类型主要分为基本数据类型和引用类型。

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

node.js中fs\path\http模块的使用

🥳博 主:初映CY的前说(前端领域) 🌞个人信条:想要变成得到,中间还有做到! 🤘本文核心:Node.js的fs\path\http模块的使用,模块化开发概念 目录 一、node.js概念与作…

dubbo源码实践-serialize层的例子

目录 1 serialize层概述 2 序列化的简单例子 2.1 项目截图 2.2 三个类的源码 2.2.1 ABC是实体类 2.2.2 TestSeriarsWrite把ABC对象序列化到文件中 2.2.3 TestSeriarsRead从文件中读取ABC对象 2.2.4 运行结果 3 展示一个通过URL属性动态切换序列化实现类的例子 3.1 原理分…

为什么云并不总是足够的

虽然人们普遍认为云是未来,但云仍然有多种形式,理解每种形式的各自优点至少可以说是模糊的。 行业分析师有时会争论单租户与多租户部署的优缺点。虽然单租户部署在最近可能是某些组织的可行解决方案,但多租户部署为希望实现运营现代化的组织…

ansible(第一天)

第一章:认识ansible 一、ansible的安装与介绍 1.Ansible软件及公司 ansible是个什么东西呢?官方的title是“Ansible is Simple IT Automation”——简单的自动化IT工具。 这个工具的目标有这么几项:让我们自动化部署APP;自动化…

Maven总结 - 一、初探-项目构建

maven不仅仅是一款管理jar包的工具,更重要的是一款项目构建的工具 maven下载网站:https://maven.apache.org/ maven搜索网站:http://mvn.coderead.cn/ 一、项目构建 给你一套源代码,你怎么能跑起来? 不能把&#xff0…

日期的格式化与解析

格式化:日期 —> 字符串 解析: 字符串 —> 日期 这里指的是日期的显式格式化和解析 DATE_FORMAT(date,fmt) 按照字符串fmt格式化日期date值 TIME_FORMAT(time,fmt) 按照字符串fmt格式化时间time值 GET_FORMAT(date_type,format_type) 返回…

1、影像组学基础知识

一、What is Radiomics? 提出影像组学论文: **主要目的:**说明肿瘤在时间和空间上的异质性,可以用影像组学说明 时间上的异质性:同一个人同一个肿瘤在不同时间段的表现 空间上的异质性:同一肿瘤在不同个体上的表…

适合编程初学者的开源项目:小游戏2048(Vue版)

目标 为编程初学者打造入门学习项目,使用各种主流编程语言来实现。 2048游戏规则 一共16个单元格,初始时由2或者4构成。 1、手指向一个方向滑动,所有格子会向那个方向运动。 2、相同数字的两个格子,相遇时数字会相加。 3、每次…

分布式存储系统 Ceph 实战操作

文章目录一、概述二、cephadm 工具的使用1)cephadm 工具的介绍2)cephadm 安装3)cephadm 常用命令使用4)启用 ceph shell三、ceph 命令使用1)添加新节点2)使用 ceph 安装软件3)主机操作1、列出主…

Python绘制表白代码,又是一个表白神器(赠源码,文章内有效果展示)

前言 嗨呀,又是我,又给你们带来了表白的代码 之前发了那些 照片里面加文字的…还有烟花…还有跳动爱心…emm你们也可以去看看哦 今天带来的这个,也是很不错哦 只不过它出来的有些慢,我这里先给你们看看这个效果图吧 效果展示…

蓝桥集训(附加面试题)第九天

本文来源于算法面试题特训专栏,这里有大量专业性的算法题比如(动态规划21天,大厂特训28天等等) 欢迎大家一起学习。 链接:传送门 目录标题导读Java蓝桥集训面试题点击直接资料领取导读 在刚刚结束的 每日算法&面…

【大数据】CentOS7 安装 Hive(附有Hive基本使用-练习)

文章目录1.安装并配置Hive处理hive中文乱码2.Hive基本操作3.将本地文件导入Hive练习1练习21.安装并配置Hive 下载 利用Xshell中的xftp,将apache-hive导入到CentOS7的/opt/source文件夹下 解压 解压命令:tar -zxvf apache-hive-1.2.1-bin.tar.gz 重命名…

【人工智能】基于五笔字型规范和人工神经网络的简中汉字识别【一】

导语:看到一则旧闻,读了一篇论文,产生一些思考,完成一个模型 前言及项目简介 一、旧闻二、论文三、思考四、模型一、旧闻 大概去年十一月初吧,博主还在进行紧张的研考冲刺阶段。学校下达毕设选题任务,仓促间就要决定毕设内容,并无思路,不免有些迷茫:既担心选题过于简…

Unc0ver 8.0.0 更新:支持 iOS 14.6-14.8、A12-A13 iPhone 越狱

今日,越狱工具 unc0ver 发布了全新的 8.0.0 版本。现在支持 iOS 14.6-14.8 版本越狱,需要搭载 A12-A13 芯片的 iPhone 手机。 本次越狱支持的系统版本:iOS 14.6、iOS 14.7、iOS 14.7.1、iOS 14.8这4种版本,iOS 15.0以上系统请等待…

【VUE3】保姆级基础讲解(四): vue-router,vuex

目录 后端路由的映射方案 SPA:single page web application url的hash vue-router 基础使用 路由默认url 异步打包 动态路由匹配 notfound 嵌套路由 动态路由 添加路由 添加嵌套路由 删除路由 路由导航守卫 全局前置守卫beforeEach Vuex状态管理 状态…

互联网电商模式的迅速发展,消费返利模式你知道吗?

互联网电商模式的迅速发展,消费返利模式在市面上一直以来的引流能力相信大家都是有目共睹的,只不过因为近两到三年来的返利模式相关负面新闻太多,导致到了大众对于这种模式的一种不信任心理,但不可否认的是目前还是有很多消费者在…

Prompt-NLP新范式

作者:子苏 来源:投稿 编辑:学姐 Prompt综述论文:Pre-train, Prompt, and Predict: A Systematic Survey of Prompting Methods in Natural Language Processing 论文作者知乎-近代自然语言处理技术发展的“第四范式” NLP技术发展…

【回答问题】ChatGPT上线了!推荐40个以上比较好的目标检测模型

推荐40个以上比较好的目标检测模型? 目标检测是指在图像中找到并标识出特定目标的计算机视觉任务。近年来,机器学习技术的发展使得目标检测取得了长足进步。目前有许多优秀的目标检测模型,下面是推荐的40个以上的比较好的目标检测模型: R-…

事务到底是隔离的还是不隔离的?

我在第 3 篇文章和你讲事务隔离级别的时候提到过,如果是可重复读隔离级别,事务 T 启动的时候会创建一个视图 read-view,之后事务 T 执行期间,即使有其他事务修改了数据,事务 T 看到的仍然跟在启动时看到的一样。也就是说,一个在可重复读隔离级别下执行的事务,好像与世无…

尚医通-医院列表接口-等级接口-功能测试(二十二)

目录: (1)医院列表接口-医院等级接口 (2)医院列表接口-远程调用 (3)医院列表接口-功能测试 (1)医院列表接口-医院等级接口 由于我们的医院等级、省市区地址都是取的数据…