%02 java_Java基础学习02- 运算符

赋值运算符

赋值运算符主要用来做赋值操作的,将数值赋给某个变量,或者将一个变量的值赋给另外一个变量。

【语法】 数据类型 变量名 = 数值/变量,表示将等号右边的值赋给等号左边,代码如下:

public classTest{public static voidmain(String[] args) {int num = 10; //将10赋给num

String name = Gavin; //将Gavin赋给name

}

}

详解:

0fcf4c2e5d3679906d28317582b30565.png

除了 = ,其他的都是特殊的赋值运算符。 以 += 为例,如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++);

}

}

运行结果:

07f40d332bc2cde0f1cb20f3da56c2ad.png

num++ ,num初始值为10,num++表示需要取出当前num值,即打印结果为10.

public classTest{public static voidmain(String[] args) {int num = 10;

System.out.println(num++);

System.out.println(num);

}

}

运行结果:

ef355be11aea82dd91ade7843a18a719.png

num++操作后,再次输出num值,此时已进行+1操作,即输出结果为11.

++A演示代码如下:

public classTest{public static voidmain(String[] args) {int num = 10;

System.out.println(++num);

}

}

运行结果:

7adbd3f3f5868b14e31af12262af4c24.png

++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);

}

}

运行结果:

cbb701304cd8907c27ee5bba4187f7ad.png

关系运算符

关系运算符用来计算一个表达式是否成立,只有两种结果,即成立或者不成立,也就是前面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);

}

}

运行结果:

c298d8f26710dd285a900dca649d7403.png

逻辑运算符

逻辑运算符只能用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);

}

}

运行结果:

c035fe615dc7001329ca13de96506a7a.png

详解:

①先进行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);

}

}

运行结果:

3a42508a5e2cd82955ba2f8a9da5750d.png

详解:

先进行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);

}

}

运行结果:

ae146709c05f3972b2457b1c569444c3.png

位运算符

位运算符用来对二进制为进行操作,包括按位取反(~),按位与(&),按位或(|),异或(^),左移(<>)和无符号右移(>>>)。

位运算符只能对整数型和字符型数据进行操作。

运算符知识点先学习到这,接下来准备看看数组相关的内容了,加油!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值