赋值运算符
赋值运算符主要用来做赋值操作的,将数值赋给某个变量,或者将一个变量的值赋给另外一个变量。
【语法】 数据类型 变量名 = 数值/变量,表示将等号右边的值赋给等号左边,代码如下:
public classTest{public static voidmain(String[] args) {int num = 10; //将10赋给num
String name = Gavin; //将Gavin赋给name
}
}
详解:
除了 = ,其他的都是特殊的赋值运算符。 以 += 为例,如a+=b,相当于 a = a + b,首先会进行加法运算 a + b,再将运算结果赋值给变量a,所以a = 5, b = 2。
其他特殊的赋值运算符可以此类推。
基本算术运算符
使用基本算术运算符可以完成Java程序的基本数学运算,包括 +,-,*,/,%,++,--。其中+,-,*,/,%会自动完成操作数的数据类型转换,由低字节转为高字节。
基本算术运算符使用方式:
变量A + 变量B:求出变量A和变量B的相加之和。
变量A - 变量B:求出变量A和变量B的相减之差。
变量A * 变量B:求出变量A和变量B的相乘之积。
变量A / 变量B:求出变量A和变量B的相除之商(若变量A和变量B都未整型,则除不尽时只取商点整数部分,如10/3的值为3;若变量A和变量B至少有一个是浮点型,则取完整的商,如10/3.0的值为3.3333333333333335,浮点型精度问题导致最后一位为5)。
变量A % 变量B:求助变量A和变量B相除之后的余数,也就是所说的“取余”。
------------------------------------------------------- 分割线 --------------------------------------------------------------
++、--的基本语法:变量A++,++变量A,变量A++,--变量A:
++: 求出变量A+1的值,等于变量A+1;
-- : 求出变量A-1的值,等于变量A-1.
详解:
变量A++和++变量A是有区别的:变量A++表示当前操作先取出变量A的值,再进行运算;++变量A表示当前操作先进行运算,再取出变量A的值。
A++演示代码如下:
public classTest{public static voidmain(String[] args) {int num = 10;
System.out.println(num++);
}
}
运行结果:
num++ ,num初始值为10,num++表示需要取出当前num值,即打印结果为10.
public classTest{public static voidmain(String[] args) {int num = 10;
System.out.println(num++);
System.out.println(num);
}
}
运行结果:
num++操作后,再次输出num值,此时已进行+1操作,即输出结果为11.
++A演示代码如下:
public classTest{public static voidmain(String[] args) {int num = 10;
System.out.println(++num);
}
}
运行结果:
++num表示先进行+1运算,再取出num值打印输出,所以结果为11.
注:A-- 与 --A用法同上。
复合算术运算符
复合算术运算符可以在基本算术运算符的基础上进一步简化代码,包括+=,-=,*=,/=,%=,具体用法如下:
变量A += 变量B:先求出变量A和变量B的相加之和,再把计算结果赋给变量A,等同于变量A = 变量A + 变量B。
变量A - 变量B:等同于变量A = 变量A - 变量B。
变量A * 变量B:等同于变量A = 变量A * 变量B。
变量A / 变量B:等同于变量A = 变量A / 变量B。
变量A % 变量B:等同于变量A = 变量A % 变量B。
代码如下:
public classTest{public static voidmain(String[] args) {int num1 = 10;int num2 = 5;
num1+=num2;
System.out.println(num1);
}
}
运行结果:
关系运算符
关系运算符用来计算一个表达式是否成立,只有两种结果,即成立或者不成立,也就是前面Java基础学习01- 基本数据类型中学到的boolean类型,其值为true和false。
其中ture表示成立(真),false表示不成立(假),我们可以用boolean类型的值来表示关系运算符的运算结果。
关系运算符包括: ==,!=,>,=,<=。其中>,=,<=只能用作数值类型的比较; ==,!=既可以比较数值类型,也可以比较两个对象是否相等。具体用法如下:
变量A == 变量B:变量A和变量B是否相等,相等的运算结果为ture,不相等的运算结果为false。
变量A != 变量B:变量A和变量B是否不相等,不相等的运算结果为ture,相等的运算结果为false。
变量A > 变量B:变量A是否大于变量B,大于的运算结果为ture,等于或者小于的运算结果为false。
变量A < 变量B:变量A是否小于变量B,小于的运算结果为ture,大于或者等于的运算结果为false。
变量A >= 变量B:变量A是否大于等于变量B,大于或者等于的运算结果为ture,小于的运算结果为false。
变量A <= 变量B:变量A是否小于等于变量B,小于或者等于的运算结果为ture,大于的运算结果为false。
代码如下:
public classTest{public static voidmain(String[] args) {int num1 = 10;int num2 = 5;boolean result1 = num1 ==num2;boolean result2 = num1 >num2;boolean result3 = num1 =num2;boolean result5 = num1 <=num2;
System.out.println(result1);
System.out.println(result2);
System.out.println(result3);
System.out.println(result4);
System.out.println(result5);
}
}
运行结果:
逻辑运算符
逻辑运算符只能用boolean类型的数据运算,判断boolean数据之间的逻辑关系,包括与、或、非这三种关系。
运算符有&(与)、|(或)、&&(短路与)、||(短路或)、!(非),具体用法如下:
变量A & 变量B:只有当变量A和变量B都为true,结果为true,否则为false。
变量A | 变量B:当变量A或变量B有一个为true,结果为true,否则为false。
变量A && 变量B:只有当变量A和变量B都为true,结果为true,否则为false。
变量A || 变量B:当变量A或变量B有一个为true,结果为true,否则为false。
!变量A:若变量A为true,结果为false;若变量A为false,结果为true。
&& 和 || 效率比 & 和 |要高。
&代码如下:
public classTest{public static voidmain(String[] args) {int num1 = 10;int num2 = 11;
System.out.println((num1++==num2)&(++num1==num2));
System.out.println(num1);
}
}
运行结果:
详解:
①先进行num1++的运算,++在操作数之后,所以先使用操作数再进行++运算,此时的num1为10,再进行10==num2的运算,结果为false;运算完成之后的num1值为11;
②先进行++num1的运算,++在操作数之前,所以先进行++运算在使用操作数,此时结果为12,再进行12==num2的运算,结果为false;
③false & false的结果为false。
&&代码如下:
public classTest{public static voidmain(String[] args) {int num1 = 10;int num2 = 11;
System.out.println((num1++==num2)&&(++num1==num2));
System.out.println(num1);
}
}
运行结果:
详解:
先进行num++的运算,此时的num1为10,再进行10==num2的运算,结果为false。表达式1的值为false,不管表达式2的值为ture还是false,整个运算结果都为false,这里使用短路与(&&),所以此时不会执行表达式2的代码,直接返回false,num1的值为11.
条件运算符
条件运算符也叫做三元运算符,可以完成给变量赋值操作。根据不同的条件给同一个变量赋不同的值,语法为:变量A = 条件?值1:值2,若条件成立,值1赋值给变量A;否则值2赋值给变量A。
代码如下:
public classTest{public static voidmain(String[] args) {
String str1= 11 > 10 ? "11 > 10 成立":"11 > 10 不成立";
System.out.println(str1);
String str2= 11 < 10 ? "11 < 10 成立":"11 < 10 不成立";
System.out.println(str2);
}
}
运行结果:
位运算符
位运算符用来对二进制为进行操作,包括按位取反(~),按位与(&),按位或(|),异或(^),左移(<>)和无符号右移(>>>)。
位运算符只能对整数型和字符型数据进行操作。
运算符知识点先学习到这,接下来准备看看数组相关的内容了,加油!