【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,一经查实,立即删除!

相关文章

全新升级数智化招标采购平台V7.0亮点,助推管理提升

数智化招标采购平台V7.0是郑州信源凭借18年以来在招采领域累积的深厚行业经验和业务洞察,迭代升级的全新产品,平台融合云原生、微服务、大数据、人工智能、物联网等先进技术,构建业务中台、数据中台、AI中台三大核心基座,以采购为…

rabbitMQ如何保证消息有序性

单队列(Single Queue)与单消费者(Single Consumer): 如果只有一个生产者向单一队列发送消息,并且这个队列只连接了一个消费者,则RabbitMQ默认情况下就能够保证消息的有序性。因为RabbitMQ会按照…

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 等文本格式更紧凑…

Swift中的条件语句

在Swift中,条件语句用于根据条件的真假来执行不同的代码块。Swift提供了以下几种条件语句: if语句: if语句根据一个条件来执行代码块。如果条件为真,执行if代码块中的内容;如果条件为假,则跳过if代码块。 语…

同一个类中,对于@Transactional注解的方法调用,事务传播行为不会生效

Service public class MyService { Transactional public void methodA() { // some database operations methodB(); } Transactional(propagation Propagation.REQUIRES_NEW) public void methodB() { // some other database operations } }这里,即使…

基于机器学习的安全检测 网络入侵检测概述

1.概述 入侵检测是网络安全中的经典问题,入侵是指攻击者违反系统安全策略,试图破坏计 算资源的完整性、机密性或可用性的任何行为。由定义可见,入侵并非一种特定的入侵行 为,而是一类入侵行为的统称。常见的网络攻击方式包括拒绝服务攻击、伪装身份入侵等。 入侵检测系统(Intru…

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

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

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

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

如何使用spring-AI?

Spring AI 简介 1、概览 Spring 通过 Spring AI 项目正式启用了 AI(人工智能)生成提示功能。本文将带你了解如何在 Spring Boot 应用中集成生成式 AI,以及 Spring AI 如何与模型互动。 2、Spring AI 的主要概念 首先回顾一下一些关键…

Qt中的槽(slot)和机器视觉的算子(operator)

Qt中的槽(slot)和机器视觉中的算子(operator)都是方法或函数,它们都是在软件中用于执行特定任务的代码块。 在Qt中,槽是一段可以被信号触发的代码,用于响应特定的事件。槽是对象的一部分&#…

十分钟搞定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 *…

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

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

大文件上传分片合并java并发开发要点

前面介绍过大文件上传分片合并的nodejs并发示例,主要有mapLimit、Promise、pipeline、fs.createReadStream、fs.createWriteStream(注意,这个设置写入偏移量)等要点,可以实现将文件分片并发写入目标文件的。 java的话,不太熟悉去搜…

高负压采样器

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

Springboot的配置文件详解:从入门到精通(二)

本系列文章简介: Spring Boot是一种用于构建Java应用程序的开发框架,它提供了一种简化的方式来快速搭建和部署应用程序。在Spring Boot中,配置文件是一种重要的工具,用于配置应用程序的行为和属性。配置文件可以包含各种配置选项&…

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

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