Java(七)运算符

简介: Java(七)运算符

之前我们在学习的过程中,用到了变量之间的计算。接下来,我们来学习一下java中运算符相关的知识。


一:算数运算符


这玩意没什么难度,在其他语言中也是有的。


Java的算数运算符有:+  -  *  /  %  ++  --


下面,我们在代码中依次尝试一下:


1:+


加号在java中除了是算数运算符之外,他还是字符串的链接符,功能和javascript中的加号是一样的。

public static void main(String[] args)
{
double result;
int a = 10;
int b = 20;
// + 输出:30
result = a + b;
// + 作为链接符使用
String res = a + " + " + b + " = " + (a + b);
System.out.println(res);
System.out.println(result);
}

2:-


这个没什么可说的

public static void main(String[] args)
{
double result;
int a = 10;
int b = 20;
// - 输出:-10
result = a - b;
System.out.println(result);
}

3:*


这个没什么可说的

public static void main(String[] args)
{
double result;
int a = 10;
int b = 20;
// * 输出:200
result = a * b;
System.out.println(result);
}

4:/


这个需要注意一下,我在代码中定义的a和b的数据类型都是int整形。


整形除以整形得到的也只能是整形。这个要注意。

public static void main(String[] args)
{
double result;
int a = 10;
int b = 20;
// 输出:0 整形除以整形得到的也只能是整形
result = a / b;
System.out.println(result);
}

5:%


这个没啥说的

public static void main(String[] args)
{
double result;
int a = 10;
int b = 25;
// 输出 5
result = b % a;
System.out.println(result);
}

6:++


(1):单独使用


public static void main(String[] args)
{
int a = 10;
a++;
// 输出 11
System.out.println(a);
}

这么用没有什么特别需要注意的。


(2):参与运算


++在前:

int b = 10;
int c = ++b;
// 输出 11
System.out.println(c);
// 输出 11
System.out.println(b);

++在后

int b = 10;
int c = b++;
// 输出 10
System.out.println(c);
// 输出 11
System.out.println(b);

++在前是先运算后赋值,++在后是先赋值后运算


++中自带强制类型转换。


7:--


--运算符使用方式请参照++运算符使用方式。


 二:赋值运算符


赋值运算符说白了就是 = ,除了等号,赋值运算符还有 +=、-=、/=、*=、%=


赋值运算符自带强制类型转换。


用法就比较简单了,没什么太需要注意的位置。我们在代码中测试一下:

public static void main(String[] args)
{
double result;
int i = 10;
i += 10;
System.out.println(i); // 20
i -= 10;
System.out.println(i); // 10
i /= 10;
System.out.println(i); // 1
i *= 10;
System.out.println(i); // 10
i %= 10;
System.out.println(i); // 0
}

三:关系运算符


关系运算符都有:>、<、<=、>=、!=、==


这里没有什么特别需要注意的地方,我们来在代码中测试一下。

public static void main(String[] args)
{
double result;
int i = 10;
i += 10;
System.out.println(i); // 20
i -= 10;
System.out.println(i); // 10
i /= 10;
System.out.println(i); // 1
i *= 10;
System.out.println(i); // 10
i %= 10;
System.out.println(i); // 0
}

四:逻辑运算符


逻辑运算符有以下几个:!(非) &(单与)|(单或)^(异或)&&(双与)||(双或)


这个没有为什么,记住结论就可以了


1:!(非)

/**
* @name 主方法
* @param args
*/
public static void main(String[] args)
{
System.out.println(!false); // true
System.out.println(!true); // false
System.out.println(!!false); // false
System.out.println(!!!false); // true
}

2:&(单与)


两边都是true,结果为true。有一个false,结果就是false。

/**
* @name 主方法
* @param args
*/
public static void main(String[] args)
{
System.out.println(true & true); // true
System.out.println(true & false); // false
System.out.println(false & false); // false
System.out.println(false & true); // false
}

3:|(单或)

/**
* @name 主方法
* @param args
*/
public static void main(String[] args)
{
System.out.println(true | true); // true
System.out.println(true | false); // true
System.out.println(false | false); // false
System.out.println(false | true); // true
}

两边只要有一个是true,结果为true。两个都是false,结果就是false。

 

4:^(异或)

/**
* @name 主方法
* @param args
*/
public static void main(String[] args)
{
System.out.println(true ^ true); // false
System.out.println(true ^ false); // true
System.out.println(false ^ false); // false
System.out.println(false ^ true); // true
}

两边相同为false,两边不同为true


 5:&&(双与)

/**
* @name 主方法
* @param args
*/
public static void main(String[] args)
{
System.out.println(true && true); // true
System.out.println(true && false); // false
System.out.println(false && false); // false
System.out.println(false && true); // false
}

使用结果如单&是一致的


6:||(双或)

/**
* @name 主方法
* @param args
*/
public static void main(String[] args)
{
System.out.println(true || true); // true
System.out.println(true || false); // true
System.out.println(false || false); // false
System.out.println(false || true); // true
}

使用结果如单|是一致的

 


那么现在就有一个小问题,单与双与,单或双或的区别是什么呢?


&&:如果左边为false,右边就不再执行了,结果就为false


&:如果左边为false,右边依然会执行,结果就为false


II:如果左边为true,右边就不再执行了,结果就为true


I:如果左边为true,右边依然会执行,结果就为true


 

从执行效率来讲,我们更推荐使用双与(&&)双或(||)运算符


 

这里先看到这,有好的建议,请在下方输入你的评论。


目录
相关文章
|
3月前
|
Java
Java运算符
Java运算符
54 12
|
4月前
|
Java 测试技术 数据处理
Java零基础教学(17):Java运算符详解
【8月更文挑战第17天】Java零基础教学篇,手把手实践教学!
73 4
|
2月前
|
算法 Java 测试技术
🌟Java 零基础 | 详解 单目运算符
【10月更文挑战第14天】本文收录于「滚雪球学Java」专栏,专业攻坚指数级提升,希望能够助你一臂之力,帮你早日登顶实现财富自由🚀;同时,欢迎大家关注&&收藏&&订阅!持续更新中,up!up!up!!
51 7
|
2月前
|
Java 测试技术 开发者
🌟Java 零基础 | 深入理解三目运算符
【10月更文挑战第13天】本文收录于「滚雪球学Java」专栏,专业攻坚指数级提升,希望能够助你一臂之力,帮你早日登顶实现财富自由🚀;同时,欢迎大家关注&&收藏&&订阅!持续更新中,up!up!up!!
54 3
|
2月前
|
Java 测试技术 开发者
🌟Java零基础-Lambda运算符详解 🌟
【10月更文挑战第12天】本文收录于「滚雪球学Java」专栏,专业攻坚指数级提升,希望能够助你一臂之力,帮你早日登顶实现财富自由🚀;同时,欢迎大家关注&&收藏&&订阅!持续更新中,up!up!up!!
26 1
|
2月前
|
Java
JAVA易错点详解(数据类型转换、字符串与运算符)
JAVA易错点详解(数据类型转换、字符串与运算符)
53 4
|
2月前
|
安全 Java 测试技术
🌟 Java 零基础 | 详解 instanceof 运算符
【10月更文挑战第1天】本文收录于「滚雪球学Java」专栏,专业攻坚指数级提升,希望能够助你一臂之力,帮你早日登顶实现财富自由🚀;同时,欢迎大家关注&&收藏&&订阅!持续更新中,up!up!up!!
50 1
|
2月前
|
存储 Java C语言
【一步一步了解Java系列】:了解Java与C语言的运算符的“大同小异”
【一步一步了解Java系列】:了解Java与C语言的运算符的“大同小异”
43 3
|
3月前
|
Java 测试技术 程序员
Java零基础(23) - Java赋值运算符,了解一下!
【9月更文挑战第2天】🏆本文收录于「滚雪球学Java」专栏,专业攻坚指数级提升,希望能够助你一臂之力,帮你早日登顶实现财富自由🚀;同时,欢迎大家关注&&收藏&&订阅!持续更新中,up!up!up!!
65 11
|
4月前
|
Java 测试技术 计算机视觉
Java零基础(18) - Java运算符,了解一下!
【8月更文挑战第18天】🏆本文收录于「滚雪球学Java」专栏,专业攻坚指数级提升,希望能够助你一臂之力,帮你早日登顶实现财富自由🚀;同时,欢迎大家关注&&收藏&&订阅!持续更新中,up!up!up!!
46 5