JAVA的运算符1-6:
1.算术运算符:+ - * / % (前)++ (后)++ (前)-- (后)-- +
public static void main(String[] args) {
int[] arr = new int[5];//创建数组
int number1 = 1;
int number2 = 2;
// +
System.out.println(number1 + number2);//3
// -
System.out.println(number2 - number1);//1
// *
System.out.println(number2 * number1);//2
// /
System.out.println(number2 / number1);//2
// % 取模
System.out.println(number2 % 2); //2/2 余数 0
//(前)++ :先自增1,后运算
int a = 0;
arr[++a] = 10;
System.out.println("前++:" + a + "数组角标:" + arr[1]);//a初始为零,前加加a,数组角标为1
//(后)++ :先运算,后自增1
int b = 0;
arr[b++] = 11;
System.out.println("后++:" + b + "数组角标:" + arr[0]);//b初始为零,前加加b,数组角标为0
//(前)-- :先自减1,后运算
a = 2;
arr[--a] = 12;
System.out.println("前++:" + a + "数组角标:" + arr[1]);//a初始为零,前加加a,数组角标为1
//(后)-- :先运算,后自减1
b = 0;
arr[b--] = 13;
System.out.println("后++:" + b + "数组角标:" + arr[0]);//b初始为零,前加加b,数组角标为0
//连接符:+:只能使用在String与其他数据类型变量之间使用。
String name = "Tom";
int age = 18;
String sum = name + ":" + age;
System.out.println(sum);
}
2.赋值运算符:= += -= *= /= %=
public static void main(String[] args) {
// =
int a = 1;
System.out.println(a);//1
String a1 = "abc";
System.out.println(a1);//abc
String a2 = a1;
System.out.println(a2);//abc
// +=
int b = 1;
b += 2;//b = b + 2 =3
System.out.println(b);
// -=
int c = 2;
c -= 1;//c = c - 1 =1
System.out.println(c);
// *=
int d = 2;
d *= 2; //d = d * 2 =4
System.out.println(d);
// /=
int e = 4;
e /= 2; // e = e / 2 =2
System.out.println(e);
// %=
int f = 4;
f %= 2; //f = f % 2 =0
System.out.println(f);
}
3.比较运算符(关系运算符): == != > < >= <= instanceof
public static void main(String[] args) {
// ==
System.out.println(1 == 1);//true
System.out.println(1 == 2);//false
// !=
System.out.println(1 != 1);//false
System.out.println(1 != 2);//true
// >
System.out.println(1 > 2);//false
System.out.println(2 > 1);//true
// >=
System.out.println(1 >= 1);//true
System.out.println(1 >= 2);//false
// <
System.out.println(2 < 1);//false
System.out.println(1 < 2);//true
// <=
System.out.println(1 <= 1);//true
System.out.println(2 <= 1);//false
// instanceof
//判断对象是否属于要判断的类
Object o = new Object();
System.out.println(o instanceof Object);//true
String s = new String();
System.out.println(s instanceof Object);//true String 继承 Object
System.out.println(o instanceof String);//false
}
4.逻辑运算符:& && | || ! ^
public static void main(String[] args) {
// & 和 && 与
int a = 0;
int b = 1;
if (a>100 & a--<0){
}
System.out.println(a);// &左边为false 右边正常执行 a = -1
System.out.println("--------------------");
if (a>100 && a--<0){
}
System.out.println(a);// &&左边为false 右边不会执行 a = -1
/*
& 与 && 的运算结果相同,当符号左边是true时,二者都会执行符号右边的运算
当符号左边是false时-,&继续执行符号右边的运算。&&不再执行符号右边的运算。
推荐使用&&
*/
// | 和 || 或
if (b<100 | b--<0){
}
System.out.println(b);// |左边为true 右边还会执行 b = 0
System.out.println("--------------------");
if (b<100 || b--<0){
}
System.out.println(b);// |左边为true 右边不会执行 b = 0
/*
| 与 || 的运算结果相同,当符号左边是false时,二者都会执行符号右边的运算
当符号左边是true时,|继续执行符号右边的运算,而||不再执行符号右边的运算
推荐使用||
*/
// !非
int c = 0;
if (!(1 == 1)){
c++;
}
System.out.println(c);//0 !作用让true变false,反转布尔值
// ^ 异或
System.out.println(true ^ false);// true
System.out.println(true ^ true);//false
System.out.println(false ^ true);//true
}
5.位运算符:<< >> >>> & | ^ ~
public static void main(String[] args) {
// << 左移
int a = 2;
a = a << 1;
System.out.println(a);//每向左移1位,相当于 * 2 =4
a = -2;
a = a << 1;
System.out.println(a);//每向左移1位,相当于 * 2 =-4
// >> 右移
int b = 4;
b = b >> 1;
System.out.println(b);//每向右移1位,相当于 / 2 =2
b = -4;
b = b >> 1;
System.out.println(b);//每向右移1位,相当于 / 2 =-2
// >>> 无符号右移
int c = 4;
c = c >>> 1;
System.out.println(c);//每向右移1位,相当于 / 2,但是二进制最高位不是正负符号位了 =2
c = -4;
c = c >>> 1;
System.out.println(c);//涉及二进制补码
}
6.三元运算符:(条件表达式)? 表达式1 : 表达式2
public static void main(String[] args) {
int a = 10;
int b = 20;
int max = (a > b) ? a : b;
int min = (a < b)?a:b;
//如果表达式为true,则执行表达式1,如果表达式为false,则执行表达式2。
System.out.println("max:" + max);
System.out.println("min:" + min);
}
初学JAVA时敲得,留作纪念。