当前位置: 首页 > article >正文

零基础Java第二期:数据类型与变量

目录一、字面变量二、数据类型三、变量3.1. 语法格式3.2. 整型变量1定义的方式​编辑2长整型变量和短整型变量3字节型变量3.3. 浮点型变量1双精度浮点型2单精度浮点数3.4. 字符型变量3.5. 布尔型变量四、类型转换4.1. 自动类型转换(隐式)4.2. 强制类型转换显示4.3. 类型提升1int与long之间int会被提升为long2byte与byte之间的运算五、字符串类型5.1. int转换成String5.2. String转换成int一、字面变量在上一篇博客里面向大家演示了如何用Java运行HelloWorld程序在屏幕上输出“Hello World”此时“Hello World”就是字面常量。常量即程序运行期间固定不变的量称为常量。字面常量的分类1.字符常量由“”括起来的单个字符2.字符串类型由“”括起来的多个字符3.整型常量就是整数没有小数点4.浮点数也就是小数5.布尔常量只有true和false两种二、数据类型字符串、整形、浮点型、字符型以及布尔型在Java中都称为数据类型。在Java中数据类型主要分为两类基本数据类型和引用数据类型。基本数据类型有四类八种。四类整型、浮点型、字符型以及布尔型。八种数据类型关键字内存占用范围字节型byte1字节-128——127短整型short2字节-32768——32767整型int4字节-——-1长整型long8字节-——-1单精度浮点数float4字节-——-1双精度浮点数double8字节-——-1字符型char2字节0 ~ 65535布尔型boolen没有明确规定true和false从上面列表中可以看出数据类型对应的范围规律——-1注意不论是在16位系统还是32位系统int都占用4个字节long都占8个字节整形和浮点型都是带有符号的整型默认为int型浮点型默认为double字符串属于引用类型。三、变量下面将重点介绍本篇博客的压轴戏。在生活中有很多经常变化的量如年龄、温度、速度等。同样在程序中除了有始终不变的常量外有些内容可能会经常改变对于这些经常改变的内容在Java程序中称为变量。3.1. 语法格式定义变量的语法格式为数据类型 变量名 初始值运行结果如下注意在一行可以定义多个相同类型的变量3.2. 整型变量1定义的方式方式1在定义时给出初始值方式2定义时未初始化但使用前初始化如果使用前未初始化则会产生报错int型变量所能表示的范围小伙伴们一定要注意变量初始化时切记赋值不可超过数据类型的范围就如同将一大碗米饭倒入一个小碗中肯定会溢出。2长整型变量和短整型变量长整型变量和短整型变量与整型变量的初始化并无太大差异。为了区分int和long、short类型一般建议long类型变量的初始值之后加L或者l一般推荐加L。3字节型变量byte、short、int、long都可以定义整形变量那为什么要给出4中不同类型呢如同我们去买衣服时必须找到合适的尺码。3.3. 浮点型变量1双精度浮点型在 Java 中, int 除以 int 的值仍然是 int(会直接舍弃小数部分)。如果想得到 0.5, 需要使用 double 类型计算。double 类型的内存布局遵守 IEEE 754 标准(和C语言一样), 尝试使用有限的内存空间表示可能无限的小数, 势 必会存在一定的精度误差因此浮点数是个近似值并不是精确值。2单精度浮点数float 类型在 Java 中占四个字节, 同样遵守 IEEE 754 标准. 由于表示的数据精度范围较小, 一般在工程上用到浮点数 都优先考虑 double, 不太推荐使用 float. float的包装类型为Float。3.4. 字符型变量Java 中使用 单引号 单个字母 的形式表示字符字面值。Java中的字符可以存放整形。3.5. 布尔型变量布尔型变量用来判断真假。boolean 类型的变量只有两种取值, true 表示真, false 表示假。. Java 的 boolean 类型和 int 不能相互转换, 不存在 1 表示 true, 0 表示 false 这样的用法这点与C语言不同。Java虚拟机规范中并没有明确规定boolean占几个字节也没有专门用来处理boolean的字节码指令在 Oracle公司的虚拟机实现中boolean占1个字节。四、类型转换Java 作为一个强类型编程语言, 当不同类型之间的变量相互赋值的时候, 会有教严格的校验。当参与运算数据类型不一致时就会进行类型转换。Java中类型转换主要分为两类自动类型转换(隐 式) 和 强制类型转换(显式)。4.1. 自动类型转换(隐式)自动类型转换即代码不需要经过任何处理在代码编译时编译器会自动进行处理。特点数据范围小的转为数 据范围大的时会自动进行。此时编译器上显示的错误为4.2. 强制类型转换显示强制类型转换当进行操作时代码需要经过一定的格式处理不能自动完成。特点数据范围大的到数据范围小的。注意事项不同数字类型的变量之间赋值, 表示范围更小的类型能隐式转换成范围较大的类型如果需要把范围大的类型赋值给范围小的, 需要强制类型转换, 但是可能精度丢失将一个字面值常量进行赋值的时候, Java 会自动针对数字范围进行检查强制类型转换不一定能成功不相干的类型不能互相转换4.3. 类型提升不同类型的数据之间相互运算时数据类型小的会被提升到数据类型大的。1int与long之间int会被提升为long2byte与byte之间的运算、byte 和 byte 都是相同类型, 但是为什么会出现编译报错呢这是因为虽然 a 和 b 都是 byte, 但是计算 a b 会先将 a 和 b 都提升成 int, 再进行计算, 得到的结果也是 int, 这是赋给 c, 就会出现上述错误。正确的写法应为总结不同类型的数据混合运算, 范围小的会提升成范围大的。对于 short, byte 这种比 4 个字节小的类型, 会先提升成 4 个字节的 int , 再运算。五、字符串类型在Java中使用String类定义字符串类型比如在有些情况下需要将字符串和整形数字之间进行转换5.1. int转换成String5.2. String转换成int

相关文章:

零基础Java第二期:数据类型与变量

目录 一、字面变量 二、数据类型 三、变量 3.1. 语法格式 3.2. 整型变量 (1)定义的方式 ​编辑(2)长整型变量和短整型变量 (3)字节型变量 3.3. 浮点型变量 (1)双精度浮点型…...

【Java实战】Java集成AD域账号登录

目的: JAVA集成域账号登录的实现方案,通过LDAPUtil类实现对AD域的身份验证。系统采用双域服务器配置,支持主备切换。 关键点包括: 1) LDAP连接参数配置; 2) 区分管理员账号和普通域账号的双重验证机制,…...

数据的存储(原反补码/大小端存储/截断溢出/隐式类型转换/浮点数存储)

目录 原码、反码、补码 大端存储和小端存储 截断 溢出 隐式类型转换(整形提升) 数据的输出 浮点数在内存中的存储 原码、反码、补码 计算机中的有符号整数有三种二进制表示方法 , 即原码、反码和补码。 三种表示方法均有符号位和数值位两部分,符号…...

记录错误笔记

25.0105现场用一个类来保存sncode和一个code列表public class MesClass{public string SnCode "";public List<string> MesCodeList new List<string>();}再放在一个mesclass类的列表里发现new一个新mesclass 后列表里之前的mesclass类元素的mescodeli…...

TrollRestore开发者指南:如何贡献代码与扩展功能

TrollRestore开发者指南&#xff1a;如何贡献代码与扩展功能 【免费下载链接】TrollRestore TrollStore installer for iOS 17.0 项目地址: https://gitcode.com/gh_mirrors/tr/TrollRestore TrollRestore是一款针对iOS 17.0的TrollStore安装工具&#xff0c;它利用系统…...

赫蹏JavaScript增强脚本终极解析:自动化中西文混排的实现原理与实战指南

赫蹏JavaScript增强脚本终极解析&#xff1a;自动化中西文混排的实现原理与实战指南 【免费下载链接】heti 赫蹏&#xff08;ht&#xff09;是专为中文内容展示设计的排版样式增强。它基于通行的中文排版规范而来&#xff0c;可以为网站的读者带来更好的文章阅读体验。 项目地…...

Rickshaw数据可视化终极指南:避免10个常见陷阱的完整解决方案

Rickshaw数据可视化终极指南&#xff1a;避免10个常见陷阱的完整解决方案 【免费下载链接】rickshaw JavaScript toolkit for creating interactive real-time graphs 项目地址: https://gitcode.com/gh_mirrors/ri/rickshaw Rickshaw是一款功能强大的JavaScript工具包…...

EOPL3 项目概览:探索 9 大章节的编程语言理论与实践

EOPL3 项目概览&#xff1a;探索 9 大章节的编程语言理论与实践 【免费下载链接】eopl3 Code from the book "Essentials of Programming Languages", 3rd ed. by Friedman and Wand 项目地址: https://gitcode.com/gh_mirrors/eo/eopl3 EOPL3&#xff08;Ess…...

Symfony/Translation错误监控终极指南:Sentry+Slack告警完整配置教程

Symfony/Translation错误监控终极指南&#xff1a;SentrySlack告警完整配置教程 【免费下载链接】translation symfony/translation: 是一个用于 PHP 的翻译库&#xff0c;支持多种消息源和翻译格式&#xff0c;可以用于构建多语言的 Web 应用程序和 API。 项目地址: https:/…...

RT-Thread嵌入式操作系统代码风格指南

RT-Thread嵌入式操作系统代码风格指南 【免费下载链接】rt-thread RT-Thread is an open source IoT real-time operating system (RTOS). 项目地址: https://gitcode.com/gh_mirrors/rt/rt-thread 前言 在嵌入式系统开发中&#xff0c;良好的代码风格对于项目的可维护…...

RT-Thread快速入门指南:从仿真环境到LED跑马灯实战

RT-Thread快速入门指南&#xff1a;从仿真环境到LED跑马灯实战 【免费下载链接】rt-thread RT-Thread is an open source IoT real-time operating system (RTOS). 项目地址: https://gitcode.com/gh_mirrors/rt/rt-thread 嵌入式操作系统与仿真环境 嵌入式操作系统因其…...

EOPL3 类型检查器实现:从静态类型到类型推断的完整指南

EOPL3 类型检查器实现&#xff1a;从静态类型到类型推断的完整指南 【免费下载链接】eopl3 Code from the book "Essentials of Programming Languages", 3rd ed. by Friedman and Wand 项目地址: https://gitcode.com/gh_mirrors/eo/eopl3 《Essentials of P…...

【C++】模板(函数、类模板/非类型模板参数/特化)

目录 1、函数模板 基本用法 函数模板的实现原理 函数模板的实例化 模板参数的匹配原则 2、类模板 类模板的定义格式 类模板的实例化 3、非类型模板参数 4、模板的特化 函数模板特化 类模板特化 5、模板分离编译 1、函数模板 基本用法 template < typename T &…...

做操作系统的工具和镜像分享

系统盘有关镜像下载 Windows Server Windows Server 2025 2025年4月版 官方IOS下载 | S3下载站 Windows10 下载 Windows 10 Windows操作系统 纯净版系统_Win10纯净版64位_纯净版XP系统-爱纯净官网 CentOS Linux Download - The CentOS Project 优启通PE盘制作 如何使用U…...

CICFlowmeter深度解析:80+维流量特征的含义与应用场景

CICFlowmeter深度解析&#xff1a;80维流量特征的含义与应用场景 在当今这个数据驱动的时代&#xff0c;网络流量早已不再是简单的字节流&#xff0c;而是承载着业务逻辑、用户行为乃至安全威胁的复杂信号。对于安全研究员、网络性能优化专家以及任何需要洞察网络内部运作的专业…...

PHP反序列化漏洞的另类利用:从0CTF真题看where重复触发替换的妙用

PHP反序列化漏洞的另类利用&#xff1a;从0CTF真题看where重复触发替换的妙用 最近在复盘一些经典的CTF题目时&#xff0c;我又重新审视了那道来自0CTF 2016的“piapiapia”。这道题之所以让人印象深刻&#xff0c;不仅仅是因为它巧妙地结合了序列化与反序列化&#xff0c;更在…...

华三交换机流行为配置避坑指南:ACL优先级与接口方向选择详解

华三交换机流策略实战&#xff1a;从ACL优先级到接口方向的深度避坑解析 如果你曾经在华三交换机上配置过流策略&#xff0c;大概率经历过这样的场景&#xff1a;策略明明配好了&#xff0c;流量却像没看见一样&#xff0c;该怎么走还怎么走&#xff1b;或者&#xff0c;你以为…...

ESP32+ST7789屏幕实战:5分钟搞定TFT_eSPI库配置(附LVGL初始化避坑指南)

ESP32与ST7789屏幕的深度整合&#xff1a;从TFT_eSPI配置到LVGL性能调优实战 最近在捣鼓一个基于ESP32的小型物联网设备&#xff0c;需要一块显示效果不错的屏幕来展示交互界面。在众多选择中&#xff0c;ST7789驱动的TFT屏幕以其性价比和丰富的社区支持脱颖而出。然而&#xf…...

Vue+OpenLayers6实战:5分钟搞定GIF动态地图标记(附完整代码)

Vue OpenLayers 6&#xff1a;5分钟为你的地图注入动态灵魂&#xff08;实战代码全解析&#xff09; 地图应用早已超越了静态展示的范畴&#xff0c;用户期待的是实时、动态、富有生命力的交互体验。想象一下&#xff0c;在地图上实时追踪物流车辆的移动轨迹&#xff0c;用闪…...

ARM64缓存一致性全解析:从dma_alloc_attrs看Linux DMA底层设计

ARM64缓存一致性全解析&#xff1a;从dma_alloc_attrs看Linux DMA底层设计 在异构计算和高性能数据处理的领域里&#xff0c;CPU与外设之间的数据交换效率&#xff0c;往往是决定整个系统性能的关键瓶颈。想象一下&#xff0c;一个AI推理芯片正以每秒万亿次的计算速度处理海量数…...

【Iced】Beacon 错误处理模块分析

这是beacon库的错误定义文件&#xff0c;使用thiserror库定义了一个简洁而强大的错误枚举类型。 错误枚举定义 use std::io;#[derive(Debug, thiserror::Error)] pub enum Error {#[error("input/output operation failed: {0}")]IOFailed(#[from] io::Error),#[erro…...

Synology NAS如何用AD域账号管理共享文件夹?5步搞定权限分配

Synology NAS 企业级权限管理实战&#xff1a;无缝集成AD域&#xff0c;构建精细化文件协作体系 对于任何一家步入正轨的企业而言&#xff0c;文件共享与权限管理从来都不是一个简单的“开个共享”就能解决的问题。当团队规模扩张&#xff0c;部门墙开始显现&#xff0c;你会发…...

Word文档中快速输入对号和对号加方框的3种实用方法(附详细步骤图)

Word文档中高效输入对号与带框对号的进阶技巧与实战指南 在日常办公、教学评估、项目管理等场景中&#xff0c;对号&#xff08;✓&#xff09;和带框对号&#xff08;☑&#xff09;是使用频率极高的标记符号。无论是批改作业、核对清单、制作考核表&#xff0c;还是追踪任务进…...

避坑指南:uniapp中scroll-view滚动定位的那些坑(商品分类案例详解)

避坑指南&#xff1a;uniapp中scroll-view滚动定位的那些坑&#xff08;商品分类案例详解&#xff09; 最近在做一个电商类小程序&#xff0c;产品经理拿着某头部电商App的原型过来&#xff0c;指着那个经典的“左侧分类、右侧商品列表”的布局说&#xff1a;“咱们也要这个效果…...

Tkinter Canvas高阶技巧:用数学函数绘制动态五角星和自定义图形

Tkinter Canvas高阶技巧&#xff1a;用数学函数绘制动态五角星和自定义图形 很多开发者初次接触Tkinter的Canvas组件时&#xff0c;往往止步于绘制简单的线条、矩形和圆形。这些基础图形虽然实用&#xff0c;但总让人觉得少了些创造力和表现力。实际上&#xff0c;Canvas的真正…...

Ubuntu下用pcl_ros将ROS bag文件转成PCD点云的完整流程(附常见问题解决)

Ubuntu下用pcl_ros将ROS bag文件转成PCD点云的完整流程&#xff08;附常见问题解决&#xff09; 在机器人感知和三维视觉领域&#xff0c;ROS&#xff08;Robot Operating System&#xff09;的bag文件是记录传感器数据&#xff08;尤其是激光雷达点云&#xff09;的黄金标准。…...

手把手教你用GStreamer在RK3588上搭建低延迟RTSP流媒体服务

手把手教你用GStreamer在RK3588上搭建低延迟RTSP流媒体服务 在嵌入式视觉应用领域&#xff0c;无论是工业质检、无人机图传还是智能安防&#xff0c;将设备采集的视频流稳定、高效地分发给网络上的其他客户端&#xff0c;始终是一个核心需求。RK3588作为一款性能强劲的ARM SoC&…...

嵌入式开发实战:如何用SPI协议实现主从设备高效通信(附代码示例)

嵌入式开发实战&#xff1a;如何用SPI协议实现主从设备高效通信&#xff08;附代码示例&#xff09; 最近在调试一个智能温控面板的项目&#xff0c;面板需要实时从多个分布在房间各处的温湿度传感器读取数据。传感器用的是常见的数字芯片&#xff0c;通过SPI接口通信。本以为这…...

手把手教你拆解中兴B860AV2.1B电视盒子:从硬件识别到固件刷入全流程

中兴B860AV2.1B电视盒子深度改造指南&#xff1a;从硬件探秘到系统焕新 最近在整理家里的旧设备&#xff0c;翻出来好几个运营商送的电视盒子&#xff0c;其中就包括这台中兴B860AV2.1B。相信不少朋友家里都有类似的“吃灰”设备&#xff0c;它们硬件性能其实并不差&#xff0c…...

YOLOv8文件路径全解析:如何快速找到ultralytics的配置文件、权重和运行时文件

YOLOv8文件路径全解析&#xff1a;如何快速找到ultralytics的配置文件、权重和运行时文件 刚上手YOLOv8&#xff0c;你是不是也经历过这种抓狂时刻&#xff1f;模型训练到一半&#xff0c;想改个学习率&#xff0c;却不知道配置文件藏在哪里&#xff1b;好不容易训练完&#xf…...