算术运算

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

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

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

算术运算就是我们说的加减乘除,当然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. 20170711_map/reduce

    js: map: var arr = [1,2,3,4,5]; var res = arr.map(function(x){ return x * x; }); //res 现在 = [1,4,9,1 ...

  3. [bzoj 1468][poj 1741]Tree [点分治]

    Description Give a tree with n vertices,each edge has a length(positive integer less than 1001). Def ...

  4. #Laravel 笔记# 多语言化 App::setLocale() 持久化。

    App::getLocale();获取当前语言 App::setLocale();设置语言配置文件 语言配置文件config/app.php locale 是默认语言,fallback_locale为 ...

  5. Java虚拟机--垃圾收集

    Java虚拟机 1. JVM运行时数据区域 参考书籍:<深入理解Java虚拟机:JVM高级特性与最佳实践,第二版> 资料参考:http://blog.csdn.net/nms312/art ...

  6. LigerUI LigerGrid getSelectedRows() 多选顺序 不是从上到下修改方法

    1.问题 LigreGrid内部是选中一个,往selected里塞一个, 当执行getSelectedRows() 的时候,会把selected以选中的顺序,返回出来,所以是按照选择顺序返回. 原生代 ...

  7. iOS与web交互的那些事

    一转眼又是大半年过去了,除了上架了一款新应用外,也没什么进步.所以最近琢磨着搞点事情,不然我那本Java教程都快看完了. 做为一名iOS高(la)阶(ji)法师,几乎所有的任务里,都会出现web这个从 ...

  8. 基于Hexo搭建博客并部署到Github Pages

    基于Hexo搭建博客并部署到Github Pages 之前在简书上写东西,觉得自己还是太浮躁.本来打算用Flask自己写一个,以为是微框架就比较简单,naive.HTML.CSS.JS等都要学啊,我几 ...

  9. Unity 发布的 WebGL 使用SendMessage传递多个参数

    如果要实现Unity与浏览器的数据交互一般都会采用两种方式 方法一: Application.ExternalCall("SayHello","helloworld&qu ...

  10. Node.js 入门简介

    Node.js简介 1.1 简介 V8引擎本身就是用于Chrome浏览器的JS解释部分,但是Ryan Dahl鬼才般的把这个V8搬到了服务器上,用于做服务器的软件. Node.js是一个专注于实现高性 ...