Java 基础|变量、数据类型、类型转换、表达式与运算符
一、变量1概念变量是计算机内存中的一块空间是程序中存储数据的基本单元。2变量的组成部分数据类型决定变量在内存中的空间大小变量名用于访问变量对应的内存空间数据变量里面存储的实际值3变量的定义声明数据类型 变量名;int a;赋值变量名 数据;a 5;4变量其他定义方式声明同时赋值数据类型 变量名 数据;同时定义多个同类型变量数据类型 变量名1,变量名2,变量3值,变量4;二、数据类型存储单位换算 位 (bit /b)字节 (Byte / B) 1B 8b 1KB1024B、1MB1024KB、1GB1024MB、1TB1024GBJava 数据类型分为两大类基本数据类型、引用数据类型1. 基本数据类型原始数据类型共 8 种(1) 整数类型表格类型字节取值范围注意事项byte1B-128 ~ 127short2B-32768 ~ 32767int4B-2147483648 ~ 2147483647整数默认字面值为 intlong8B-9223372036854775808 ~ 9223372036854775807long 字面值末尾建议加大写L区分数字 1字面值程序中直接书写出来的数据。 Java 是强类型语言。(2) 小数浮点类型表格类型字节说明注意事项float4B单精度字面值后面必须加F/fdouble8B双精度字面值 D/d 可省略开发中优先使用 doublefloat、double 使用科学计数法是近似存储非精确存储。面试题8 字节 long 和 4 字节 float 哪个存储的数据范围更大 答案float 范围更大底层采用科学计数法存储。(3) 字符类型 char占用2 字节基于 Unicode万国码编码三种字面值写法//① 单引号包裹单个字符【开发重点】 char c1 A; //② 直接写整数对应Unicode编码值 char c2 65; //代表字符 A //③ 十六进制unicode形式【了解】 char c3 \u0041; //代表字符 A转义字符\改变原有字符含义\ //单引号 \ //双引号 \n //换行 \t //Tab缩进 \\ //反斜杠(4) 布尔类型 boolean只有两个字面值true、false⚠️区别 C 语言Java 不允许使用 0/1 表示真假。2. 引用数据类型对象类型包含数组、类、接口等。String字符串属于引用数据类型字面值使用双引号包裹可以是一个或多个字符String str ada;开发小案例个人信息对应数据类型表格信息推荐数据类型姓名String年龄int成绩double性别char / String地址String电话号码String避免开头 0 丢失身份证号String存在字母 X三、数据类型提升1. 自动类型提升条件类型互相兼容小范围类型赋值给大范围类型自动转换提升顺序byte -- short -- int -- long -- float -- double char -- int -- long -- float -- double2. 强制类型转换条件类型互相兼容大范围类型赋值给小范围类型需要手动强转语法目标类型 变量名 (目标类型) 源变量;特点小数强制转整数直接截断小数部分只保留整数大数据数值落在小类型范围内数据可以完整保存❗boolean 不能参与任何类型转换强制转换也不行四、表达式概念由变量、字面值、运算符组成的式子运算之后会产生一个结果。表达式结果处理结果只用一次直接写在使用位置结果多次使用存入变量保存。表达式运算结果类型规则只要有 double 参与运算结果就是 double没有 double有 float 参与结果为 float没有 double、float有 long 参与结果为 long其余全部情况结果都是int包含bytebyte、byteshort、shortshort、byteint、intint面试题分析下面代码能否编译通过byte b1; b b 1;解析编译报错。b1运算时 byte 提升为 int表达式结果是 intint 不能直接赋值给 byte。五、运算符1. 算术运算符、-、*、/、%取余 / 取模注意boolean 不能参与算术运算 特殊规则只要任意一端是 String则变成字符串拼接最终结果为字符串。2. 赋值运算符普通赋值复合赋值、-、*、/、%⚠️重点复合赋值运算符底层自带强制类型转换不会遵循普通自动类型提升。面试题对比两段代码//代码1 byte b1; b b 1; //编译报错b1结果提升为int //代码2 byte b21; b2 1; //编译通过底层等价 b2(byte)(b21)3. 一元运算符自增自减 /--a先使用原值变量再自增 1int a2; int c a; // c2a3a变量先自增 1再使用新值int a2; int c a; // a3c3开发建议多数场景只做变量自身 1/-1不接收表达式返回结果。4. 关系运算符、、、、、!关系运算结果一定是 boolean成立为 true不成立为 false得到布尔表达式。5. 逻辑运算符短路与、||短路或非短路与、|非短路或逻辑运算符两边必须是布尔表达式。短路与左侧为false右侧代码不会执行直接整体 false非短路与无论左侧 true/false左右全部执行||短路或左侧为true右侧不再执行|非短路或两边全部执行面试和的区别短路与左侧结果为 false直接确定整体结果 false右侧代码不执行非短路与无论左侧结果左右两侧表达式都会完整执行。6. 三元三目运算符语法布尔表达式 ? 表达式1 : 表达式2执行逻辑 布尔表达式结果为true执行表达式 1 布尔表达式结果为false执行表达式 2。

相关新闻

【中国方言题库|16】HarmonyOS ArkTS 多设备布局实战:适配手机、平板和 PC/2in1 的窗口变化

【中国方言题库|16】HarmonyOS ArkTS 多设备布局实战:适配手机、平板和 PC/2in1 的窗口变化

HarmonyOS 应用做多设备适配,最容易出现一种“看起来已经适配”的假象:项目里有 sm、md、lg 三档断点,也写了底部导航和侧边导航,但真正改变窗口宽度时,外层导航没有切换;部分内容页已经变成三列&#xff0…

2026/8/26 19:17:14 阅读更多 →
桥梁缺陷检测 桥梁病害识别数据集

桥梁缺陷检测 桥梁病害识别数据集

🌉 桥梁缺陷 YOLO 数据集(6308 张 8 类缺陷) 6308 张实拍 8 类桥梁缺陷 YOLO 格式精细标注 直接用于 YOLOv5/v8/v11 训练 适用于桥梁健康监测、无人机智能巡检、基础设施数字化运维等场景,覆盖结构性病害与功能性病害的完整谱…

2026/8/26 19:17:14 阅读更多 →
智能工厂趋势下,喷码机如何接入 MES/ERP 系统?

智能工厂趋势下,喷码机如何接入 MES/ERP 系统?

一、从 “单机打码” 到 “产线节点”:喷码机的角色正在被重新定义 在很多工厂里,喷码机长期被当成一台 “独立干活的设备”—— 工人提前把生产日期、批号输进去,产品流过就喷一下,喷完就完事。设备和产线管理系统之间几乎没有数…

2026/8/26 19:17:14 阅读更多 →

最新新闻

Cartographist技术栈解剖:Electron + React + immer如何搭建实验性Web浏览器

Cartographist技术栈解剖:Electron + React + immer如何搭建实验性Web浏览器

Cartographist技术栈解剖:Electron React immer如何搭建实验性Web浏览器 【免费下载链接】cartographist experimental web browser optimized for rabbit-holing 项目地址: https://gitcode.com/gh_mirrors/ca/cartographist Cartographist 是一款用 Elec…

2026/8/26 19:54:41 阅读更多 →
COMSOL2-几何建模和CAD导入

COMSOL2-几何建模和CAD导入

几何内核 几何内核在数学上比较复杂,如果几何是在COMSOL里面,那么可以直接使用,如果不是,用CAD内核导入。单击模型开发器里面的几何,几何表示几何对象和实体,就是点构成边,边构成面,…

2026/8/26 19:54:41 阅读更多 →
深入理解C++ 智能指针std::unique_ptr<二>自定义删除器

深入理解C++ 智能指针std::unique_ptr<二>自定义删除器

自定义删除器 (Custom Deleter)&#xff1a;unique_ptr 允许通过模板参数指定删除器。由于其类型包含删除器&#xff0c;因此可以在编译期绑定&#xff0c;无额外运行时开销。#include <iostream>#include <memory> // unique_ptr// 一个简单的测试类class Test {p…

2026/8/26 19:54:41 阅读更多 →
「道显知微」v3.0 全新发布:紫微斗数/八字排盘软件全面升级(附完整使用指南)

「道显知微」v3.0 全新发布:紫微斗数/八字排盘软件全面升级(附完整使用指南)

「道显知微」v3.0 全新发布&#xff1a;紫微斗数/八字排盘软件全面升级&#xff08;附完整使用指南&#xff09; 一、写在前面 很多老朋友是从「道显紫微斗数排盘」&#xff08;楚天云阔四化排盘软件&#xff09;一路关注过来的。从 v14、v16 一路迭代至今&#xff0c;我们收…

2026/8/26 19:54:41 阅读更多 →
元初混沌体系 第三卷 卫星互联网全域周天拓扑体系:第二十六篇 同轨内链路持续连通稳态设计

元初混沌体系 第三卷 卫星互联网全域周天拓扑体系:第二十六篇 同轨内链路持续连通稳态设计

第二十六篇 同轨内链路持续连通稳态设计承启前置 设计立论第二十五篇已完成低轨星座激光/微波双链路全域拓扑架构定型&#xff0c;打破西方单链路体制短板&#xff0c;建立激光主传、微波兜底、场景适配、动静制衡的全域传输体系&#xff0c;实现低轨星座空间拓扑骨架与传输链…

2026/8/26 19:54:41 阅读更多 →
轮播图滚到最后一页衔接生硬?揭秘HYBLoopScrollView基于UICollectionView的无缝无限滚动原理

轮播图滚到最后一页衔接生硬?揭秘HYBLoopScrollView基于UICollectionView的无缝无限滚动原理

轮播图滚到最后一页衔接生硬&#xff1f;揭秘HYBLoopScrollView基于UICollectionView的无缝无限滚动原理 【免费下载链接】HYBLoopScrollView 一行代码接入轮播组件&#xff0c;自带图片下载、缓存相关功能&#xff0c;无任何第三方依赖、轻量级组件。 项目地址: https://git…

2026/8/26 19:53:40 阅读更多 →

日新闻

Python random 模块常用函数详解:从入门到实战

Python random 模块常用函数详解:从入门到实战

目录 1. 引言2. 准备工作3. 基础随机函数4. 序列相关函数5. 随机种子与复现6. 实战案例7. 注意事项8. 常见问题与排查9. 总结 1. 引言 摘要&#xff1a; 本文系统介绍 Python 标准库 random 模块中最常用的随机数生成函数。内容涵盖基础随机函数&#xff08;random()、unifor…

2026/8/26 0:00:40 阅读更多 →
《Microsoft Sql server 2008 Internals》读书笔记--第三章Databases and Database Files(2)

《Microsoft Sql server 2008 Internals》读书笔记--第三章Databases and Database Files(2)

《Microsoft Sql server 2008 Internals》索引目录&#xff1a; 《Microsoft Sql server 2008 Internals》读书笔记--目录索引 在上篇文章中&#xff0c;主要介绍了创建数据库的基本语法和FileGroup的初步知识。需要注意的是: 关于FileGroup 如果你的系统是用Raid设备直接存…

2026/8/26 1:18:18 阅读更多 →
政务AI智能体怎么建?三种模式、三步路径与四个误区

政务AI智能体怎么建?三种模式、三步路径与四个误区

政务AI智能体已经从概念试点阶段&#xff0c;转入了政务服务的常态化落地应用&#xff1b;在实际使用过程中&#xff0c;它能自主理解办事需求、辅助完成填报申报、开展材料预审&#xff0c;并联动多个系统协同作业&#xff0c;真正嵌入到政务办理的全流程当中。但在落地推进过…

2026/8/26 1:18:18 阅读更多 →

周新闻

[光学原理与应用-521]:对光的错误理解与纠偏

[光学原理与应用-521]:对光的错误理解与纠偏

首先光是一种能量的载体和形态&#xff0c;宏观上观察到的光是由无数个微观的光量子组成的&#xff0c;每个光子在产生的瞬间&#xff0c;其在真空的空间中以确定不变的速度沿着一个初始的方向一直向前&#xff0c;在微观层面&#xff0c;每个光量子的运动轨迹是以波函数所展现…

2026/8/26 14:45:33 阅读更多 →
SIP通话转接原理与REFER方法实战解析

SIP通话转接原理与REFER方法实战解析

1. 通话转接不是“挂断再拨号”&#xff0c;而是SIP会话的动态重定向你有没有遇到过这样的场景&#xff1a;客服坐席A正在和客户通电话&#xff0c;突然需要把这通对话无缝转给专家坐席B&#xff0c;客户完全感知不到中间的断连——既没听到忙音&#xff0c;也没被要求重新拨号…

2026/8/26 17:46:43 阅读更多 →
Kolla-ansible单节点OpenStack部署实战:从环境准备到排坑指南

Kolla-ansible单节点OpenStack部署实战:从环境准备到排坑指南

1. 为什么选择Kolla-ansible来部署单节点OpenStack&#xff1f;如果你正在寻找一种能把OpenStack从“概念”快速变成“可用的实验环境”的方法&#xff0c;那么Kolla-ansible几乎是当前最主流、最省心的选择。我见过太多人卡在手动编译依赖、配置服务、处理版本冲突的泥潭里&am…

2026/8/26 14:46:37 阅读更多 →

月新闻

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速&#xff1a;macOS用户必备的下载提速终极指南 【免费下载链接】BaiduNetdiskPlugin-macOS For macOS.百度网盘 破解SVIP、下载速度限制~ 项目地址: https://gitcode.com/gh_mirrors/ba/BaiduNetdiskPlugin-macOS 还在为百度网盘macOS版的龟速下…

2026/8/26 3:50:20 阅读更多 →
终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南&#xff1a;3分钟实现网易云NCM音乐解密与格式转换 【免费下载链接】ncmdump 项目地址: https://gitcode.com/gh_mirrors/ncmd/ncmdump 还在为网易云音乐下载的NCM格式文件无法在其他播放器播放而烦恼吗&#xff1f;ncmdump解密工具帮你轻松解决这个困…

2026/8/26 17:46:39 阅读更多 →
HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

AgentCard 智能体卡片&#xff1a;为英语学习 App 打造桌面级学习助手适用平台&#xff1a;HarmonyOS 7.0 (API 26 Beta)一、引言 HarmonyOS 7.0&#xff08;API 26 Beta&#xff09;新增了 AgentCard 智能体卡片能力&#xff0c;这是继 HMAF&#xff08;鸿蒙智能体框架&#x…

2026/8/26 1:24:05 阅读更多 →