java中的运算符的概念,以及常用的逻辑运算符
1、算数运算符
1。1问题1什么叫做运算符2什么叫做表达式3算术运算符有哪些
1。2答案
1。2。1运算符的概念
对常量或者变量进行操作的符号
1。2。2表达式
用运算符把常量或者变量连接起来符合java语法的式子就可以称为表达式。
不同运算符连接的表达式体现的是不同类型的表达式。
举例说明:inta10;intb20;intcab;
:是运算符,并且是算术运算符。
ab:是表达式,由于是算术运算符,所以这个表达式叫算术表达式。
1。2。3算术运算符的分类
注意:和的区别:两个数据做除法,取结果的商,取结果的余数。整数操作只能得到整数,要想得到小数,必须有浮点数参与运算。publicclassDemo1Operator{publicstaticvoidmain(String〔〕args){System。out。println(52);System。out。println(52。0);System。out。println(5。02);System。out。println(5。02。0);System。out。println();System。out。println(52);System。out。println(42);}}
2、字符的操作
2。1问题1字符的操作运算过程2什么是ASCII码表3为什么要有这样的码表
2。2答案
2。2。1字符的操作运算过程
当(byteshortcharint)在一起运算的时候,都会提升为int之后,再进行运算;char提升为int的过程,就是查找码表中,字符所对应的数值表示形式
2。2。2ASCII码表
ASCII(AmericanStandardCodeforInformationInterchange):美国信息交换标准代码,是计算机中字节到字符的一套对应关系。通俗讲就是每个字符都有一个对应的数字
常见的char类型数据代表的int值
a97A65048举例:intaA1;1。根据A查找码表找到对应的数值652。需要提升为int类型3。进行算数运算得到结果66int类型4。将结果赋值给变量a举例:大写转小写charcA;charc1(char)(c32);
2。2。3为什么要有这样的码表
计算机中数据的存储,都是以字节的形式在进行存储,我们不会直接操作繁琐的、不便于记忆的字节
2。3补充进制相关在计算机内部所有的数据都使用二进制表示,每一个二进制位(bit)有0和1两种因此8个二进制位就可以组合出256种状态,,这被称为一个字节(byte)一个字节一共可以用来表示256种不同的状态。每一种状态都有一个符号,就是256个符号。从00000000到11111111ASCII码:上世纪60年代美国制定了一套字符编码。对英语字符与二进制位之间的关系,做了统一的规定。这被称为ASCII码,ASCII码一共规定了128个字符的编码,比如空space是32(二进制是00100000)大写字母A是65(二进制01000001)。这128个符号。包括32个不能打印出来的控制符号。只占用一个字节后面的7位。最前面的一位统一规定为0。缺点:1不能表示所有字符2相同的编码表示的字符不一样,假设120在法语编码表中代表(你)可能在希伯语编码中代表另一个意思所以各个国家都有了自己的字符集比如中国的就是GBKGB2312中国台湾的big5(繁体编码)乱码:世界上存在着多种编码方式。从一个二进制数字可以被解释成不同的符号,因此想要打开一个文本文件就必须知道它的编码方式,否则用错误的编码方式解读就会出现乱码。Unicode:一种编码将世界上所有的符号都纳入其中。每一个符号都赋予一个独一无二的编码,使用Unicode没有乱码的问题,所以也叫万国码Unicode缺点:Unicode只规定了符号的二进制代码。却没有规定这个二进制代码应该是如何存储的,无法区别Unicode和ASCII:计算机无法区分三个字节表示一个符号,还是分别表示三个符号。另外我们知道英文字母只用一个字节表示就够了,如果Unicode统一规定,。每一个符号用三个或4个字节表示。那么每个英文字母前都必然有23个字节是0,这是对存储空间来说是极大的浪费。Unicode方向是比较大的。真正落地的实现是下面这种方式UTF8:是在互联网上使用最广泛的一种Unicode的实现方式。UTF8是一种变长的编码方式。它可以使用16个字节来表示一个符号。根据不同的符号而变化字节长度。后边的学习乃至工作开发中都是会用这个编码方式
3、字符串的操作
3。1问题1字符串是什么数据类型2字符串的表现形式3字符串的操作是什么意思
3。2答案
3。2。1字符串
字符串是引用数据类型;用一对双引号包裹起来的
3。2。2字符串的操作
当操作中出现字符串时,这个是字符串连接符,而不是算术运算publicclassTest{publicstaticvoidmain(String〔〕args){System。out。println(123);System。out。println(年龄为:23);System。out。println(199年黑马);}}
3。3练习charca;intnum10;Stringshello;System。out。println(cnums);System。out。println(csnum);System。out。println(c(nums));System。out。println(snumc);System。out。println(s(numc));
4、案例:数值拆分
4。1拆分规则
个位:数值10
十位:数值1010
百位:数值101010
千位:数值10101010;
4。2练习
键盘录入一个四位数,获取该数字各个位置上的数据值并打印
5、自增自减运算符
5。1问题1自增自减的符号2参与操作,在前和在后的区别
5。2答案
5。2。1符号
和既可以放在变量的后边,也可以放在变量的前边。单独使用的时候,和无论是放在变量的前边还是后边,结果是一样的。
5。2。2参与操作
如果放在变量的后边,先将该变量原本的值,取出来参与操作,随后再进行自增(),自减()
如果放在变量的前边,先对该变量做自增()或者自减(),然后再拿变量参与操作
5。3练习需求:看程序,不提前运行,说结果代码1:inta1;这三个a是同一个,存储空间是一样的,其中一个改变其他的使用时候都变了intbaa;分析:intb(1)(2);表达式a值变化:123a值?b值?代码2:inta1;intbaa;intb(2)(2);表达式a值变化:123a值?b值?代码3:inta1;intbaa;intb(2)(3);a值变化:123a值?b值?注意点:shorts110;s1;自增1不会改变自身的变量的数据类型
5。4注意事项
使用自增自减运算时应注意下面几个问题。自增自减只能作用于变量,不允许对常量、表达式或其他类型的变量进行操作。常见的错误是试图将自增或自减运算符用于非简单变量表达式中。自增自减运算可以用于整数类型byte、short、int、long,浮点类型float、double,以及字符串类型char。在Java1。5以上版本中,自增自减运算可以用于基本类型对应的包装器类Byte、Short、Integer、Long、Float、Double和Character。注:就业班会讲包装类
6、赋值运算符
6。1问题1、赋值运算符的作用2、基本赋值运算符有哪些?3、扩展赋值运算符有哪些
6。2答案
6。2。1作用
赋值运算符的作用是将一个表达式的值赋给左边,左边必须是可修改的,不能是常量。
6。2。2基本赋值运算符
符号:
作用:赋值
说明:将等号右边的数据值赋值给等号左边的变量(a10;将10赋值给a变量)
6。2。3扩展赋值运算符
注意事项:
扩展的赋值运算符隐含了强制类型转换。shorts10;ss10;此行代码报出,因为运算中s提升为int类型,运算结果int赋值给short可能损失精度s10;此行代码没有问题,隐含了强制类型转换,相当于s(short)(s10);
7、关系运算符(比较运算符)
7。1问题1关系运算符分类2关系运算符的结果是什么3和的区别
7。2答案
7。2。1分类
关系运算符有6种关系,分别为小于、小于等于、大于、等于、大于等于、不等于
7。2。2结果
关系运算符的结果都是boolean类型,要么是true,要么是false。
7。2。3和的区别
千万不要把误写成,是判断是否相等的关系,是赋值。赋值运算符比较运算符比较基本数据类型,比较的是数据值本身比较引用数据类型,比较的是地址值(后续学习)
7。3代码示例inta10;intb20;System。out。println(ab);falseSystem。out。println(a!b);trueSystem。out。println(ab);falseSystem。out。println(ab);falseSystem。out。println(ab);trueSystem。out。println(ab);true关系运算的结果肯定是boolean类型,所以也可以将运算结果赋值给boolean类型的变量booleanflagab;System。out。println(flag);输出false
8、逻辑运算符
8。1问题1、逻辑运算符的概念2、逻辑运算符的分类3、逻辑运算符的作用
8。2答案
8。2。1概念理解层面:逻辑运算符,可以用来整合多个条件,为一段整体的逻辑代码层面:连接布尔类型的表达式,或者是值
8。2。2分类
8。2。3作用
用于(整合)多个比较表达式的条件,最终得到的结果是boolean类型的true或false。
其实就是用来连接关系表达式的运算符(也可以直接连接布尔类型的常量或者变量)
9、短路逻辑运算符
9。1问题1、分类2、作用
9。2答案
9。2。1分类
9。2。2作用
在逻辑与运算中,只要有一个表达式的值为false,那么结果就可以判定为false了,没有必要将所有表达式的值都计算出来,短路与操作就有这样的效果,可以提高效率。同理在逻辑或运算中,一旦发现值为true,右边的表达式将不再参与运算
计算规则:逻辑与,无论左边真假,右边都要执行。短路与,如果左边为真,右边执行;如果左边为假,右边不执行。逻辑或,无论左边真假,右边都要执行。短路或,如果左边为假,右边执行;如果左边为真,右边不执行。
9。3代码示例intx3;inty4;System。out。println((x4)(y5));两个表达都会运算System。out。println(x);4System。out。println(y);5System。out。println((x4)(y5));左边已经可以确定结果为false,右边不参与运算System。out。println(x);4System。out。println(y);4
备注:开发中推荐使用短路运算符
10、三元运算符
10。1问题1、格式2、执行流程
10。2答案
10。2。1格式关系表达式?表达式1:表达式2;
10。2。2执行流程
问号前面的位置是判断的条件,判断结果为boolean型。
为true时调用表达式1,为false时调用表达式2。
其逻辑为:如果条件表达式成立或者满足则执行表达式1,否则执行第二个。
10。3示例代码inta10;intb20;intcab?a:b;判断ab是否为真,如果为真取a的值,如果为假,取b的值
10。4注意事项1。表达式1和2要有明确的计算结果,不能写输出语句intmaxnum1num2?System。out。println(num1):System。out。println(num);大错特错2。三元运算符的运算结果不能直接摆在那里,要么定义变量接收,要么直接打印输出num1num2?num1:num2;错误的intnumnum1num2?num1:num2;可以直接打印(单纯展示数据)System。out。println(num1num2?num1:num2);3。表达式1和2结果要有一个统一的类型doubled105?2:1。0;提升,隐式转换???105?2:1。0;4。三元运算符可以嵌套使用:inta10,b20;Stringresultab?a大:b大;如果a和b相等嵌套一下Stringresultab?a大:(ab?相等:b大);
11、案例:三个和尚
求三个数的最大值importjava。util。Scanner;publicclassTest2Operator{publicstaticvoidmain(String〔〕args){1。使用Scanner键盘录入三个整数ScannerscnewScanner(System。in);System。out。println(请输入三个整数:);intnum1sc。nextInt();intnum2sc。nextInt();intnum3sc。nextInt();2:用三元运算符获取前两个整数的最大值,并用临时变量保存起来。inttempnum1num2?num1:num2;3:用三元运算符,让获取临时最大值和第三个数比较,得到结果。intmaxtempnum3?temp:num3;4:输出结果System。out。println(最大值是:max);}}
思考:
如果我要求三个数的最小值呢?
只要把里面的大于号变成小于号就可以了
12、运算符的优先级
在Java中,运算符优先级如下图所示:
有没有觉得很麻烦,很头疼?所以,这些优先级我们不需要记忆。
只要知道一点即可:小括号优先于所有!
在计算的时候必定是先计算小括号里面的,再计算小括号外面的。
代码示例:inta10;intb20;System。out。println(ababab);代码阅读性很差改写如下inta10;intb20;System。out。println((ab)(abab));代码阅读性很好
窗外(四)好美!她想窗外的世界比窗内可爱多了这条新生南路是直而长的,最近才翻修成柏油路面,靠排水沟那边种了一排柏树,还安放了一些水泥凳子供行人休息,不过很少有人会在这路边休息的。这是江雁容周雅安上学和放学时必走的路。每天……
北方大妈在深圳的生活2秋日生活打卡季在老家完成了伺候婆婆的任务后,2018年7月1日,我又登上了南下深圳的火车。这次的目的地是深圳市宝安区松岗街道。由于建筑行业的流动性大,这次老公被分到……
外国友人在日照解锁中秋味道在博物馆感受日照历史在美术馆体验灯笼制作9月8日,6名外国友人在中秋节来临之际体验别样中秋感受中华优秀传统文化的魅力领略中国传统文化的风采活……
人生,让心随花开,从繁忙中寻找一些安静,从鲜花中愉悦心情人生,让心随花开,从繁忙中寻找一些安静,从鲜花中愉悦心情。好美好美的三朵花儿开的鲜艳夺目,好像幸福的三口之家。美丽的花朵带着阳光,带着花香,带着幸福,带着健康,带着……
今年早秋杏裤火了,优雅洋气有气质,很适合3050岁的女人要说早秋的阶段之中最值得入手搭配的裤装,杏裤的选择绝对是名列前茅的存在了,衬托出来的气质就是优雅又大气的女性魅力,所谓杏裤就是在色系上处于米白色、米黄色和浅卡其这一类等。……
华栖云案例100讲思政知识图谱系统移动互联网和大数据为高校教学方式改革和学习模式优化提供了基础设施与工具,信息技术与认知科学推动着教育1。0向学习2。0创新发展。在这一大背景之下,通过构建知识图谱来推动各类教学……
时讯微信测试新功能,朋友圈修改可见范围近日,有网友发现苹果用户的朋友圈可以修改可见范围了。具体操作步骤为:iPhone用户更新微信至最新版,点击一条自己的朋友圈,点击右上方三个灰色的点,会出现修改可见范围:公开、私……
成年人最高级的境界整理自己!夜荐李家有话说阅读本文前,点击上方卡片一键关注作者:李家有话说图片来源:网络笑着受苦,笑着享乐,笑对生活。俗话说:大道至简。成就一个人的关键,不……
电视选购最高物理刷新率144Hz的电视有哪些?值得买吗?现在电视机搞什么游戏电视,京东都有专门排行榜整这个,有兴趣看哪些上榜单前十的。手机现在最高刷新率已经165Hz,从60到90到120到144再到165,性能过剩,但哪怕是……
突然火了的赫本裙这样穿,优雅显瘦又有女人味,适合30女性要说起法式穿搭的经典代表性单品,那赫本裙一定榜上有名。简单又不失高级感的风格和剪裁非常适合30的轻熟女性,极致的优雅和风情凸显出这个年纪独特的优雅和魅力。今天就为各位介绍……
孕期腿抽筋,真的是因为缺钙吗?孕期腿抽筋,真的是因为缺钙吗?在怀孕期间导致孕妈妈抽筋的原因有很多,缺钙只是其中一种。所以当孕妈妈们出现抽筋的时候,应及时前往医院明确抽筋的原因。孕期引起抽筋的原因……
明善教育孩子厌学叛逆,父母有多少德,家庭就有多少福孩子厌学叛逆与父母有很大的关系,为什么呢?孩子年龄较小,见过的人和事都不多,与父母待在一起的时间是最长的,自然就会学习父母的行为习惯。如果父母是有德行的人,那么孩子就不会差到哪……