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/11/3 9:51:18 阅读更多 →
桥梁缺陷检测 桥梁病害识别数据集

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

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

2026/11/6 22:13:23 阅读更多 →
智能工厂趋势下,喷码机如何接入 MES/ERP 系统?

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

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

2026/11/7 10:09:50 阅读更多 →

最新新闻

Electron桌面应用开发实战:从环境搭建到打包发布全流程

Electron桌面应用开发实战:从环境搭建到打包发布全流程

做前端这些年,我大部分时间都在跟浏览器标签页打交道,直到第一次把桌面应用跑起来,才发现原来自己一直被限制在地址栏和刷新按钮围起来的框框里。Electron这个词,最开始是在某段时间频繁出现在同事的讨论里,一个用HTML…

2026/11/13 5:13:25 阅读更多 →
滑盖智能锁T109深度解析:结构原理、安装调试与故障排查

滑盖智能锁T109深度解析:结构原理、安装调试与故障排查

简介:亚太天能T109滑盖智能锁产品说明书是一份PDF格式的官方技术文档,主要面向智能锁安装人员、终端用户及售后维护者,帮助快速掌握产品安装、配置与常见故障处理。全包仅1个PDF文件,大小4.37MB,内容结构清晰&#xff…

2026/11/13 5:13:25 阅读更多 →
PMSM弱磁控制原理与Simulink建模:高速AGV驱动系统设计指南

PMSM弱磁控制原理与Simulink建模:高速AGV驱动系统设计指南

上个月我在调试一台高速AGV的驱动系统,整车要求空载跑到8m/s,电机转速已经拉到额定点,驱动器的输出电压也顶到了母线电压极限附近。再往上踩速度指令,转速纹丝不动,三相电流反而开始震荡。那会儿我的第一反应就是&…

2026/11/13 5:13:25 阅读更多 →
C++核心知识点:从内存管理到STL的实战指南

C++核心知识点:从内存管理到STL的实战指南

C 这门语言我前前后后折腾了十几年,用它写过嵌入式驱动、做过游戏服务端,也搭过基础组件库。每次看到新人一头扎进"C 核心知识点"这个搜索词,我其实挺感慨的——这门语言的难点从来不是语法多,而是知识点之间的耦合太深…

2026/11/12 18:22:26 阅读更多 →
T109滑盖智能锁怎么装?安装调试与故障排查全攻略

T109滑盖智能锁怎么装?安装调试与故障排查全攻略

简介:亚太天能T109滑盖智能锁产品说明书以PDF格式发布,适合智能锁用户、安装人员与售后维修人员阅读。内容围绕T109系列指纹密码刷卡锁展开,先介绍前面板、后面板、锁体、机械钥匙、电池盒盖等部件名称与功能,再给出完整安装步骤&…

2026/11/12 18:22:25 阅读更多 →
LLM知识降熵:从信息垄断到理解权下放

LLM知识降熵:从信息垄断到理解权下放

你有没有过这种经历:翻开源码注释、论文摘要或者一份专业报告,每个字都认识,连在一起却像天书。想找人聊聊,身边要么没人懂,要么懂的懒得跟你解释。后来我试着把同一段内容丢给一个大语言模型,几秒钟之后&a…

2026/11/13 5:13:25 阅读更多 →

日新闻

周新闻

月新闻