算术运算

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

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

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

算术运算就是我们说的加减乘除,当然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
/**
* 本例子讲解基本的算术运算.
* 同时也回顾第一次讲的内容
*/
public class SecondLesson {
public static void main(String[] args) {
/**
* 知识点:1)新建变量,变量名是a,把10赋值给变量a
* b,c,d同理
*/
int a = 10;
int b = 20;
int c = 25;
int d = 10;
/**
* a + b 即是基本的算术运算,把a和b求和,结果值赋予等号左边的ans
* ans是一个新建的变量,保存了a+b的结果(第一章的知识)
* 把ans输出(第一章的知识)
*/
int ans = a + b;
System.out.println("a + b = " + ans);
/**
* ans还是原来那个变量,但是前面说过,变量的值可以被修改的
* a - b就是a减去b,结果赋值给ans
* ans的值会被改变
*/
ans = a - b;
System.out.println("a - b = " + ans);
/**
* 乘法
*/
ans = a * b;
System.out.println("a * b = " + ans);
/**
* 除法
*/
ans = b / a;
System.out.println("b / a = " + ans);
/**
* 取模,得余数
*/
ans = b % a;
System.out.println("b % a = " + ans);
ans = c % a;
System.out.println("c % a = " + ans);
/**
* a++,表示先把a赋值给ans,a再自增
*/
ans = a++;
System.out.println("a++ = " + ans);
/**
* ++d,表示先把d自增,再赋值给ans,所以和上面的输出不同,好好体会
*/
ans = ++d;
System.out.println("++d = " + ans);
}
}

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

看下面例子


a = 10;
b = 20;
c = 30;
/**
* b和c先运算再和a相加
* 结果应该是 610
*/
ans = a + b * c;
System.out.println("a + b * c = " + ans);
/**
* a和b先相加,再和c相乘
* 结果应该是900
*/
ans = (a + b) * c;
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. Entity Framework Core 软删除与查询过滤器

    本文翻译自<Entity Framework Core: Soft Delete using Query Filters>,由于水平有限,故无法保证翻译完全正确,欢迎指出错误.谢谢! 注意 ...

  2. C# 设计模式之空对象模式

    最近看了不少的书籍和视频等相关资料,决定自己边学习边写一下个人对设计模式的理解,如果有不对的请大家多多指正. 今天先说说我个人觉得最简单的设计模式 -- [空对象模式] 空对象模式可以减少客户端对对象 ...

  3. Codeforces_776E: The Holmes Children (数论 欧拉函数)

    题目链接 先看题目中给的函数f(n)和g(n) 对于f(n),若自然数对(x,y)满足 x+y=n,且gcd(x,y)=1,则这样的数对对数为f(n) 证明f(n)=phi(n) 设有命题 对任意自然 ...

  4. 【JAVASCRIPT】React学习-巧用 props 的 children 属性实现内容填充

    背景 平常写组件,经常遇到需要获取内容放入组件内部的情形. 实现方法 我们有两种实现方式 1. 自定义 props render 的时候通过获取 this.props.content 填充到组件内部 ...

  5. C#小爬虫,通过URL进行模拟发送接收数据

    public async Task<string> SendDataAsync(HttpMethod httpMethod, string requestUrl, HttpContent ...

  6. SQL SERVER Buffer Pool扩展

    Buffer Pool扩展简介 Buffer Pool扩展是buffer pool 和非易失的SSD硬盘做连接.以SSD硬盘的特点来提高随机读性能. 在Buffer Pool 扩展之前,SQL Ser ...

  7. bash中(),{},(()),[],[[]]的区别

    前言:在bash中遇到各种括号,同时在进行字符数值比较判定时,总是不断出现问题,于是通过参考<advanced bash-scripting guide>,同时在centos 6.7版本上 ...

  8. [Tyvj模拟赛]运

    运 题目 [问题背景]zhx 和妹子们玩数数游戏. [问题描述] 仅包含4或7的数被称为幸运数.一个序列的子序列被定义为从序列中删去若干个数, 剩下的数组成的新序列.两个子序列被定义为不同的当且仅当其 ...

  9. 华为服务器Linux在线做RAID方法

    背景概述 最近维护大数据的一些主机,大概有3k+的数目,有很大一部分是华为的服务器,大部分是12块数据盘,单盘做RAID0来存放数据,但是通常硬件是不可靠的,磁盘损坏是常态, 然而磁盘损坏进行定位更换 ...

  10. vue+mockjs 模拟数据,实现前后端分离开发

    在项目中尝试了mockjs,mock数据,实现前后端分离开发. 关于mockjs,官网描述的是 1.前后端分离 2.不需要修改既有代码,就可以拦截 Ajax 请求,返回模拟的响应数据. 3.数据类型丰 ...