【Java开发指南 | 第三篇】Java 空行、强制类型转换及基本数据类型

读者可订阅专栏:Java开发指南 |【CSDN@秋说】

在这里插入图片描述

文章目录

    • Java 空行
    • 强制类型转换
    • Java 基本数据类型
      • 内置数据类型
      • 引用类型

Java 空行

空白行或者有注释的行,Java 编译器都会忽略掉。

强制类型转换

当需要将一个数据类型转换为另一个数据类型时,而它们之间没有隐式转换的规则,就需要进行强制类型转换。例如,将一个 double 类型的变量转换为 int 类型,或者将一个 Object 类型的对象转换为特定的类类型。

进行强制类型转换的条件是:转换的数据类型兼容。例如,将一个 short 类型的变量转换为 int 类型是安全的,因为 int 类型的范围比 short 类型大。

强制类型转换的格式:(type)value,其中type是要强制类型转换后的数据类型

public class ice {public static void main(String[] args){int i1 = 123;byte b = (byte)i1;//强制类型转换为byteSystem.out.println("int强制类型转换为byte后的值等于"+b);}
}

在这里插入图片描述

Java 基本数据类型

1、内置数据类型
2、引用数据类型

内置数据类型

Java语言提供了八种基本类型,包括六种数字类型(四个整数型,两个浮点型),一种字符类型,还有一种布尔型。

byte: byte 数据类型是8位、有符号的,以二进制补码表示的整数;

short: short 数据类型是 16 位、有符号的以二进制补码表示的整数

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

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

float: float 数据类型是单精度、32位、符合IEEE 754标准的浮点数;

double: double 数据类型是双精度、64 位、符合 IEEE 754 标准的浮点数;

boolean: boolean数据类型表示一位的信息;它只有两个取值:true 和 false;

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

下表列出了 Java 各个类型的默认值:

数据类型默认值
byte0
short0
int0
long0L
float0.0f
double0.0d
char‘u0000’
String (or any object)null
booleanfalse

引用类型

在Java中,引用类型是一种数据类型,用于存储对对象的引用。与基本数据类型(如int、double等)不同,引用类型不直接存储数据的值,而是存储对存储在内存中的对象的引用或地址。

Name name = new Name("ice")

在这个例子中,“Name” 是一个类,“name” 是一个引用变量(类型为Name),它指向了一个新创建的 “Name” 类的对象,该对象的名称被设置为 “ice”。

引用类型的性质如下:

1、引用类型类似于指针:
在Java中,引用类型的变量类似于C/C++中的指针。它们不直接存储对象的值,而是存储对象的地址,即对象在内存中的位置。
这意味着,当我们创建一个引用类型的变量时,实际上是在栈内存中创建了一个变量,这个变量存储了对象在堆内存中的地址。

2、对象和数组都是引用类型:
在Java中,除了基本数据类型(如int、double等)之外,所有的数据类型都是引用类型。这包括类对象和数组。

3、引用类型的默认值是null:
在Java中,如果我们声明一个引用类型的变量但没有为其赋值,那么它的默认值将是null。这意味着它不指向任何对象,没有分配内存空间。

4、引用变量可以引用与之兼容的类型:
在Java中,一个引用变量可以引用与其兼容的类型的对象。这意味着,如果我们有一个指向某个类的引用变量,则可以用它来引用该类的任何子类的对象,因为子类对象也是父类对象。

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

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

相关文章

Cat6 屏蔽与非屏蔽:决定最佳选择

Cat6 电缆通常用于现代网络中的高速以太网数据传输。它们有两种类型:屏蔽 (STP) 和非屏蔽 (UTP)。这两种电缆之间的主要区别在于它们对电磁干扰 (EMI) 和串扰的抵抗力。 屏蔽 Cat6 电缆具有额外…

python代码打包exe文件

创建和激活虚拟环境 创建虚拟环境 首先让我们创建一个虚拟环境。你可以使用 venv 模块来创建一个虚拟环境。以下是创建虚拟环境的步骤: 打开终端(或命令提示符):进入你想要创建虚拟环境的目录。 运行以下命令来创建虚拟环境&a…

谷歌pixel6/7pro等手机WiFi不能上网,显示网络连接受限

近期在项目中遇到一个机型出现的问题,先对项目代码进行排查,发现别的设备都能正常运行,就开始来排查机型的问题,特意写出来方便后续查看,也方便其它开发者来自查。 设备机型:Pixel 6a 设备安卓版本:13 该方法无需root,只需要电脑设备安装adb(即Android Debug Bridge…

protobuf 编码原理

简介 Protocol Buffers(protobuf),它是 Google 开发的一种数据序列化协议(与 XML、JSON 类似)。 优点: 效率高:Protobuf 以二进制格式存储数据,比如 XML 和 JSON 等文本格式更紧凑…

C++这个编程语言以后会消失吗,就像以前70后学的编程语言?

随着AI自举编程的到来,绝大多数人类编程语言都会消失,只有 Scratch 这类启智语言作为儿童玩具保留下来。目前看来这一天不远了。 AI自举编程首先无需遵循这种可读文本变为二进制操作码的套路,它本身就是二进制的。而后,一旦智能制…

全局视角观看Python备忘录-英文版

全局视角观看Python备忘录-英文版

十分钟搞定4G转Uart网关:FlexLua低代码助力

在当今的物联网应用中,各种设备之间的连接变得日益重要,而4G转Uart网关设备的出现为设备之间的通信提供了简便的解决方案,推动了物联网技术的不断发展。 4G转Uart网关的通信原理相对简单清晰。它通过4G网络接收数据,然后将数据转换…

Nginx内存池相关源码剖析(六)外部资源释放和内存池销毁

ngx_destroy_pool函数 先执行回调函数释放所有的外部资源,然后free释放所有的大块内存和小块内存。 // 释放外部资源,销毁内存池 void ngx_destroy_pool(ngx_pool_t *pool) {ngx_pool_t *p, *n;ngx_pool_large_t *l;ngx_pool_cleanup_t *…

电脑录制视频软件推荐,帮你找到合适的那一款

随着科技的不断发展,录制视频已成为人们在学习、工作和生活中不可或缺的一部分。电脑录制视频软件作为实现这一目标的重要工具,已经越来越受到用户的青睐。本文将详细介绍三种常用的电脑录制视频软件,帮助用户更好地理解和使用这些工具&#…

高负压采样器

你的未来是你自己创造的,你的路是你自己选择的。走向成功,需要你的勇气和决心,成功不是得到多少,而是付出了多少。当你还在努力时,不要忘记身边的风景——鹤壁永成在你身边 一、高负压瓦斯采取器的用途: 高…

MS SQL Server partition by 函数实战 统计与输出

目录 需求 范例运行环境 表及视图样本设计 数据统计实现 小结 需求 假设有一课程项目,我们需要统计该项目中的课件数量,并提取课程信息,如课程标题名称、排序号等,如果使用 GROUP BY 聚合函数,则只能统计返回课件…

Java集合进阶——泛型

1.泛型 介绍&#xff1a; 泛型可以在编译阶段约束操作的数据类型&#xff0c;并进行检查。 应用场景&#xff1a; 如果在定义类、方法、接口的时候&#xff0c;如果类型不确定&#xff0c;就可以使用泛型。 格式&#xff1a; <数据类型> 注意&#xff1a; 泛型只支持引…

数字化社交的引擎:解析Facebook的影响力

Facebook&#xff0c;作为全球最大的社交媒体平台&#xff0c;已经深深地融入了我们的日常生活和文化中。它不仅仅是一个简单的社交工具&#xff0c;更是一个复杂的数字生态系统&#xff0c;影响着我们的社交模式、文化认同以及信息获取方式。在这篇文章中&#xff0c;我们将深…

【华为】Telnet实验配置

【华为】Telnet 实验配置 应用场景三种认证方式配置注意事项拓扑无认证&#xff08;None&#xff09;交换机配置顺序Telnet ServerTelnet Client测试 密码认证&#xff08;Password&#xff09;配置顺序Telnet ServerTelnet Client测试 AAA认证&#xff08;scheme&#xff09;配…

使用TomCat在idea写一个可以实现分页查询的前后端学生项目04.12

使用TomCat在idea写一个前后端学生项目04.12项目包-CSDN博客 在前端界面需要引入的插件&#xff1a; 在该网站下载需要的插件 Maven Repository: Search/Browse/Explore (mvnrepository.com)https://mvnrepository.com/ 分页查询&#xff1a; 在前端jsp页面使用c:forEach c:…

WordPress 多站点切换域名完整指南:详细步骤和注意事项

因为公司的需要&#xff0c;需要对 WordPress 多站点进行域名切换, 一开始我也找了相关的方案和教程&#xff0c;但是很可惜&#xff0c;国内这一块网上的资料几乎为0&#xff0c;所以我把实现的过程写了一篇文章分享出来&#xff0c;为后来的人铺路。 开始之前&#xff0c;先…

BCLinux8U6系统基线加固致无法su的问题分析

本文对BCLinux8U6系统进行基线加固致无法su的问题分析。 一、问题现象 对BCLinux8U6系统进行基线加固&#xff0c;su切换用户失败&#xff0c;报错信息如下&#xff1a; [ABCDlocalhost ~]$ su - 密码&#xff1a; su: 模块未知 二、问题分析 1、错误排查 出错前&#xf…

el-table使用show-summary合计,但只需要合并某一列

el-table使用show-summary合计&#xff0c;但只需要合并某一列 这里有两种方法&#xff0c;一种是网上的&#xff0c;我会引用他的链接给你们看。 一种是我自己看源码发现的 方法一 这个就是方法一的链接 点击我跳转方法一 方法二 不需要计算的列 去掉prop 然后用插槽显示即可…

设计模式代码实战-抽象工厂模式

1、问题描述 小明家新开了两个工厂用来生产家具&#xff0c;一个生产现代风格的沙发和椅子&#xff0c;一个生产古典风格的沙发和椅子&#xff0c;现在工厂收到了一笔订单&#xff0c;请你帮他设计一个系统&#xff0c;描述订单需要生产家具的信息。 输入试例&#xff1a; 3 …

MonkeyRunner在自动化测试里的应用场景

MonkeyRunner是Android提供的一个自动化测试工具&#xff0c;主要用于对Android设备或模拟器进行功能和压力测试。以下是一些MonkeyRunner在自动化测试中的应用场景及实例代码&#xff1a; 基本操作测试 点击屏幕上的特定位置或元素。 模拟滑动和手势操作。 发送按键事件。…