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

Java自学:语法篇1——运算符

一、算术运算符

1.算术运算符

算数运算符包括:+ - * / %,分别为加法、减法、乘法、整除和取余。

在计算时可分为整数计算和小数计算:

//1.整数计算 int a = 10; int b = 3; System.out.println(a+b);//13 System.out.println(a-b);//7 System.out.println(a*b);//30 System.out.println(a/b);//3 整数相除结果是整数 System.out.println(a%b);//1 //2.小数计算 //细节:小数直接参与计算,结果可能不精确 //精确计算之后再讨论 double c = 10.0; double d = 3.0; System.out.println(c+d);//13.0 System.out.println(c-d);//7.0 System.out.println(c*d);//30.0 System.out.println(c/d);//3.3333333333333335 System.out.println(c%d);//1.0

*.类型转换

正常情况下,对两个变量相加减时通常是在相同数据类型情况下,例如:

int a = 10; int b = 20; int c = a + b;

但当不同类型的数据进行计算时,结果的数据类型是什么呢?

byte a = 10; short b = 20; ??? c = a + b;

这就涉及到了类型转换,包括了隐式转换和强制转换。

隐式转换

触发时机:不同类型的数据进行计算时,默认采取隐式转换,java自动转换,无需自己写代码。

步骤:1.把byte、short类型的数据,先提升为int类型;2.把取值范围小的提升为取值范围大的,再进行计算。

如此我们便知道了上述的???应该是int类型。

强制转换

触发时机:当我们想强制改变变量的类型时,需要手写代码。

代码格式:目标数据类型 变量名 = (目标数据类型) 被强转的数据类型

例:

int a = 10; byte b = (byte) a;

这样就可以把int类型的a的值赋给byte类型的b了。

弊端:强制转换可能导致精度丢失。

2.字符运算

字符运算主要是一个字符型与整型的运算,鲜明的例子是大小写字母的转换。

例子:

//将A转换成小写字母a char ch = 'A'; System.out.println((char)(ch+32)); //ch转成int类型与32相加,需再转成char类型输出字母。 //输出结果应为 a

3.字符串运算

字符串运算主要是进行字符串的拼接。如:“我爱”+“学习”=“我爱学习”,“a”+“b”=“ab”之类。

二、自增自减运算符

主要有两个:

++ //变量的值加1 -- //变量的值减1

程序示例:

int a = 10; a++; ++a; --a; a--; a--; System.out.println(a); //结果为9

三、赋值运算符

= //直接赋值 int a=10,将 10 赋值给 a += //加后赋值 a+=b,将 a+b 的值给 a -= //减后赋值 a-=b,将 a-b 的值给 a *= //乘后赋值 a*=b,将 a×b 的值给 a /= //除后赋值 a/=b,将 a÷b 的商给 a %= //取余赋值 a%=b,将 a÷b 的余数给 a

程序示例:

int a = 10; int b = 20; // a + b ---> a a += b; System.out.println(a); // 30 System.out.println(b); // 20

四、关系运算符\比较运算符

== a==b //判断 a 是否等于b 成立返回true,不成立返回false != a!=b //判断 a 是否不等于b 成立返回true,不成立返回false > a>b //判断 a 是否大于b 成立返回true,不成立返回false >= a>=b //判断 a 是否大于等于b 成立返回true,不成立返回false < a<b //判断 a 是否小于b 成立返回true,不成立返回false <= a<=b //判断 a 是否小于等于b 成立返回true,不成立返回false

五、逻辑运算符

& 与(而且) 同时成立才是符合要求的 | 或(或者) 只要有一个符合要求即可 ! 非(取反) 取反

六、短路逻辑运算符

&& 短路与 a > 1 && a < 10 左边为 false,右边不执行 || 短路或 a < 1 || a > 10 左边为 true,右边不执行

运行规则:和单个的 &、| 是一样的,只不过提高了效率。

七、三元运算符

格式:
关系表达式? 表达式1 : 表达式2;
计算规则:
  1. 先计算关系表达式的值
  2. 若结果为true(成立):执行表达式 1,并将其值作为整个三元运算的结果
  3. 若结果为false(不成立):执行表达式 2,并将其值作为整个三元运算的结果

程序示例:

// 利用三元运算符,求两个整数的较大值 // 1. 定义两个变量,记录整数 int a = 30; int b = 20; // 2. 利用三元运算符,求两个整数的较大值 // 格式:关系表达式 ? 表达式1 : 表达式2; int max = a > b ? a : b; System.out.println(max); //结果为a
http://www.jsqmd.com/news/474048/

相关文章:

  • 基于Python的酒店推荐系统的设计与实现
  • OpenClaw 安装与配置教程
  • AutoCAD Electrical 2022元件插入全攻略:从图标菜单到批量操作技巧
  • MySQL启动报错2002?3分钟搞定localhost连接失败的终极解决方案
  • 3D打印机的定量铺粉器设计cad10张+三维图+设计书明说
  • notebooklm-py:把 NotebookLM 放到你的程序中
  • 快速上手DeerFlow:图文并茂的部署教程,新手友好,5分钟即可开始使用
  • 解锁MacBook Pro Touch Bar:Windows系统下的功能重生指南
  • 软考中级-软件设计师 2023下半年真题实战拆解:数据流图与UML建模核心考点精讲
  • iLabPower BIMS V2.6开启实验室动物管理「全维可视化」时代
  • Ostrakon-VL-8B真实案例:某快餐品牌用其完成全国2300家门店月度AI巡检
  • StructBERT中文通用模型部署教程:Supervisor开机自启+健康检查+日志监控一体化
  • 彻底搞懂 C 语言二级指针:从原理到实战(两种实现方式对比)
  • idea使用教程
  • Qwen2.5-7B-Instruct实现智能运维:日志分析与故障预测
  • Typst公式编写避坑指南:从行内公式到复杂数学符号排版
  • Phi-4-reasoning-vision-15B垂直场景:法律合同截图→关键条款识别+风险提示生成
  • ECharts图表截图方案选型指南:从html2canvas到snapdom的性能与兼容性实战
  • 突破NCM格式限制:ncmdump让你的音乐真正自由
  • 2026军工行业流量仪表优质推荐榜精准可靠:柴油流量计/柴油流量计/氟利昂液位计/氟利昂液位计/氨水液位计/氨水液位计/选择指南 - 优质品牌商家
  • AnythingtoRealCharacters2511与CNN技术解析:动漫转真人背后的算法原理
  • 红米Note9 4G版刷机指南:从MIUI14到澎湃OS安卓15的完整升级路线
  • AudioSeal部署教程:systemd服务封装、开机自启与资源限制配置
  • 跨越架构鸿沟:在飞腾ARM平台与银河麒麟系统上部署Zotero
  • 【5倍效率提升】:短视频资源管理的智能解决方案——douyin-downloader全场景应用指南
  • SWAT模型实战:从零到一的数据准备与处理全攻略
  • 还在用人工打分做模型迭代?Dify评估流水线已让某Top3大模型公司A/B测试周期缩短68%,现在上车还剩最后2个企业版License配额
  • Stable Yogi Leather-Dress-Collection惊艳效果:皮衣与角色动作姿态的自然耦合表现
  • Wan2.2-T2V-A5B应用中的数据结构设计:高效处理视频序列数据
  • 如何安装Ollama并使用Qwen模型