Day10-Java基础语言-基本运算符
基本运算符
运算符
JAVA语言支持如下运算符:
-
算术运算符:+,-,*,/,%(模运算,取余),++,--
-
赋值运算符:==
-
关系运算符:>,<,>=,==(等于,是两个等号来判断的!!),!=(不等于),instanceof
-
逻辑运算符:&&(与),||(或),!(非)
-
位运算符:&,|,^,~,>>,<<,>>>(了解!!!)
-
条件运算符?:
-
扩展赋值运算符:+=,-=,*=,/=
算数运算符
public class demo1 { public static void main(String[] args) { int a=10; int b=20; int c=25; int d=25; System.out.println(a+b); System.out.println(a-b); System.out.println(a*b); System.out.println(a/(double)b); } }

public class demo1 { public static void main(String[] args) { long a=2121212121212212L; int b=123; short c=10; byte d=8; System.out.println(a+b+c+d); System.out.println(b+c+d); System.out.println(c+d); } }

如果有一个数据是double,那么结果也将是double类型。
public class demo1 { public static void main(String[] args) { int a=10; int b=21; System.out.println(b%a); } }

关系运算符
public class demo1 { public static void main(String[] args) { int a=10; int b=20; System.out.println(a>b); System.out.println(a<b); System.out.println(a==b); System.out.println(a!=b); } }

自增自减运算符
++:自增
--:自减
public class demo1 { public static void main(String[] args) { int a=3; int b=a++; System.out.println(a ); int c=++a; System.out.println(a); System.out.println(b); System.out.println(c); } }

-
a赋值为3
-
a=b=3,然后a自增为4
-
此刻输出a为4
-
a自增为5,再让a=c=5
-
此刻,输出a=5,b=3,c=5
a++和++a以及a--和--a都是运算时机的不同
幂运算
public class demo1 { public static void main(String[] args) { double pow=Math.pow(2,3); System.out.println(pow); } }
很多运算,我们会使用很多工具类来操作!
逻辑运算符
逻辑与运算:两个变量都为真,结果才为true
逻辑或运算:两个变量有一个为真,则结果才为true
逻辑非运算:如果是真,则为false,如果是假,则为true
public class demo1 { public static void main(String[] args) { boolean a=true; boolean b=false; System.out.println("a && b:"+(a && b)); System.out.println("a || b:"+(a || b)); System.out.println("!(a && b):"+!(a && b)); } }

短路运算
public class HelloWorld { public static void main(String[] args) { int c=5; boolean d=(c<4) && (c++<4); System.out.println(d); System.out.println(c); } }
当d中第一个(c<4)为假时,后面的运算将不再执行,因此输出的c仍然为5

位运算符
与二进制有关系,效率极高
public class demo1 { public static void main(String[] args) { /* A =0011 1100 B =0000 1101 //按位来运算 A & B = 0000 1100//相同则保留原数字,不同则为0 A | B = 0011 1101//相同保留原数字,不同为1 A ^ B = 0011 0001//相同为0,不同为1 ~ B = 1111 0010//相同为1,不同为0 */ } }
左移:<< 等同于*2
右移:>> 等同于/2
public class demo1 { public static void main(String[] args) { //如何快速计算2*8 System.out.println(2<<3); } }
条件运算符
扩展运算符
public class demo1 { public static void main(String[] args) { int a=10; int b=20; a+=b; System.out.println(a); } }

字符串连接符
public class demo1 { public static void main(String[] args) { int a=10; int b=20; System.out.println(a+b); System.out.println(""+a+b); System.out.println(a+b+""); } }

三元运算符
x ? y : z
如果 x == true,则结果为 y ,否则结果为 z
public class demo1 { public static void main(String[] args) { int score=80; String type=score<60?"不及格":"及格"; System.out.println(type); } }

浙公网安备 33010602011771号