码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 08Java算术运算符/除法与取模/隐式转换/强制转换/字符串相加/字符相加


    目录

    一、运算符

    二、算术运算符

    1.+ - * /:

    2.%:

    3.隐式转换(自动类型提升)

    4.强制转换


    一、运算符

            就是对常量或者变量进行操作的符号

    二、算术运算符

    1.+ - * /:

    1. 整数相除结果只能得到整除,如果结果想要是小数,必须要有小数参数。
    2. 小数直接参与运算,得到的结果有可能是不精确的。

    2.%:

            取模、取余,也是除法运算,但是获取的是余数

    3.隐式转换(自动类型提升)

    数据类型不一样时是不能进行计算的,取值范围小的数值转化为取值范围大的数值

    类型从小到大:

    • byte < short < int < long < float < double

    两种提升规则:

    1. 取值范围小的,和取值范围大的进行运算,小的会先提升为大的,再进行运算。
    2. byte、short、char三种类型的数据在运算的时候,都会直接先提升为int,然后再进行运算。
    1. byte b = 10;
    2. short s = 20;
    3. long n = 100L;
    4. result = b + s + n;

    问变量result是什么类型的?long

    解释:

    第一步:变量b和变量s里面的值会先提升为int参与运算。

    ​       int + int + long

    第二步:而long类型的取值范围是大于int的取值范围的。

    ​       所以变量b和变量s里面的值会再次提升为long。

    ​       long + long + long。

    所以最终结果是long类型的。

    4.强制转换

    把一个取值范围大的数据或者变量赋值给另一个取值范围小的变量。需要强制转换

    目标数据类型 变量名 = (目标数据类型)被强转的数据

    1. public class OperatorDemo2 {
    2. public static void main(String[] args) {
    3. double a = 12.3;
    4. int b = (int) a;
    5. System.out.println(b);//12
    6. }
    7. }
    1. public class OperatorDemo3 {
    2. public static void main(String[] args) {
    3. byte b1 = 10;
    4. byte b2 = 20;
    5. byte result = (byte)(b1+b2)
    6. System.out.println(result);//12
    7. }
    8. }

    注:可能会导致数据的精度丢失

  • 相关阅读:
    c# 的一些简单用法
    2. ESP8266通过I2C控制OLED显示
    作战仿真试验理论体系研究
    python二次开发Solidworks:扫描
    <C++> 异常
    南通港实现自动驾驶集卡+IGV多车型L4级编组作业运营,飞步科技车路云一体化应用全面落地
    2.vue
    3.7Docker consul的容器服务更新与发现
    MySQL 基本语句
    vue接口token认证登录(加手机验证)
  • 原文地址:https://blog.csdn.net/qq_61176213/article/details/126721341
  • 最新文章
  • 沪漂五周年了:我越来越迷茫了
    Agentic Skill Routing 实战:别再把所有 Skill 塞进 AI Agent 上下文
    MySQL-Seconds_behind_master的精度误差
    [MAF预定义ChatClient中间件-03]CachingChatClient——利用缓存省钱省时间
    AI的至暗历史:从万众期待到被政府撤资,AI的两次死亡徘徊
    Agent OS :五种驯服不确定性的范式
    PortSwigger SQL注入LAB11
    数据库即时编译JIT
    [Begin]AI Learn Data Day 0
    深度学习进阶(二十七)现代 LLM 的核心架构设计其二:SwiGLU
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
小工具 小游戏
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1

京公网安备 11010502049817号