Java中的逻辑运算符和位运算符
- 格式:doc
- 大小:51.50 KB
- 文档页数:2
java的逻辑运算符
Java的逻辑运算符指的是在Java程序中使用的逻辑运算符,包括位置运算“与(&)”、“或(|)”和“异或(^)”,以及逻辑运算“与(&&)”、“或(||)”,它们是Java的基本运算符。
1、位运算“与(&)”:位运算符“&”在Java中表示“与”,它主要用于比较两个变量的值,如果两个变量都为1,那么计算结果结果也是1,否则为零。
2、位运算“或(|)”:位运算符“|”在Java中表示“或”,它主要用来求解两个变量值,如果其中一个变量值为1,那么最终的计算结果就为1,否则就是零。
3、位运算“异或(^)”:它是一种逻辑运算符,它的原理是比较两个变量的值,如果它们的值相同,那么最终的计算结果就为0;如果它们的值不同,那么最终的计算结果就为1。
4、逻辑运算“与(&&)”:逻辑运算符“&&”在Java中表示“与”,它主要用来判定多个变量的关系,当多个变量都为真时,最终的计算结果才为真。
5、逻辑运算“或(||)”:逻辑运算符“||”在Java中表示“或”,它主要用来判定多个变量的关系,只要有一个变量的值为真,那么最终的计算结果就为真,即只要有一个条件成立,就可以使程序
运行。
总之,Java的逻辑运算符是在Java程序中常见的运算符,它可以用来比较两个变量的值,使用更加灵活,这些运算符是Java开发者不
可或缺的。
Java基础之数据类型,运算符与流程控制开始重新找工作了,但是感觉基础比较薄弱,所以拿出点时间复习以下以前的知识,一步一步打好基础,让步子走的更稳健一些,虽然基层差,但我是每天都在进步的,而且进步的很快!数据类型基本数据类型(Primitive Type)和引用数据类型(Reference Type)基本数据类型布尔类型和数值类型,数值类型又可分为整数类型和浮点类型∙整数类型byte 1个字节short 2个字节int 4个字节long 8个字节∙字符类型char 2个字节∙浮点型double 8个字节float 4个字节∙布尔类型boolean 1个字节整型整数常量有4种:十进制,二进制,八进制,十六进制//以0开头的是八进制 \nint octalValue = 013//以0x或0X开头的整数常量是十六进制的整数int hexValue1 = 0x13;int hexValue2 = 0XaF;字符型字符常量有3种表示形式1.直接通过单个字符来指定字符型常量,例如’a','4'2.通过转义字符表示特殊字符型常量,例如‘\n','\t'3.直接使用Unicode值来表示字符型常量,格式是'\uXXXX’范围在0~65535内,char类型和int类型可以互相转换浮点型固定的表数范围与长度,字段长度和表数范围与机器无关。
∙float 第1位是符号位,接下来8位表示指数,接下来23位表示尾数∙double 第1位是符号位,接下来的11位表示指数,接下来52位表示尾数,小数默认类型高精度数字BigInteger支持任意精度的整数BigDecimal支持任意精度的定点数浮点数有两种表示形式1.十进制数形式:简单的浮点数,例如 5.12,512.02.科学计数法形式:例如5.12e2,5.12E23个特殊的浮点数:正无穷大、负无穷大和非数布尔型只能是true或false,不能用0或者非0代表。
java中的符号1.算术运算符运算符 含义 范例 结果 + 加法运算符 5+3 8- 减法运算符 5-3 2 * 乘法运算符 5*3 15/ 除法运算符 5/3 1 % 取模(取余)运算符 5%3 2++ ⾃增运算符 i=2;j=i++/j=++i i=3;j=2/3-- ⾃减运算符 i=2,j=i--/j=--i i=1;j=2/12.关系运算符运算符 含义 范例 结果== 等于 5==6 false!= 不等于 5!=6 true> ⼤于 5>6 false< ⼩于 5<6 true>= ⼤于等于 5>=6 false<= ⼩于等于 5<=6 true 3.逻辑运算符运算符 含义 运算规则& 逻辑与 两个操作都是true,结果才为true;不论左边取值,右边的表达式都会进⾏运算 | 逻辑或 两个操作数⼀个是true,结果为true;不论左边取值,右边的表达式都会进⾏运算^ 逻辑异或 两个操作数相同,结果为false;两个操作数不同,结果为true! 逻辑反(逻辑⾮) 操作数为true,结果为false;操作数为false结果为true && 短路与 运算规则同"&",不同在于左边为false,右边的表达式不会运算 || 短路或 运算规则同"|",不同在于如果左边为true,右边的表达式不会运算4.位运算符 含义 运算规则& 按位与 两个操作数都是1,结果才为1| 按位或 两个操作数⼀个为1,结果为1 ^ 按位异或 两个操作数相同,结果为0;两个操作数不同,结果为1 ~ 按位⾮/取反 操作数为1,结果为0;操作数为0,结果为1<< 左移 右侧空补位0>> 右移 左侧空位补最⾼位,即符号位>>> ⽆符号右移 左侧空位补0运算符的优先级优先级 运算符 1 ()、[]、. 2 !、~、++、--3 */%4 +、-5 <<、>>、>>>6 <、<=、>、>=、instanceof7 ==、!=8 &9 ^10 |11 &&12 ||13 ?:14 =、+=、-=、*=、/=、%=、&=、|=、^=、~=、<<=、>>=、>>>=。
java基础语法2-运算符与流程控制关键字-标识符-常量和变量-运算符-流程控制-⽅法-数组5 运算符算术运算符Arithmetic Operators赋值运算符Assignment Operators⽐较运算符Compare Operators逻辑运算符Logic Operators位运算符Bitwise Operators三元运算符Ternary Operator5.1算术运算符Arithmetic Operators注意:1.除法操作两个操作数是整数时,结果也是整数,余数部分舍弃int x = 3500;System.out.println(x / 1000 * 1000);2.%操作获得的是除法操作的余数%结果的符号取决于被模数,即%前⾯的数的符号决定了结果的正负5.1.1++,--++:⾃加放在变量前,先⾃增,再使⽤放在变量后,先使⽤,后⾃增--:⾃减放在变量前,先⾃减,后使⽤放在变量后,先使⽤,后⾃减注意:只能对变量使⽤练习题:练习题1:int a = 10;int b = 10;int c = 10;a = --c;b = c++;c = ++a;经过以上操作,abc的值分别是多少?练习题2:int a = 4;int b = (++a)+(a++)+(a*10);经过以上操作,ab的值分别是多少?练习题5.1.2字符串参与运算:1.两个操作数都是字符串2.⼀个字符串⼀个变量3.多个操作数“+”除了字符串相拼接功能外,还能把⾮字符串转换成字符串,加空串即可String s = 5 + "";思考:System.out.println("5+5="+5+5);//打印结果是?System.out.println(5+5+"hello");思考5.2扩展的赋值运算符符号: = , +=, -=, *=, /=, %=(扩展的赋值运算符) 左侧为变量,右侧为字⾯量,或变量,或表达式⽰例: int a,b,c; a=b=c=3;//⽀持连续赋值 int a = 3;a += 5; //等同运算:a=a+5;思考:short s = 3;s = s + 2; //报错s += 2; //扩展的赋值运算符会默认做强制的类型转换s=(short)(s+2)s=s+2//编译失败,因为s会被提升为int类型,运算后的结果还是int类型。
Java语言中的表达式是由运算符与操作数组合而成的,所谓的运算符就是用来做运算的符号。
在Java中的运算符,基本上可分为算术运算符、关系运算符、逻辑运算符、位运算符、赋值运算符、转型运算符等。
一、算术运算符所谓算术运算符,也就是我们数学中学到的加、减、乘、除等运算。
这些操作可以对几个不同类型的数字进行混合运算,为了保证操作的精度,系统在运算的过程中会做相应的转换。
1所谓数字精度,也就是系统在做数字之间的算术运算时,为了尽最大可能地保持计算机的准确性,而自动进行相应的转换,将不同的数据类型转变为精度最高的数据类型。
规则如下:1)当使用运算符把两个操作数结合到一起时,在进行运算前两个操作数会转化成相同的类型。
2)两个操作数中有一个是double类型的,则另一个将转换成double型。
3)两个操作数中有一个是float类型的,则另一个将也转换成float型。
4)两个操作数中有一个是long类型的,则另一个将也转换成long型。
5)任何其它类型的操作,两个操作数都要转换成int类型。
2对于int型的相关操作,加、减、乘的结果都是非常容易理解的,重点讲一下除(/)的运算。
两个整数相除的结果是整数,这一点与数学中是不同的,在Java中,两个整数相除的结果类似于数学中的求模运算。
整除的余数是用%表示,例如15 / 2 = 7,而不是7.5,15 % 2 = 1。
我们用程序验证一下:/*两个整数相除及求余数*/public class Divide{public static void main(String[] args){int a = 15;int b = 2;double c = 2;System.out.println(a + "/" + b + "=" + (a / b));System.out.println(a + "%"+ b + "=" + (a % b));System.out.println(a + "/" + c + "=" + (a / c));System.out.println(a + "%" + c + "=" + (a % c));}}输出结果:15 / 2 = 715 % 2 = 115 / 2.0 = 7.515 % 2.0 = 1.03在循环与控制中,我们经常会用到类似于计数器的运算,它们的特征是每次的操作都是加1或减1。
java运算符优先级规则Java运算符优先级规则是指在一个表达式中有多个运算符时,Java程序会按照一定的规则来确定运算符的优先级和结合性,以确保表达式得到正确的计算结果。
Java中的运算符优先级从高到低的顺序如下:1. ():括号中的表达式优先级最高,先计算括号中的表达式。
2. ++,--:自增、自减运算符优先级次之,先执行自增、自减运算。
3. !:逻辑非运算符优先级次之,先执行逻辑非运算。
4. *,/,%,:乘、除、取模运算符优先级相同,先执行乘、除、取模运算。
5. +,-:加、减运算符优先级相同,先执行加、减运算。
6. <<,>>:位移运算符优先级相同,先执行位移运算。
7. <,<=,>,>=:比较运算符优先级相同,先执行比较运算。
8. ==,!=:相等、不相等运算符优先级相同,先执行相等、不相等运算。
9. &,|,^:位与、位或、位异或运算符优先级相同,先执行位运算。
10. &&,||:逻辑与、逻辑或运算符优先级相同,先执行逻辑运算。
11. =,+=,-=,*=,/=,%=,<<=,>>=,&=,|=,^=:赋值运算符优先级最低,先执行赋值运算。
值得注意的是,如果在一个表达式中有多个同级别的运算符,那么会根据其结合性来决定执行顺序。
Java中的运算符结合性分为左结合和右结合两种,左结合运算符从左往右依次执行,右结合运算符从右往左依次执行。
例如,a + b + c,加号运算符是左结合的,所以先执行 a + b,然后再加上 c 的值。
另外,如果表达式中有多个不同优先级的运算符,那么Java会首先计算优先级高的运算符,然后再计算优先级低的运算符。
如果要改变运算符优先级和结合性的默认规则,可以通过添加括号来强制改变运算符的执行顺序。
java位运算符的用法Java语言提供了一组位运算符,它们分别为&、|、~、^、>>和它们可以对整数类型和字面量执行位操作。
在本文中,我们将详细介绍Java中位运算符的各种用法,并说明它们的作用。
首先,我们来介绍&位运算符,它被称为按位与运算符,它的作用是对一个或多个整数值的每一位执行逻辑与操作。
它的基本运算规则是,当两个值在某一位上都是1时,结果为1,否则为0,比如1101 & 1011的结果是1001。
其次,我们来介绍|位运算符,它被称为按位或运算符,它的作用是对一个或多个整数值的每一位执行逻辑或操作。
它的基本运算规则是,当两个值在某一位上有一个是1时,结果为1,否则为0,比如1101 | 1011的结果为1111。
再次,我们来介绍~位运算符,它被称为按位取反运算符,它的作用是取反一个整数值的每一位。
它的基本运算规则是,当一位是1时,结果为0,当一位是0时,结果为1,比如~1101的结果是0010。
第四,我们来介绍^位运算符,它被称为按位异或运算符,它的作用是对一个或多个整数值的每一位执行逻辑异或操作。
它的基本运算规则是,当两个值在某一位上值不同时,结果为1,否则为0,比如1101 ^ 1011的结果为0110。
第五,我们来介绍>>位运算符,它被称为带符号右移运算符,它的作用是把一个整数值的所有位数向右移动指定位数。
它的基本运算规则是,右移一位相当于把这个数除以2,比如1101>>1的结果是110。
最后,我们来介绍运算符,它被称为带符号左移运算符,它的作用是把一个整数值的所有位数向左移动指定位数。
它的基本运算规则是,左移一位相当于把这个数乘以2,比如1101<<1的结果是11010。
总结一下,我们所讨论的Java中位运算符主要有&、|、~、^、>>和种,它们可以用来对整数类型和字面量进行位运算。
其中&是按位与运算符,|是按位或运算符,~是按位取反运算符,^是按位异或运算符,>>是带符号右移运算符,带符号左移运算符。
java中符号的用法
1.算术运算符:+,-,*,/,%。
用于执行基本的加减乘除和取模操作。
2. 赋值运算符:=,+=,-=,*=,/=,%=。
用于给变量赋值或对变量进行简单的运算赋值。
3. 关系运算符:==,!=,>,<,>=,<=。
用于比较两个值之间的关系,返回一个布尔值。
4. 逻辑运算符:&&,||,!。
用于组合多个条件,并返回一个布尔值。
5. 位运算符:&,|,^,~,<<,>>,>>>。
用于对二进制数进行位操作,如按位与、按位或、按位异或等。
6. 条件运算符:?:。
用于根据条件的真假来返回不同的值。
7. 类型转换符:(类型)。
用于将一个值转换为指定的数据类型。
8. 其他符号:[],(),{},;,:,.,...,@,->。
用于表示数组、方法调用、代码块、语句结束、冒号运算、点运算、可变参数、注解和Lambda表达式等。
熟练掌握Java中的符号用法,能够更好地编写出高效、准确、易读的代码。
- 1 -。