之前我们在学习的过程中,用到了变量之间的计算。接下来,我们来学习一下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)
{
int a = 10;
int b = 20;
System.out.println(a > b);// false
System.out.println(a < b);// true
System.out.println(a == b);// false
System.out.println(a != b);// true
System.out.println(a >= b);// false
System.out.println(a <= b);// true
}
四:逻辑运算符
逻辑运算符有以下几个:!(非) &(单与)|(单或)^(异或)&&(双与)||(双或)
这个没有为什么,记住结论就可以了
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
从执行效率来讲,我们更推荐使用双与(&&)双或(||)运算符
这里先看到这,有好的建议,请在下方输入你的评论。