一篇文章带你入门java算术运算符(加减乘除余,字符连接)

目录
  • 概念
  • 实例
  • 注意点
    • 1.除法不能整除时
    • 2.类型的提升
    • 3.字符的(+)操作
    • 4.字符串的(+)操作
      • 实例1
      • 实例2
      • 实例3
      • 实例4
  • 总结

概念

算术运算符用在数学表达式中,它们的作用和在数学中的作用一样。

运算符 描述 实例
+ 加法 - 相加运算符两侧的值 20+10=30
- 减法 - 左操作数减去右操作数 20-10=10
* 乘法 - 相乘操作符两侧的值 20*10=200
/ 除法 - 左操作数除以右操作数 20/10=2
% 取余 - 左操作数除以右操作数的余数 20%10=0
++ 自增: 操作数的值增加1 a++,++a
- - 自减: 操作数的值增减1 a- -,- -a

实例

//操作符学习
public class Operator1 {
	public static void main(String[] args) {
		int a=20;
		int b=10;
		System.out.print("a+b=");
		System.out.println(a+b);
		System.out.print("a-b=");
		System.out.println(a-b);
		System.out.print("a*b=");
		System.out.println(a*b);
		System.out.print("a/b=");
		System.out.println(a/b);
		System.out.print("a%b=");
		System.out.println(a%b);
	}
}

运行结果

a+b=30
a-b=10
a*b=200
a/b=2
a%b=0

注意点

1.除法不能整除时

public class Operator1 {
	public static void main(String[] args) {
		int a=19;
		int b=10;
		System.out.print("a+b=");
		System.out.println(a+b);
		System.out.print("a-b=");
		System.out.println(a-b);
		System.out.print("a*b=");
		System.out.println(a*b);
		System.out.print("a/b=");
		System.out.println(a/b);
		System.out.print("a%b=");
		System.out.println(a%b);
	}
}

运行结果

a+b=29
a-b=9
a*b=190
a/b=1
a%b=9

♀ 小AD:明哥,我知道你想说啥,我看出来了。
♂ 明世隐:哟,这么主动吗?想抱大腿啊
♀ 小AD:那必须的呀,学习主动,上分抱大腿,觉悟就是高。
♂ 明世隐:那你说说看咯
♀ 小AD:我看到a/b的时候等于1,这个是不是有点奇怪,不应该是1.9的吗?
♂ 明世隐:nice,就是这里拉,按照除法确实应该是1.9,但这里我们要注意a、b两个变量的类型。
♀ 小AD:哥我知道,都是int 类形。
♂ 明世隐:那你说int类型有小数点吗?
♀ 小AD:没有,有小数点的叫浮点型,是这么回事吧。
♂ 明世隐:基本上可以这样理解,int类型的数与int类型的数想除,结果仍然是int类型,所以小数点被舍去,于是值就是1了。
♀ 小AD:哥,那我就想结果是1.9呢,不可能没有小数点的吧
♂ 明世隐:可以有,我修改一下代码

2.类型的提升

public class Operator1 {
	public static void main(String[] args) {
		float a=19;
		int b=10;
		System.out.print("a+b=");
		System.out.println(a+b);
		System.out.print("a-b=");
		System.out.println(a-b);
		System.out.print("a*b=");
		System.out.println(a*b);
		System.out.print("a/b=");
		System.out.println(a/b);
		System.out.print("a%b=");
		System.out.println(a%b);
	}
}

运行结果

a+b=29.0
a-b=9.0
a*b=190.0
a/b=1.9
a%b=9.0

♀ 小AD:哥我看到了1.9了,这是为啥呢,是不是因为你把变量a改成了float类型的原因。
♂ 明世隐:是的,就是这个原因。
♀ 小AD:那我就有疑问了,浮点型与int型进行操作,为什么最后是浮点型的,而不是int型的。
♂ 明世隐:因为float比int大,整个表达式被提升了。
♀ 小AD:什么就float比int大,大家都是数据类型,谁就比谁大。
♂ 明世隐:这么说吧,我比你大,服不服。
♀ 小AD:服,哥你年龄确实比我大。
♂ 明世隐:是说年龄的问题吗?
♀ 小AD:那你王者水平比我高,所以我才一口一个明哥。
♂ 明世隐:乖,为了上分也算是懂事了。知道谁是话事人了吧?
♀ 小AD:知道知道,明哥威武!
♂ 明世隐:所以记住一句话,抱大腿。
♀ 小AD:哥说话就是这么直白,我就喜欢抱大腿,嘻嘻。

提升等级顺序:
byte,short,char–>int–>ing–>float–>double

3.字符的(+)操作

public class Operator2 {
	public static void main(String[] args) {
		char a='a';
		int b=10;
		System.out.println(a+b);
	}
}

运行结果

107

♀ 小AD:这个怎么会是107,明明是一个字母a啊。
♂ 明世隐:那是因为在计算机中,所有的数据在存储和运算时都要使用二进制数表示,例如,像a、b、c、d这样的字母以及各种符号,还有作为字符的数字,都要使用二进制数字来表示,因此需要一种二进制码与这些字符的对应关系。而现在普遍遵守的对应关系就是ASCII编码。
♀ 小AD:ASCII不知道是啥
♂ 明世隐:你不用管是啥,知道大概就行,比如a对应97,b对应98,大写A对应65,B对应66>
♀ 小AD:也就是a=97,再加上10等于107,哦 原来是这样啊。
♂ 明世隐:对,就是这样,知道这么回事就好,不太用,比如叫你鲁班出一身肉装,你出不,一样的道理。
♀ 小AD:出啊,为什么不出,昨天我就出了,因为我抢了对面凯的大龙,于是我出了复活甲,忍者鞋、不详、反甲、魔女、霸者。
♂ 明世隐:大聪明,还真的大小就聪明,你干脆不出泉水不就行了。
♀ 小AD:那不行,会被举报挂机的。
♂ 明世隐:好吧人才。

4.字符串的(+)操作

当“+”操作中出现字符串时,这个“+”是字符串连接操作,而不是算术运算符。
如果出现多个“+”操作时,从左到右逐个执行。

实例1

public class Operator2 {
	public static void main(String[] args) {
		String a="小鲁班击杀获得:";
		int b=200;
		System.out.println(a+b);
	}
}

运行

小鲁班击杀获得:200

♀ 小AD:这里的加号就是把前后两个连劫起来吗?
♂ 明世隐:对啊
♀ 小AD:这个我看运行结果就是这么回事。

实例2

public class Operator2 {
	public static void main(String[] args) {
		String a="小鲁班击杀获得:";
		int b=200;
		int c=100;
		System.out.println(a+b+c);
	}
}

♂ 明世隐:这个你说说运行结果
♀ 小AD:这个简单,肯定先连接ab,然后在连接后面的c,结果肯定是"小鲁班击杀获得:200100",发财了,一次击杀就神装了。
♂ 明世隐:答对了,就是你思路有点飘。我们基础多个“+”就从左到右,依次计算。
♀ 小AD:所以a+b=小鲁班击杀获得:200,然后再+c=小鲁班击杀获得:200100
♂ 明世隐:不错不错,脑子转挺快。
♀ 小AD:那是你也不看看我是谁。
♂ 明世隐:但是这样明显不是我们想要的,击杀一次200100太离谱,所以要做些许的修改。

实例3

public class Operator2 {
	public static void main(String[] args) {
		String a="小鲁班击杀获得:";
		int b=200;
		int c=100;
		System.out.println(a+(b+c));
	}
}

运行结果:

小鲁班击杀获得:300

♀ 小AD:我知道了,你用括号改变了优先级,所以先计算了b+c,然后再把a连接在前面。
♂ 明世隐:嗯,这个跟我们数学中的括号是一样的。
♀ 小AD:但我就不想写括号呢?
♂ 明世隐:那我们就来看实例4

实例4

public class Operator2 {
	public static void main(String[] args) {
		String a=",小鲁班击杀获得金币数。";
		int b=200;
		int c=100;
		System.out.println(b+c+a);
	}
}

运行结果

300,小鲁班击杀获得金币数。

♀ 小AD:哥,这个我明白,就是按从左到右执行,b+c=300,这是算术运算,然后再连接a,结果就出来了。
♂ 明世隐:不错不错,很灵性吗,一下就转过来了。
♀ 小AD:明哥教的好,聪明少不了。
♂ 明世隐:这马屁拍的,有点东西。
♀ 小AD:都是从明哥那里学的。
♂ 明世隐:看你这么灵性,今天就加多一星,G。
♀ 小AD:明哥威武,G。

总结

本篇文章就到这里了,希望能给你带来帮助,也希望您能够多多关注我们的更多内容!

(0)

相关推荐

  • 一篇文章带你入门Java运算符

    目录 算数运算符(Arithmetic operator) 关系运算符(Relational operator) 逻辑运算符(Logical operator) 赋值运算符(Assignment Operators) 三元运算符(Ternary operator) 运算符优先级 标识符的命名规则和规范 关键字定义和特点 保留字 总结 运算符时一种特殊的符号,用以表示数据的运算,赋值和比较等. 算数运算符 赋值运算符 关系运算符 逻辑运算符 位运算符 三元运算符 算数运算符(Arithmetic

  • java中的基础运算符

    目录 一.算术运算符 二.关系运算符 三.位运算和逻辑运算符 四.赋值运算符 一.算术运算符 算术运算符的作用和在数学中的作用一样,主要的算术运算符有以下几种 1.+加 2.-减 3.*乘 4./除 5.%取余 其中加.减.乘.除的用法同数学中的相同,不过需要注意的是 / 和 % 的区别:两个数据做除法,/取结果的商,%取结果的余数.除了这五种还有以下两种: ++自增:变量的值加1 – 自减:变量的值减1 使用时需要注意以下几点: ​ 1.++和-- 既可以放在变量的后边,也可以放在变量的前边.

  • 深入了解JAVA数据类型与运算符

    目录 前言 变量与类型 变量的分类 按声明的位置来分类: 按数据类型划分: 变量的命名规则 硬性指标: 软性指标: Java类型汇总: 运算符 总结 前言 Java的数据类型与运算符很多与C语言大致相同,但是也存在很多的差别,学习时注意区分. 变量与类型 变量:指的是程序运行时可变的量,相当与开辟了一块内存空间来保存一些数据. 类型:指的是对变量的种类进行划分,不同的类型的变量具有不同的特性. 变量的分类 按声明的位置来分类: a.成员变量:声明在方法之外的变量,不过没有 static 修饰.可

  • Java基础学习之运算符相关知识总结

    1.算术运算符 +表示加法运算符 -表示减法运算符 *表示乘法运算符 /表示除法运算符 %表示取模/取余运算符 package com.lagou.Day03; /** * 算术运算符 */ public class Demo01 { public static void main(String[] args) { //1.声明两个int类型的变量并初始化 //int ia = 6;ib = 2;//表示声明两个int类型的变量ia和ib,不推荐使用 int ia = 6; int ib = 2

  • 带你盘点Java的五种运算符

    目录 1.算术运算符 2.赋值运算符 3.比较运算符 4.逻辑运算符 5.位运算符 总结 1.算术运算符 算术运算符的符号通常为:加(+).减(-).乘(*).除(/).取余(%).自增(++).自减(--). 使用int类型的变量和int类型的变量做除法,得到的结果还是int类型: 使用double类型的常量和 int类型的常量做除法,会得到double类型的结果:在使用强制类型double转换可以得到double类型 System.out.println(7 / 2);//3.0 Syste

  • 一篇文章带你入门java算术运算符(加减乘除余,字符连接)

    目录 概念 实例 注意点 1.除法不能整除时 2.类型的提升 3.字符的(+)操作 4.字符串的(+)操作 实例1 实例2 实例3 实例4 总结 概念 算术运算符用在数学表达式中,它们的作用和在数学中的作用一样. 运算符 描述 实例 + 加法 - 相加运算符两侧的值 20+10=30 - 减法 - 左操作数减去右操作数 20-10=10 * 乘法 - 相乘操作符两侧的值 20*10=200 / 除法 - 左操作数除以右操作数 20/10=2 % 取余 - 左操作数除以右操作数的余数 20%10=

  • 一篇文章带你入门java变量与类型

    目录 整型变量 基本语法格式 代码示例 长整型变量 基本语法格式 代码示例 双精度浮点型变量 基本语法格式 代码示例 单精度浮点型变量 基本语法格式 代码示例 字符类型变量 基本语法格式 代码示例 字节类型变量 基本语法格式 代码示例 短整型变量 基本语法格式 代码示例 布尔类型变量 基本语法格式 代码示例 简单/内置类型小结 字符串类型变量 基本语法格式 代码示例 转义字符 字符串拼接 变量作用域 变量的命名规则 常量 字面值常量 final 关键字修饰的常量 总结 整型变量 基本语法格式 i

  • 一篇文章带你入门java面向对象

    目录 一.继承 示例: 二.重载 三.接口 1.接口与类相似点: 2.接口与类的区别: 3.语法 四.枚举 1.定义 2.迭代枚举元素 3.在 switch 中使用枚举类 总结 一.继承 继承就是子类继承父类的特征和行为,使得子类对象(实例)具有父类的实例域和方法,或子类从父类继承方法,使得子类具有父类相同的行为 本章就以人.学生.老师作为例子.学生和老师都继承人这个对象,都有人的特征和行为,人就是父类,老师和学生就是子类 示例: 人类: package com.zhouzy.base.t7;

  • 一篇文章带你入门Java修饰符

    目录 定义 分类 访问控制修饰符 非访问控制修饰符 修饰符的使用说明 修饰类 修饰方法 访问控制修饰符 非访问控制修饰符 修饰变量 总结 定义 Java修饰符:修饰符用来定义类.方法或者变量,通常放在语句的最前端. 分类 主要分为2类: 访问控制修饰符 非访问控制修饰符 访问控制修饰符 可以使用访问控制符来保护对类.变量.方法和构造方法的访问.分为以下4中权限:private,default,protected,public. 权限说明: 修饰符 当前类 同包 子类(不同包) 不同包(其他类)

  • 一篇文章带你入门Java字面量和常量

    目录 引言 概念 字面量 字面量的分类 常量 总结 引言 ♀ 小AD:哥,前两天我没有闪现到刺客脸上了吧 ♂ 明世隐:在这方面做的有进步. ♀ 小AD:明哥教的好,通过学习Java关键字,游戏水平也得到了提升,一举两得,舒服. ♂ 明世隐:可是你看到残血还是上头啊,是了多少次,你说? ♀ 小AD:5.6次吧 ♂ 明世隐:岂止5.6,起码10次. ♀ 小AD:这不是看到200金币,经不住诱惑吗 ♂ 明世隐:关爱残血,你学哪里去了,游戏中就不能多一些人间的关爱吗?你就不能关爱一下放暑假的小弟弟小妹妹

  • 一篇文章带你入门Java继承

    目录 Java中继承 什么是继承: 为什么要用继承: 学习总结: 继承关键字:extends 总结 Java中继承 什么是继承: 继承就是子类继承父类的特征和行为,使得子类对象(实例)具有父类的实例域和方法,或子类从父类继承方法,使得子类具有父类相同的行为. 为什么要用继承: 可以去掉重复代码,方便后期维护 举个列子,大家应该都玩过英雄联盟,每个英雄都是一个类,如果说不用继承的话每次都要重复定义每个英雄的成员属性,如下图我举了一个MF,一个EZ的列子 public class MissFortu

  • 一篇文章带你入门Java封装

    目录 什么是封装 如何实现封装 代码展示 构造方法 注意点: 代码展示 总结 封装的优点 什么是封装 Java中的封装是将数据(变量)和作用于数据(方法)的代码作为一个单元包装在一起的机制. 在封装中,类的变量将从其他类隐藏,并且只能通过当前类的方法访问. 如何实现封装 可以分为两步: 第一步:将类的变量声明为private. 第二步:提供公共set和get方法来修改和获取变量的值. 代码展示 public class User { private String name; private in

  • 一篇文章带你入门Java基本概念

    目录 Java基本概念 一.JRE(Java运行时环境) 二.JDK(Java开发工具) 三.Java源代码文件(.class) 四.Java字节码文件(.java) 五.Java虚拟机(JVM) 六.跨平台运行 七.JDK与JRE.JVM的关系? 八.几个结论 总结 Java基本概念 JDK包含了不少Java开发相关命令.如,javac.java.javap.javaw.javadoc.虽然现在的Java开发都使用IDE完成,基本上不会直接使用这些命令.但是理解这些命令的用法,可以让我们更加扎

  • 一篇文章带你入门java泛型

    目录 一.什么是泛型 二.语法 三.示例 1.简单示例 2.返回最大值-支持各种数据类型 3.泛型类 4.类型通配符 总结 一.什么是泛型 Java 泛型(generics)是 JDK 5 中引入的一个新特性, 泛型提供了编译时类型安全检测机制,该机制允许程序员在编译时检测到非法的类型. 泛型的本质是参数化类型,也就是说所操作的数据类型被指定为一个参数. 二.语法 你可以写一个泛型方法,该方法在调用时可以接收不同类型的参数.根据传递给泛型方法的参数类型,编译器适当地处理每一个方法调用. 下面是定

随机推荐