算术运算

先回顾上次我们提到的编程特性

  • 变量和数据类型,赋值和输出
  • 算术运算
  • 选择结构
  • 循环结构
  • 函数定义,函数调用
  • 变量作用域
  • 栈,程序运行的基石
  • 面向对象
  • 异常处理
  • 语言提供的公用包

    第一天我们讲了“变量和数据类型,赋值和输出”,这次我们讲算术运算。

算术运算就是我们说的加减乘除,当然Java里还有一些逻辑与,逻辑或,自增自减等操作。

我们使用的计算机程序每天都在处理着很多算术运算,比如微信转账,要从你的账户减去钱,商家的账户加上钱。下面介绍基本的算术运算:

假设表格中的实例假设整数变量A的值为10,变量B的值为20:

操作符 描述 例子
+ 加法, 相加运算符两侧的值 A + B 等于 30
- 减法 - 左操作数减去右操作数 A – B 等于 -10
* 乘法 - 相乘操作符两侧的值 A * B等于200
/ 除法 - 左操作数除以右操作数 B / A等于2
取模 - 左操作数除以右操作数的余数 B%A等于0
++ 自增: 操作数的值增加1 B++ 或 ++B
-- 自减: 操作数的值减少1 B-- 或 --B
  1. /**
  2. * 本例子讲解基本的算术运算.
  3. * 同时也回顾第一次讲的内容
  4. */
  5. public class SecondLesson {
  6. public static void main(String[] args) {
  7. /**
  8. * 知识点:1)新建变量,变量名是a,把10赋值给变量a
  9. * b,c,d同理
  10. */
  11. int a = 10;
  12. int b = 20;
  13. int c = 25;
  14. int d = 10;
  15. /**
  16. * a + b 即是基本的算术运算,把a和b求和,结果值赋予等号左边的ans
  17. * ans是一个新建的变量,保存了a+b的结果(第一章的知识)
  18. * 把ans输出(第一章的知识)
  19. */
  20. int ans = a + b;
  21. System.out.println("a + b = " + ans);
  22. /**
  23. * ans还是原来那个变量,但是前面说过,变量的值可以被修改的
  24. * a - b就是a减去b,结果赋值给ans
  25. * ans的值会被改变
  26. */
  27. ans = a - b;
  28. System.out.println("a - b = " + ans);
  29. /**
  30. * 乘法
  31. */
  32. ans = a * b;
  33. System.out.println("a * b = " + ans);
  34. /**
  35. * 除法
  36. */
  37. ans = b / a;
  38. System.out.println("b / a = " + ans);
  39. /**
  40. * 取模,得余数
  41. */
  42. ans = b % a;
  43. System.out.println("b % a = " + ans);
  44. ans = c % a;
  45. System.out.println("c % a = " + ans);
  46. /**
  47. * a++,表示先把a赋值给ans,a再自增
  48. */
  49. ans = a++;
  50. System.out.println("a++ = " + ans);
  51. /**
  52. * ++d,表示先把d自增,再赋值给ans,所以和上面的输出不同,好好体会
  53. */
  54. ans = ++d;
  55. System.out.println("++d = " + ans);
  56. }
  57. }

这么一看,算术运算还挺简单,确实很简单。跟小学数学相差无几。再多提一下算术运算是遵守四则运算法则的。在数学中,当一级运算(加减)和二级运算(乘除)同时出现在一个式子中时,它们的运算顺序是先乘除,后加减,如果有括号就先算括号内后算括号外,同一级运算顺序是从左到右。

看下面例子


  1. a = 10;
  2. b = 20;
  3. c = 30;
  4. /**
  5. * b和c先运算再和a相加
  6. * 结果应该是 610
  7. */
  8. ans = a + b * c;
  9. System.out.println("a + b * c = " + ans);
  10. /**
  11. * a和b先相加,再和c相乘
  12. * 结果应该是900
  13. */
  14. ans = (a + b) * c;
  15. System.out.println("(a + b) * c = " + ans);

总结

  • 算术运算和我们小学学习的四则运算一样
  • 运算的结果可以赋值给某个变量
  • a++是先用a原来的值,a再自增
  • ++a是先把a自增,再用a的值干点什么

作业

  • 如果我们今年有10万元,存在理财产品里,年化有4.5%的利息。 两年之后我把钱取出来去美国旅游,人民币换美元利率是6.89, 今天的10万元存两年,两年后能换多少美元呢

完整章节

九天学会Java,第一天,变量和数据类型,赋值和输出

九天学会Java,第二天,算术运算的更多相关文章

  1. 九天学会Java,第一天,变量和数据类型,赋值和输出

    用9天入门三门编程语言,有可能嘛,尤其是对没有基础的同学来说?对于想学好的编程的人来说,无论从哪一门语言开始入手,语言的本身其实并不是我们最应该的关心的,至少不是作为一个初学者首先关心的. 网络上,网 ...

  2. 九天学会Java,第三天,选择结构

    选择结构 变量和数据类型,赋值和输出 算术运算 选择结构 循环结构 函数定义,函数调用 变量作用域 栈,程序运行的基石 面向对象 异常处理 语言提供的公用包 上一节介绍了Java的算术运算,如加减乘除 ...

  3. 九天学会Java,第四天,循环结构

    变量和数据类型,赋值和输出 算术运算 选择结构 循环结构 函数定义,函数调用 变量作用域 栈,程序运行的基石 面向对象 异常处理 语言提供的公用包 这次我们讲Java的循环结构.循环结构在编程中广泛使 ...

  4. 九天学会Java,第五天,函数定义函数调用

    变量和数据类型,赋值和输出 算术运算 选择结构 循环结构 函数定义,函数调用 变量作用域 栈,程序运行的基石 面向对象 异常处理 语言提供的公用包 什么是函数,为什么有函数,大家可能有这样的疑问. 举 ...

  5. 10天学会phpWeChat——第二天:hello world!我的第一个功能模块

    今天我们开始进入<10天学会phpWeChat>系列教程的第二天:创建我的第一个hello world! 功能模块. 1.登录后台,进入 系统设置--自定义模块,如图: 自定义模块参数说明 ...

  6. 20155210潘滢昊 Java第二次试验

    20155210潘滢昊 Java第二次试验 实验内容 学会JunitTest的使用 实验代码 MyUtilTest代码: import org.junit.*; import junit.framew ...

  7. 20165210 Java第二周学习总结

    20165210 Java第二周学习总结 教材学习内容总结 - 第二章学习总结 标识符与关键字: 重点在50个关键字 标识符并不能是关键字 标识符的第一个字符不能是数字字符 Unicode字符集简单了 ...

  8. 【小白视频学Java for循环】3分钟学会Java的for循环,让看懂for循环嵌套再不是难事

    目录 一.单个for循环介绍 二.for循环嵌套 听讲时能听懂的for循环为什么一做题就晕菜?一个for循环还勉强能看懂,但为什么一看到双重for循环脑子里就感觉脑子全是浆糊? 如果有上述问题那么就继 ...

  9. JAVA第二次blog总结

    JAVA第二次blog总结 0.前言 这是我们在博客园上第二次写博客,进行JAVA阶段学习的总结.现在我们接触到JAVA已经有一段时间了,但难点还是在于编程思想和方法的改变,第二阶段的学习让我对于理解 ...

随机推荐

  1. org.w3c.dom.Element 缺少 setTextContent 步骤

    org.w3c.dom.Element 缺少 setTextContent 方法 今天将项目环境由jdk5改为jdk6,eclipse重新编译工程后,却突然出现org.w3c.dom.Element没 ...

  2. java线程数过高原因分析

    作者:鹿丸不会多项式  出处:http://www.cnblogs.com/hechao123   转载请先与我联系. 一.问题描述 前阵子我们因为B机房故障,将所有的流量切到了A机房,在经历了推送+ ...

  3. Infer - 文件说明

    Infer - 文件说明 Infer - bin目录下的文件 主要命令 文件名 意义 infer 运行infer,python脚本.可以看详细的说明文档了解使用细节 inferTest 执行测试,sh ...

  4. (3)markdown软件的使用

    运行Mou.zip解压出来一个软件,它让托到应用程序中,然后打开 另一种软件为gitBook 安装好软件后,使用快捷键F4可以调出所有的应用程序 使用md(markdown简称)有个缺点就是,当内容比 ...

  5. NYOJ--94--cigarettes

    /* Name: NYOJ--94--cigarettes Copyright: 2017 日天大帝 Date: 20/04/17 09:27 Description: 水 题 */ #include ...

  6. java.lang.NoSuchMethodError:android.content.Context.getDrawable

    今天在开发的时候,这个代码在源码中是可以看到的,但是在android 4.3手机上面会报错,具体错误信息和代码如下: setBackgroundDrawable(context.getDrawable ...

  7. Python pyspider 安装与开发

    PySpider 简介 PySpider是一个国人编写的强大的网络爬虫系统并带有强大的WebUI.采用Python语言编写,分布式架构,支持多种数据库后端,强大的WebUI支持脚本编辑器.任务监视器, ...

  8. pyhton购物程序

    要求: 启动程序后,让用户输入工资,然后打印出带有序号的商品列表 用户输入商品序号购买相应的商品,或者输入 ' q ' 退出购买界面 选择商品后,检查余额是否足够,够则直接扣款,不够则提示余额不足 用 ...

  9. 移动端表层div滑动,导致底层body滑动(touchmove的阻止)

    body很长,可以滑动,body头部有一个模拟下拉的选择框,下拉选择有滚动轴 我给body一个overflow:hidden和高度是没有用的.手机网站上背景还是可以滑动,然后我给body一个touch ...

  10. 机器学习笔记——拉格朗日乘子法和KKT条件

    拉格朗日乘子法是一种寻找多元函数在一组约束下的极值方法,通过引入拉格朗日乘子,可将有m个变量和n个约束条件的最优化问题转化为具有m+n个变量的无约束优化问题.在介绍拉格朗日乘子法之前,先简要的介绍一些 ...