Java之算数运算符——《我的Java打怪日记》

简介: Java之算数运算符

运算符

运算符介绍

  • 运算符是一种特殊的符号,用以表示数据的运算、赋值和比较等。

1)算术运算符
2)赋值运算符
3)关系运算符[比较运算符]
4)逻辑运算符
5)位运算符[需要二进制基础]
6)三元运算符
@[TOC]

1. 算数运算符

1.1 介绍

1.2 算术运算符一览

在这里插入图片描述

1.3 案例演示

在这里插入图片描述

  • % 取模 ,取余,在 % 的本质 看一个公式:a % b = a - a / b * b
    System.out.println(10 / 4); //从数学来看是2.5, java中 2
    System.out.println(10.0 / 4); //java是2.5
    double d = 10 / 4;//java中 10 / 4 = 2, 2=>2.0
    System.out.println(d);// 是2.0
    
    // % 取模 ,取余
    // 在 % 的本质 看一个公式: a % b = a - a / b * b
    // -10 % 3 => -10 - (-10) / 3 * 3 = -10 + 9 = -1
    // 10 % -3 = 10 - 10 / (-3) * (-3) = 10 - 9 = 1
    // -10 % -3 =  (-10) - (-10) / (-3) * (-3) = -10 + 9 = -1
    System.out.println(10 % 3); //1
    System.out.println(-10 % 3); // -1
    System.out.println(10 % -3); //1
    System.out.println(-10 % -3);//-1

在这里插入图片描述

  • ++的使用,以及前自增与后自增的区别
    //++的使用
    int i = 10;
    i++;//自增 等价于 i = i + 1; => i = 11
    ++i;//自增 等价于 i = i + 1; => i = 12
    System.out.println("i=" + i);//12
    System.out.println("==============");
    /*
    作为表达式使用
    前++:++i先自增后赋值
    后++:i++先赋值后自增
    */
    int a = 8;
    int b = ++a; //等价于 a=a+1; b=a;
    System.out.println("a=" + a + "b=" + b); // 9 9
    System.out.println("==============");
    int j = 8;
    int k = j++; // 等价 k =j; j=j+1;
    System.out.println("k=" + k + "j=" + j);//8 9

在这里插入图片描述

1.4 细节说明

在这里插入图片描述

1.5 算数运算符的面试题

在这里插入图片描述

  • 变量 i 会把值赋给临时变量 temp ,再进行后自增的值为 2 ,之后 temp 再把值赋给 变量 i,所以 i = 1;

在这里插入图片描述

    int i = 1;//i->1
    i = i++; //规则使用临时变量: (1) temp=i;(2) i=i+1;(3)i=temp;
    System.out.println(i); // 1

在这里插入图片描述

在这里插入图片描述

  • 执行顺序跟上面差不多,只是要变换下 前自增
    int i=1;
    i=++i; //规则使用临时变量: (1) i=i+1;(2) temp=i;(3)i=temp;
    System.out.println(i); //2

在这里插入图片描述

1.6 自增,自减课堂练习(1)

ArithmeticOperator.java

    int i1 = 10;
    int i2 = 20;
    int i = i1++;
    System.out.print("i="+i);//10
    System.out.println("i2="+i2);//20
    i = --i2;
    System.out.print("i="+i);//19
    System.out.println("i2="+i2);//19
  • 使用内存分析法 分析
  1. 第一步: i1 先赋值给变量 i 再自己自增加1,此时 i1 = 11,所以 i = 10,i2 = 20
  2. 第二步:i2 此时为 20,i2 先自减减1,再赋值给 i ,此时 i2 = 19,i = 19

在这里插入图片描述

  • 运行结果:

在这里插入图片描述

1.7 自增,自减课堂练习(2)

  1. 假如还有 59 天放假,问:合 xx 个星期零 xx
    //1.需求:
    //假如还有59天放假,问:合xx个星期零xx天
    //2.思路分析
    //(1) 使用int 变量 days 保存 天数
    //(2) 一个星期是7天 星期数weeks: days / 7 零xx天leftDays days % 7
    //(3) 输出
    
    //3.走代码
    int days = 59;
    int weeks = days / 7;
    int leftDays = days % 7;
    System.out.println(days + "天 合" + weeks + "星期零" + leftDays + "天");

在这里插入图片描述

  1. 定义一个变量保存华氏温度,华氏温度转换摄氏温度的公式为:5/9*(华氏温度-100),请求出华氏温度对应的摄氏温度。[234.5]
  • 这里注意的一点:如果直接拿上面给定的公式的话,输出的结果就会出问题,5/9*(华氏温度-100)这个公式,5/9结果是一个0.几的结果,而直接返回给 0 ,后面的结果都为 0,所以要把公式改为 5.0 / 9 * (huaShi - 100),在 5 后面多加一个 0 ,就不会出现这种情况。(考虑精度问题)
    //1.需求
    //定义一个变量保存华氏温度,华氏温度转换摄氏温度的公式为
    //:5/9*(华氏温度-100),请求出华氏温度对应的摄氏温度
    //
    //2思路分析
    //(1) 先定义一个double huaShi 变量保存 华氏温度
    //(2) 根据给出的公式,进行计算即可5/9*(华氏温度-100)
    //    考虑数学公式和java语言的特性
    //(3) 将得到的结果保存到double sheShi
    //3走代码
    double huaShi = 234.6;
    double sheShi = 5.0 / 9 * (huaShi - 100);
    System.out.println("华氏温度" + huaShi + " 对应的摄氏温度=" + sheShi);

在这里插入图片描述

目录
相关文章
|
存储 Java
# 【Java全栈学习笔记-U1-day02】变量+数据类型+运算符
本篇笔记主要围绕Java全栈学习的第二天内容展开,涵盖了变量、数据类型、运算符以及Scanner类的应用。首先介绍了变量的概念与命名规范,以及如何定义和使用变量;接着详细讲解了Java中的基本数据类型,包括整型、浮点型、字符型、布尔型等,并通过实例演示了数据类型的运用。随后,深入探讨了各类运算符(赋值、算术、关系、逻辑)及其优先级,帮助理解表达式的构成。最后,介绍了如何利用Scanner类实现用户输入功能,并通过多个综合示例(如计算圆面积、购物打折、变量交换及银行利息计算)巩固所学知识。完成相关作业将进一步加深对这些基础概念的理解与实践能力。
261 13
|
7月前
|
Java Go 开发工具
【Java】(4)五种运算符的说明(&&、||、>=、>、<=、<)、4种控制语句(if、for、while、dowhile)、输入和输出说明
扩展类的赋值运算符不改变运算结果类型,假设最初这个变量的的类型byte类型,无论怎么进行加或追减,最终该变量的数据类型还是byte类型。注:一个表达式中有多个运算符,运算符有优先级,不确定的加小括号,优先级得到提升。当布尔表达式的结果是false的时候,选择表达式2作为整个表达式的执行结果。当布尔表达式的结果是true的时候,选择表达式1作为整个表达式的执行结果。当用户输入的时候,并且最终敲回车键的时候,键入的信息会自动赋值给a。并且,连接运算之后的结果还是一个字符串类型。表达式1 : 表达式2。
273 2
|
9月前
|
存储 缓存 算法
Java数据类型与运算符深度解析
本文深入解析Java中容易混淆的基础知识,包括八大基本数据类型(如int、Integer)、自动装箱与拆箱机制,以及运算符(如&与&&)的使用区别。通过代码示例剖析内存布局、取值范围及常见陷阱,帮助开发者写出更高效、健壮的代码,并附有面试高频问题解析,夯实基础。
|
Java
Java运算符
Java运算符
135 12
|
11月前
|
人工智能 Java
Java运算符中的隐式转换
本文介绍了 Java 运算符中的隐式类型转换规则,涵盖算数、逻辑、位、关系、赋值及其他运算符。重点分析了算数和位运算符在处理小于 int 位长的数据时会自动转换为 int 类型的特性,并通过代码示例说明可能引发的类型不匹配错误。逻辑、关系、赋值及其他运算符则不涉及类型转换。总结指出,部分运算符在计算时会将小位长数据隐式转为 int 类型,结果也为 int。
136 0
|
11月前
|
人工智能 Rust Java
Java中的算数、关系、逻辑、条件、赋值 五大运算符详解
本文介绍了Java中的运算符及其优先级,包括算数运算符(如+、-、*、/、%、++、--)、关系运算符(如<、>、==、!=)、逻辑运算符(如&&、||、!)、条件运算符(三目运算符)和赋值运算符(如=、+=、-=等)。详细解释了每种运算符的功能与用法,例如自增自减运算符的特点、逻辑运算符的短路法运算以及位运算符的操作规则。最后还提供了运算符优先级表格,帮助开发者理解复杂表达式的计算顺序。文中提醒,在实际开发中,建议使用括号明确运算顺序以提高代码可读性。
517 0
课时15:Java运算符(基础数学运算符)
课时15介绍了Java中的基础数学运算符,涵盖加、减、乘、除及自增自减运算。强调了运算符的优先级和使用括号的重要性,并通过范例展示了四则运算与自增自减的具体应用。提醒编写代码时应保持简洁,避免复杂的表达式,确保代码易读性和可维护性。
201 7
|
SQL IDE 算法
《从头开始学java,一天一个知识点》之:运算符与表达式:算术、比较和逻辑运算
**你是否也经历过这些崩溃瞬间?** - 看了三天教程,连`i++`和`++i`的区别都说不清 - 面试时被追问"`a==b`和`equals()`的区别",大脑突然空白 - 写出的代码总是莫名报NPE,却不知道问题出在哪个运算符 这个系列为你打造Java「速效救心丸」,每天1分钟,地铁通勤、午休间隙即可完成学习。直击高频考点和实际开发中的「坑位」,拒绝冗长概念,每篇都有可运行的代码示例。明日预告:《控制流程:if-else条件语句实战》。
326 6
课时17:Java运算符(关系运算符)
范例:进行关系判断。如果要进行关系运算的操作可使用:>、<、>=、<=、!=(不等于)、==。所有的关系运算符判断完成的数据返回结果都是布尔类型(boolean)。只要使用关系运算符进行逻辑判断,最终的结果就是布尔型,只有true和false两种结果,而且能和if语句结合使用。
262 6
课时16:Java运算符(三目运算符)
范例:将两个变量值在大的内容赋值给新变量。三目是一种赋值运算,它指的是根据条件来进行判断。(根据判断的结果来决定赋值内容)对于三目运算的基本使用语法如下: 数据类型 变量 = 布尔表达式 ?条件满足时赋值内容:条件不满足时:赋值内容
265 6