java基础-05运算符

本文详细介绍了Java中的自增和自减运算符、逻辑运算符(尤其是逻辑与)以及位运算符,通过实例解析了运算过程和区别。对于自增运算符,讲解了前缀与后缀的区别;在逻辑运算中,对比了“&&”与“&”的不同;在位运算部分,解释了按位与、按位或、按位取反和按位异或的原理。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

目录

1.自增和自减运算符

2.逻辑运算符

3.位运算符


运算符是一些特殊的符号,主要用于数学函数、赋值语句和逻辑比较等,例如我们常见的“+”、“-”、“*”、“/”、“=”......都是运算符

运算符大体分为以下几种:

赋值运算符、算数运算符、自增和自减运算符、比较运算符、逻辑运算符、位运算符、三元运算符

在这篇博客中,仅介绍自增和自减运算符、逻辑运算符、位运算符三种(主要是这几种自己之前老是弄不清楚,所以来捋一下)


1.自增和自减运算符

自增或自减运算符的作用是使变量的值增1或减1,放在变量前面的自增(自减)运算符,会先将变量的值加1再参与表达式的运算;相对的,放在变量后面的自增(自减)运算符,变量会先参与表达式的运算,再将变量的值加1。

听起来可能有点绕,话不多说,直接上手演示:

public class AddAndDelete {
	
	public static void main(String[] args) {
		int a=1;
		int b=1;
		int x;
		int y;
		
		x=++a;//先自加再赋值,即a先变成2,再把值赋给x,因此x取值为2
		y=b++;//先赋值再自加,即b先把值赋给y,再自加变成2,因此y取值为1
		System.out.println("x的取值为"+x);
		System.out.println("y的取值为"+y);
		System.out.println("a的取值为"+a);
		System.out.println("b的取值为"+b);

	}

}

打印结果

x的取值为2
y的取值为1
a的取值为2
b的取值为2

查看以上实例的打印结果可以看到
a先加1,再将值赋给x;
而b先将值赋给y,再加1;
虽然最后的结果都是2,但是对于运算过程中被赋值的变量来说是不一样的。


2.逻辑运算符

逻辑运算符有三种:逻辑与(&&和&)、逻辑或(||)、逻辑非(!),在这里主要介绍逻辑与。

逻辑与有两种表达方式:
1.(表达式)&&(表达式)
2.(表达式)&(表达式)

&&和&的区别
“&&”会先去判断第一个表达式是否为true,当第一个表达式为false时,不会去判断第二个表达式,直接输出结果从而节省计算机判断的次数;
“&”则会去判断两个表达式。
 

3.位运算符

1)按位与(&)
当两个整型数据二进制中对应位都为1,结果位才为1,否则为0。以 “-3&5”举例子

int型变量5的二进制表示是(别忘了int占4个字节,一共有32位,所以是这样子表示)
00000000 00000000 00000000 00000101

int型变量-3的二进制表示是
11111111 11111111 11111111 11111111

则-3&5表示为
00000000 00000000 00000000 00000101
11111111 11111111 11111111 11111111
结果是5
00000000 00000000 00000000 00000101

2)按位或(|)
当两个整型数据二进制中对应位都为0,结果位才为0,否则为1。还是以“-3|5”举例子

-3|5表示为
00000000 00000000 00000000 00000101
11111111 11111111 11111111 11111111
结果是-3
11111111 11111111 11111111 11111111

3)按位取反(~)
将操作数二进制中的1修改为0,0修改为1。以“7”举例子

7的二进制表示为
00000000 00000000 00000000 00000111

按位取反后表示为
11111111 11111111 11111111 11111000
结果为-8

4)按位异或(^)
当两个整型数据二进制中对应位相同(同时为0或者同时为1)时,结果位为0,若不相同,则为1,以“7^10”为例

int型变量7的二进制表示是
00000000 00000000 00000000 00000111

int型变量10的二进制表示是
00000000 00000000 00000000 00001010

则7^10表示为
00000000 00000000 00000000 00000111
00000000 00000000 00000000 00001010
结果是13
00000000 00000000 00000000 00001101


 

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值