大家好,今天我来给大家分享一下Java的基本运算符
首先我们要知道,计算机的主要功能是对数据进行计算,除了要有用于计算的数据以外,还要有运算时的运算符,使之有一定的运算关系
在Java当中也是如此,基本运算符如下

这些都是Java支持的运算符

这是它们各自的简介
此外,运算符里还有一个优先级

或者看这个表也是一样的

1-13 //越来越小 1最大
还有一个结合性的概念 (看上图的箭头指向)
1.从左到右 (右结合性)
2.从右到左 (左结合性)

公式的计算顺序如上图

优先级总结如上
结合性实例

看一下括号的特殊使用

按照它们的优先级,给他们加上(),使之增加可阅读性


这是括号的应用,加不加括号的计算结果是一样的
这是错误的演示代码

正确的代码如下

下面进行基本运算符的代码演示
package operator;
public class Demo01 {
public static void main(String[] args) {
//二元运算符 :两个数据进行运算
int a = 10; //以int为数据类型,自定义变量a,赋值10
int b =20; //以int为数据类型,自定义变量b,赋值15
int c =25; //以int为数据类型,自定义变量c,赋值20
int d =40; //以int为数据类型,自定义变量d,赋值25
System.out.println(a+b ); //输出a+b
System.out.println(a-b ); //输出a-b
System.out.println(a*b ); //输出a*b
System.out.println(a/b ); //输出a/(除以)b
}
}
看运行结果

30是a+b (正确)
-10是a-b (正确)
200是a乘b 的结果 (正确)
0是 a除以b的计算结果 (这是错误的)
为什么会有0的结果呢?
这是因为a除以b结果是0.5 ,而a和b都是以int 为数据类型,导致结果直接取了0.5的整数为的数值 ,即为0
然而这个结果在数理逻辑上无法成立
解决办法就是进行数据的转换
看修改之后的代码
package operator;
public class Demo01 {
public static void main(String[] args) {
//二元运算符 :两个数据进行运算
int a = 10; //以int为数据类型,自定义变量a,赋值10
int b =20; //以int为数据类型,自定义变量b,赋值15
int c =25; //以int为数据类型,自定义变量c,赋值20
int d =40; //以int为数据类型,自定义变量d,赋值25
System.out.println(a+b ); //输出a+b
System.out.println(a-b ); //输出a-b
System.out.println(a*b ); //输出a*b
System.out.println(a/(double)b); //输出a/(除以)b
//转为double数据类型
}
}
其执行结果如下:

结果为0.5 ,符合数理逻辑,正常了
下一个实例
package operator;
public class Demo02 {
public static void main(String[] args) {
//多种不同的数据类型进行运算
long a =12121212122121L; //以long为数据类型,自定义变量a=12121212122121L
int b=123; //以int为数据类型,自定义变量b=123
short c =128; //以short为数据类型,自定义变量c=123
byte d =8; //以int为数据类型,自定义变量d=8
System.out.println(a+b+c+d); //输出a+b+c+d的结果,结果为long
System.out.println(b+c+d); //输出b+c+d的结果,结果为int
System.out.println(c+d); //输出c+d的结果,结果为int 没有long的时候,不管有没有int,结果都是int
//说明:在多个数据进行运算的时候,只要有一个数据的数据类型为long,
//那么结果就是long(12121212122380)
//当多个运算数据当中没有long ,其结果就是int (整数)
//当多个数据为double,其结果为double,另外,int类型不可以转换为string,可以转换为double
}
}
运行结果:

下面讲关系运算符
看代码
package operator;
public class Demo03 {
public static void main(String[] args) {
//关系运算符 返回的结果 :有两个: 正确(true) 错误 (false) 布尔值
//会和if大量结合使用在一起
int a= 10; //以int为数据类型,自定义变量为a,赋值为10
int b= 20;//以int为数据类型,自定义变量为a,赋值为10
int c= 21;
System.out.println(c%a); //c除以a,得到一个余数, 进行输出 即21/10=2.....1 (取余)
System.out.println(a>b); // 判断a是否大于b,输出结果 (false)
System.out.println(a<b); // 判断a是否小于b,输出结果 (true)
System.out.println(a==b); // 判断a是否等于b,输出结果 (false)
System.out.println(a!=b); // 判断a是否不等于等于b,输出结果 (true)
}
}
其执行结果:

1.看有关概念以及源码,结合其执行结果,就可以理解了
2. 上面的代码写的已经非常清晰了
好了,有关Java的基本运算符就讲到这里,如有错误请指正,有问题私聊,谢谢大家
本文详细介绍了Java中的基本运算符,包括算术运算、关系运算和数据类型转换,重点讲解了运算符的优先级、结合性,并通过实例演示了运算符在实际编程中的应用,特别提到了类型转换对结果的影响。
544

被折叠的 条评论
为什么被折叠?



