[java入门学习]第 3 章 运算符和表达式.
Java编程基础及应用第3章运算符、表达式和语句
(1)左移位运算符
左移位运算符的符号为“<<”,是二元运算符。左移位运算符左
面的操作元称为被移位数,右面的操作数称为移位量。
例如:a<<n运算的结果是通过将a的所有位都左移n位,每左移一 个位,左边的高阶位上的0或1被移除丢弃,并用0填充右面的低位 。
3.1.5 移位运算符
(2)右移位运算符
3.1.7 条件运算符
条件运算符是一个多元运算符,它的符号是“? : ”,需要连接三
个操作数,用法如下:a?b:c,要求a的值必须为boolean型数据 。运算法则是:当a的值为true时,a?b:c运算的结果是b的值;
当a的值是false时,a?b:c运算的结果是c的值。
例如: 8>2?10:20的结果是10;
// DevideTest2.java public class DevideTest2 { public static void main(String[] args) { int a = 13, b = 4, k; float f1, f2; k = a / b;//整数相除,结果仍为整数 f1 = a / b;//将整数结果强制转换为浮点型 f2 = (float) a / b;//将a强制转换为浮点 型,结果则为浮点型
(4)“按位异或”运算符
“^”是双目运算符。对两个整型数据a、b按位进行异或运算,运 算结果是一个整型数据c。运算法则是:如果a、b两个数据对应位
相同,则c的该位是0,否则是1。
例如:1001001和0101001进行“异或”运算,表达如下, 1001001 ^0101001 1100000
按照运算类型,可以将运算符分成以下几类:算术运算符,关系
java 基本语言符号
java 基本语言符号Java是一种流行的编程语言,它有一些基本的语言符号和关键字,用于构建程序。
以下是一些Java的基本语言符号和关键字:1. 分号(;):在Java中,分号用于表示语句的结束。
每个语句都应该以分号结尾。
2. 大括号({}):大括号用于定义代码块,例如类的主体、方法的主体等。
代码块包含在一对大括号中。
3. 圆括号(()):圆括号用于表示方法的参数列表、条件语句等。
方法的参数被放置在一对圆括号中。
4. 关键字:Java中有一些保留的关键字,用于表示特定的操作、语义等。
例如:`public`、`class`、`static`、`if`、`else`等。
5. 标识符:标识符是由开发人员定义的名称,用于表示变量、方法、类等。
标识符必须以字母、下划线(_)或美元符号($)开头,后面可以跟字母、数字、下划线和美元符号。
6. 注释:注释用于解释代码的目的、功能等,不会被编译器执行。
Java有两种类型的注释:单行注释(`//`)和多行注释(`/* */`)。
7. 运算符:Java支持各种运算符,如算术运算符(`+`、`-`、`*`、`/`等)、关系运算符(`==`、`!=`、`>`、`<`等)、逻辑运算符(`&&`、`||`、`!`等)等。
8. 数据类型:Java有基本数据类型(如`int`、`double`、`char`等)和引用数据类型(如类、接口、数组等)。
9. 修饰符:修饰符用于调整类、方法、变量等的访问权限和行为,如`public`、`private`、`static`等。
10. 类:Java中的类是面向对象编程的基本单元,用于定义对象的属性和行为。
11. 方法:方法是执行特定任务的代码块。
Java程序从`main`方法开始执行。
12. 对象:对象是类的实例,具有类定义的属性和方法。
这只是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代表。
c语言程序设计第三章运算符与表达式
第三章运算符和表达式3.1 运算符和表达式概述使用运算符可以对运算对象(包括常量和变量)进行计算以得到计算结果。
用运算符将运算对象连接成一个符合C语言语法规则的式称为表达式。
另外,C语言中的表达式是可以嵌套的,即简单表达式经过运算符连接后还可以形成更为复杂的表达式。
根据运算符所连接的运算对象(操作数)的个数,可以将C语言中的运算符分为三类:(1) 单目(一元)运算符:只连接一个操作数的运算符。
(2) 双目(二元)运算符:带有两个操作数的运算符。
(3) 三目(三元)运算符:同时对三个操作数进行计算的运算符。
C语言中的表达式可以分为三类:(1) 单个常量或者单个变量是最简单的表达式。
(2) 带有运算符的表达式。
(3) 函数调用。
任何一种运算都是将一定的运算符作用于一定的运算对象上,得到预期的运算结果。
所以运算对象、运算符和运算结果是运算的三大要素。
3.2 算术运算符和算术表达式一、基本算术运算符和简单算术表达式1. 基本算术运算符C语言为用户提供的基本算术运算符包括:+(加)、-(减)、*(乘),/(除)、%(求余),这些运算符都是双目运算符,也即在生成算术表达式的时,基本算术运算符左右两侧都必须出现运算对象。
2. 简单算术表达式当用基本算术运算符去连接常量或者变量时,就形成简单算术表达式。
简单算术表达式的基本形式:data1 op data2。
data1和data2表示某个常量或者变量,op代表上述5个基本算术运算符之一。
假设有变量定义:int a=20,b=-5;则a+b、a-b、a*-2、20/-b、20%6、a%b等都是简单算术表达式。
3. 基本算术运算符使用说明(1) +、-、*,/既可以连接整型数据,也可以连接实型数据。
当参与这4个运算符的运算对象都是整型数据时,得到整型数据运算结果;否则表示浮点运算。
例如,int a=15,b=2;则a*b等于30,而a/b等于7;a*2.0等于30.0,而a/2.0等于7.5。
java与或非三种运算规则符号
一、概述在计算机编程领域,逻辑运算符号在控制程序流程和逻辑判断方面起着至关重要的作用。
而在Java语言中,常用的逻辑运算符号包括与、或和非三种类型。
本文将分别介绍这三种运算规则符号的使用方法和注意事项,帮助读者更好地理解和运用Java语言中的逻辑运算。
二、与运算规则符号与运算规则符号在Java中使用符号“”表示,其作用是同时满足两个条件时返回true,否则返回false。
值得注意的是,与运算规则符号具有短路特性,即当第一个条件不满足时,将不再执行第二个条件判断。
下面是一个示例代码:```javaint a = 5;int b = 3;if (a > 3 b < 5) {System.out.println("条件成立");} else {System.out.println("条件不成立");}```在上面的示例中,如果a大于3且b小于5时,将会输出“条件成立”,否则输出“条件不成立”。
由于与运算规则符号的短路特性,当a不大于3时,将不会继续判断b是否小于5,直接输出“条件不成立”。
三、或运算规则符号或运算规则符号在Java中使用符号“||”表示,其作用是满足其中一个条件时返回true,只有在两个条件都不满足时才返回false。
与运算规则符号类似,或运算规则符号也具有短路特性。
下面是一个示例代码:```javaint c = 7;int d = 2;if (c > 5 || d < 1) {System.out.println("条件成立");} else {System.out.println("条件不成立");}```在上面的示例中,如果c大于5或d小于1时,将会输出“条件成立”,否则输出“条件不成立”。
同样地,由于或运算规则符号的短路特性,当c大于5时,将不会继续判断d是否小于1,直接输出“条件成立”。
java基础语法2-运算符与流程控制
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类型。
3、JavaScript运算符和表达式
var box = Infinity + Infinity;
//Infinity
var box = -Infinity + -Infinity; //-Infinity
var box = Infinity + -Infinity; //NaN,正无穷和负无穷相加等NaN
var box = 100 + '100';
3.逻辑非运算符可以用于任何值。无论这个值是什么数据类型,这个运算符都会返回一个布尔值。它 的流程是:先将这个值转换成布尔值,然后取反
注: JavaScript虽说也有& 和 |,但是这里不是做逻辑运算符,而是位运算符
七、三目运算符
三目运算符,又叫三元条件运算符 三元条件运算符其实就是后面将要学到的if 语句的简写形式。 根据条件在两个语句中执行其中的一个,使用符号 ?: 语法如下: 条件表达式?语句1:语句2 参数说明: 条件表达式,结果会被作为布尔值处理 语句1:如果条件表达式返回true则执行 语句2:如果条件表达式返回false则执行
算术运算符即算术运算符号。是完成基本的算术运算 (arithmetic operators) 符号,就是 用来处理四则运算的符号。
算数运算符分为以下:
二、算术运算符
加法运算符(+)
var box = 1 + 2;
//等于3
var box = 1 + NaN;
//NaN,只要有一个NaN 就为NaN
值 true false false false true true false false false true false
五、比较运算符(关系运算符)
相等运算符 == :判断两个操作数是否相等。 不同的数据类型会自动转换为相等的数据类 型再做比较。
运算符和表达式
System.out.println(s);
}
static void pInt(String s, int i){
prt(s + " = " + i);
}
// shorthand to print a string and a float:
static void pFrt(String s, float f){
(7)算术运算符的操作数必须是数字类型的,不能在布尔型上使用算数运算符,但可以在char类型上使用,是因为Java中的char类型本质上是int型的一个子集;
(8)如果一个表达式中同时包含了几个加法和减法运算,那么操作运算符按照从左到右的顺序求值;
2.3.3关系运算符
关系运算符用来比较两个数据,确定一个操作数与另一个操作数之间的关系,即进行关系运算,关系运算符如表2.9所示。返回布尔类型的值为true或false。若关系是真实的,关系表达式会生成true(真);若关系不真实,则生成false(假)。
1.一元算术运算符
一元算术运算符涉及的操作数只有一个,一个算术表达式是由一个操作数和一个一元算术运算符构成的。一元算术运算符共有四种,如表2.7所示。
表2.7 一元算术运算符
运算符
名称
表达式
功能
+
一元加
+opt1
取正值
-
一元减
-opt1
取负值
++
增量
++opt1
加1
--
减量
--opt1
减1
一元加和一元减运算符仅仅表示某个操作数的符号,其操作结果为该操作数的正值或负值。增量运算符将操作数加1,如对浮点数进行增量操作,则结果为加1.0;减量运算符将操作数减1,如对浮点数进行减量操作,则结果为减1.0。
运算符和表达式
运算符和表达式按运算符的优先级⾼低次序执⾏;若优先级相同,则按照结合性规则执⾏如item+2*num中,*运算符的优先级⽐+运算符⾼,因此,先进⾏”2*num"运算,再与“item"运算*p--中,*和--都是右结合,其运算顺序为p先与--结合,执⾏”p--"运算,所得结果再与*进⾏运算,相当于"*(p--)"算术运算符分为基本算术运算符和⾃增/⾃减算术运算符1.基本算术运算符在C语⾔中,基本运算符有5个,+——加法运算符-—— 减法运算符*——乘法运算符/——除法运算符%——求余运算符注意:对除法运算符,如果两个整数相除,结果仍为整数(商向下取整),如:20/6得6;如果除数或被除数中有⼀个为负值,则舍⼊的⽅向是不固定的。
如果参加+、-、*、/运算的两个数中⾄少有⼀个数为浮点数,则运算结果是double型数据,⾃动转换后所有数都按double型进⾏运算。
求余运算符%,两个操作对象都必须是整数。
结果的符号与运算符%左边的操作数的符号相同。
如:20%6得2,-45%8得-5,45%-8得5.减法运算符还可以进⾏取负运算,此时该运算符为单⽬运算符,只需⼀个操作数。
如num=-num,对num变量值取负。
基本运算符的优先级次序算术运算符的结合⽅向为“⾃左⾄右”。
如在表达式“m-n+a"中,先执⾏”m-n",再与a相加2.⾃增/⾃减算术运算符++——⾃增运算符-- ——⾃减运算符作⽤是使整型变量的值加1或减1。
这两个运算符只能⽤于变量,⽽不能⽤于常量或表达式。
⾃增/⾃减运算符都是单⽬运算符表达式++i将i的值加1,使⽤i的值表达式i++先使⽤i的值,再将i的值加1如:i=51,求j(1)j=++i——i的值先加1变为52,再赋值于j,j=52(2) j=i++——先将i的值赋值给j,j=51,再将i加1,i=52++和--是单⽬运算符,其优先级⾼于基本算术运算符,于取负运算符-的优先级相同。
《Java程序设计》课程教学大纲
《Java程序设计》课程教学大纲课程编号:08120031课程名称:Java程序设计/JAVA Programming总学时/学分:48/3(其中理论32学时,实验16学时)适用专业:计算机科学与技术一、课程目标通过本课程学习,学生应达到如下目标:目标1. 识别Java语言特点、基本语法、语言机制。
目标2. 将面向对象方法知识运用在程序设计案例中,能使用JAVA常用类、枚举、lambda 表达式、容器、泛型进行实例编程验证。
目标3. 利用JavaSE中的异常处理、输入输出等技术来表达处理程序应用问题。
目标4. 将图形用户界面和数据库编程技术运用中综合应用程序设计中。
目标5. 搭建Java开发环境,能设计实现各种Java技术的应用程序,且能测试运行。
二、课程目标对毕业要求的支撑三、教学过程安排四、实验或上机内容五、课程目标达成方法六、考核标准本门课程考核包括6个部分,分别为考试、作业、实验、讨论和测验。
具体要求及评分方法如下:1、期末考试试卷知识点要求2、作业3、实验4、讨论设置讨论课一次,要求学生按照讨论题目分组查阅资料,归纳总结,撰写报告。
5、测验随堂测验,老师给出题目,学生回答。
具体有任课老师给出评分标准。
七、教材及主要参考资料[1] 黑马程序员. Java基础入门(第2版)[M]. 清华大学出版社, 2018.[2] 郑人杰、马素霞、殷人昆. 软件工程概论(第2版)[M]. 机械工业出版社,2016.[3] Gay S.Horstmann. Java核心技术(第10版)[M]. 机械工业出版社,2016.[4] Y.Daniel Liang(美). Java语言程序设计(第10版)[M]. 机械工业出版社.2015.[5] 李刚. 疯狂Java讲义(第4版)[M]. 电子工业出版社,2018.[6] 封亚飞. 揭秘Java虚拟机[M]. 电子工业出版社,2017.[7] Bruce Eckel(美). Java编程思想(第4版)[M]. 机械工业出版社,2007.。
java的表达式
java的表达式Java是⾯向表达式的语⾔,Java中⼀个简单表达式可以是下⾯任意⼀种:●常量:7、false。
●单引号括起来的字符字⾯常量:'A'、'3'。
●双引号括起来的字符串字⾯常量:"foo"、"Java"。
●任何正确声明的变量名:myString、x。
●任何⽤Java⼆元运算符(本章稍后将详细讨论)连接起来的两个上述类型的表达式:x+2。
●任何⽤Java⼀元运算符(本章稍后将详细讨论)修饰的单个上述类型的表达式:i++。
●任何⽤⼩括号括起来的上述类型的表达式:(x+2)。
以及另外⼀些与本书后⾯将要学到的对象有关的表达式类型。
⽆论多么复杂的表达式都可以由不同类型的简单表达式和括号嵌套组合⽽成,例如:((((4/x) + y) * 7) + z)。
⼀、算术运算符Java语⾔提供了许多基本的算术运算符,如表2-1所⽰。
表2-1 Java算术运算符运算符描述+加法-减法*乘法/除法%取余数 10%3=1+和-运算符也可作为⼀元运算符⽤于表⽰正负数:-3.7、+42。
除了简单赋值运算符=,还有许多特定的复合赋值运算符,这些运算符将变量赋值和算术操作合并在⼀起,如表2-2所⽰。
表2-2 Java复合赋值运算符运算符描述+=a+=b等价于a=a+b-=a-=b等价于a=a-b*=a*=b等价于a=a*b/=a/=b等价于a=a/b%=a%=b等价于a=a%b最后要介绍的两个算术运算符是⼀元递增运算符(++)和⼀元递减运算符(--),⽤于将整数变量的值加1或减1,或者将浮点数变量的值加1.0或减1.0。
称它们为⼀元运算符是因为它们⽤于单个变量,⽽前⾯讨论的⼆元运算符则连接两个表达式的值。
⼀元递增运算符和⼀元递减运算符也可⽤于将字符变量在Unicode序列中向前或向后移动⼀个字符位置。
例如,在下⾯的代码⽚段中,字符变量c的值从'e'递增为'f':char c='e';c++; //⾃加后,c='f'递增和递减运算符可以以前缀或者后缀⽅式使⽤。
运算符和表达式
运算符和表达式⼀.运算符1.运算符:⼜叫做操作符,是⼀个⽤于运算的符号,它作⽤于⼀个或多个操作数按操作数的数量分类:①⼀元(⽬)运算符—作⽤于⼀个操作数②⼆元(⽬)运算符—作⽤于两个操作数③三元(⽬)运算符—作⽤于三个操作数按运算符的功能分类:①算数运算符—⽤于数学运算②逻辑运算符—⽤于判断真假③位运算符—⽤于⼆进制运算④其他2.算数运算符:+、-、*、/、%、++、--加加运算符书写⽅式:变量名++ ++变量名1.计算返回结果,与变量相同 1.计算返回结果,为变量值加12.将变量的值⾃增1 2.将变量的值⾃增1减减运算符书写⽅式:变量名-- --变量名1.计算返回结果,与变量相同 1.计算返回结果,为变量值减12.将变量的值⾃减1 2.将变量的值⾃减13.赋值运算符:=、+=、-=、*=、/=、%= (不能⽤于变量初始化)+= :x += 运算代码;→ x = x +(运算代码);-= :x -= 运算代码;→ x = x -(运算代码);*= :x *= 运算代码;→ x = x *(运算代码);/= :x /= 运算代码;→ x = x /(运算代码);%= :x %= 运算代码;→ x = x %(运算代码);4.常⽤逻辑运算符:(==)等于、(!=)不等于、(>)⼤于、(>=)⼤于等于、(<)⼩于、(<=)⼩于等于、(&&)并且、(||)或者、(!)⾮返回类型:bool&&:两个bool类型进⾏运算,运算的结果是真真为真,其他为假||:两个bool类型进⾏运算,运算的结果是假假为假,其他为真!:⼀元运算符,对⼀个bool类型的数据求反。
数据为真,运算结果为假;数据为假,运算结果为真5.三⽬运算符书写⽅式:操作数1 ?操作数2 :操作数3返回结果:如果操作数1判定结果为真,则将操作数2作为返回结果如果操作数1判定结果为假,则将操作数3作为返回结果6.位运算符(&)与:对两个数字的⼆进制格式每⼀位进⾏⽐较(如果都为1,取1,否则取0)(|)或:对每⼀位进⾏⽐较(如果都为0,取0,否则取1)(^)异或:对每⼀位进⾏⽐较(相同取0,不同取1)(《)左移:对⼀个⼆进制数字向左移动指定的位数(》)右移:对⼀个⼆进制数字向右移动指定的位数(~)取补:(⼀元运算符)将数字⼆进制位上的0变成1,1变成0⼆.表达式1.常⽤表达式返回类型:①⼀个变量声明的表达式,返回类型是void(⽆返回类型)。
运算符与表达式
运算符与表达式运算符的分类根据不同的分类标准,我们可以将运算符分为两类。
第⼀类是按照操作对象的多少进⾏划分的。
我们有下⾯的表格:⼀元运算符⼆元运算符三元运算符+-正负号+-加,减*/%乘,除,取余?:条件运算++⾃加<<>>左移,右移--⾃减&&||!与或⾮运算,^异或运算!⾮<>⼤于,⼩于~按位取反>=<=!=⼤于/⼩于等于,不等于*指针运算符=,&,|赋值按位,与,或第⼆类是按照功能划分。
我们可以分为以下内容算术运算符赋值运算符逻辑运算符------+-加减=赋值&&与*/乘除+=/-=加等减等||或%取余*=//=乘等除等!⾮++⾃增%=取余等==等于--⾃减&=,|=,^=,>>=,<<=位运算等<<左移表达式的分类 根据运算符,我们可以把表达式分为以下⼏类: 1、算术表达式 算术表达式由算术运算符和控制运算优先级的括号组成,是进⾏算术运算的基本表达形式。
(l+o+v+e)*521/1314.0;3.1415926*r; 2、赋值运算符 赋值运算符由赋值运算符,算术运算符和操作对象复合⽽成,最后以'='连接.变量=表达式或者数值//在定义时或者定义完成后初始化都可以eg:love=5211314;变量⼀=变量⼆=变量三=变量N=表达式或者值//只能在定义后初始化使⽤eg:l=o=v=e=1314; 3、逻辑表达式 ⼀般由逻辑运算符和操作对象组合⽽成,属于C语⾔中进⾏逻辑判断的主要表达形式,也是条件控制语句中的常⽤的表达式。
a&&bc||d&&m!x 4、关系表达式 关系表达式⼀般由关系运算符和操作对象组成,关系运算符也常⽤与条件控制语句复合使⽤。
eg:love>1314m==n//注意:等于判断有两个等号 5、逗号表达式 逗号表达式有其他运算符和逗号组成,常⽤于变量定义和for循环中.int a,b,c;c=(a=3,b=5,a=a+b);值得注意的是,逗号表达式的值总是等于最后⼀个表达式的值。
java基本运算符
java基本运算符Java是一门非常流行的编程语言,广泛应用于各个领域的软件开发中。
在Java中,基本运算符是程序员们经常使用的工具,它们可以用于执行各种数学和逻辑运算。
本文将介绍Java中常用的基本运算符,并且给出一些实际应用的例子。
一、算术运算符算术运算符用于执行基本的数学运算,包括加法、减法、乘法和除法。
在Java中,加法使用"+"符号表示,减法使用"-"符号表示,乘法使用"*"符号表示,除法使用"/"符号表示。
此外,还有取余运算符"%",用于计算两个数相除后的余数。
例如,在一个简单的计算器程序中,我们可以使用算术运算符来实现加减乘除的功能。
用户输入两个数和一个运算符,程序根据用户输入的运算符来执行相应的计算,并将结果输出给用户。
二、赋值运算符赋值运算符用于将一个值赋给一个变量。
在Java中,最常用的赋值运算符是"="符号。
例如,我们可以将一个整数值赋给一个整型变量,或者将一个字符串赋给一个字符串变量。
赋值运算符还可以和其他运算符组合使用,形成复合赋值运算符。
例如,"+="运算符用于将右边表达式的值加到左边变量的值上,并将结果赋给左边变量。
三、比较运算符比较运算符用于比较两个值的大小关系,并返回一个布尔值,即true或false。
在Java中,常用的比较运算符包括等于"=="、不等于"!="、大于">"、小于"<"、大于等于">="和小于等于"<="。
比较运算符在控制流程中经常被使用,例如判断一个数是否大于另一个数,或者判断两个字符串是否相等。
根据比较的结果,程序可以执行不同的操作。
四、逻辑运算符逻辑运算符用于执行布尔运算,即逻辑与、逻辑或和逻辑非。
算术运算符与算术表达式
9. 求字节数运算符 size of 10. 强制类型转换运算符 (类型) 11. 分量运算符 •, , 12. 下标运算符 [ ] 13. 其它运算符 如函数的调用( )
若i=3, 若参数计算从左至右, 则输出 3, 3 若从右至左, 则输出4, 3
上述问题看似复杂,最好上机实践.
§3.8 赋值运算符和 赋值表达式
符号" = "为赋值运算符。
赋值时,两边类型若不一致,则按以下规则转换:
1. 将实型数据(无论单,双精度)赋给整型变量时,舍 弃小数.
2. 整型数据赋给实型变量,数值不变,但按实数形 式存放.
例: x=(y=10) 相当于 y=10;x=y 由于赋值号为右结合性,于是" ( ) "可省略, 即为:x=y=10;
又: a=5+(c=6) c=6, a=11 a=(b=4)+(c=6) b=4, c=6, a=10 a=(b=10)/ (c=2)b=10,c=2, a=5
进一步,还可用复合赋值运算符作下列运算:
实际运行结果:i=6,j=9
但Turbo C. MSC 都是先取三个原值
相加: i+i+i=9 i6 如果表达式j=(i++)+(i++)+(i++);改为:
j=(++i)+(++i)+(++i);
则运行结果: i=6,j=18
java三元运算符
java三元运算符由?:符号表⽰的,具体的含义其实就和if-else结构的含义差不多,这种运算符会将某个条件作两种处理,如果满⾜条件的话就执⾏第⼀个结果,如果不满⾜的话就执⾏另外⼀个结果,例如:Int A,B,C;A=2;B=3;C=A>B ? 100 :200;这条语句的意思是,如果A>B的话,就将100赋给C,否则就将200赋给C;⼀、⽐较运算符⼜叫关系运算符,⽤于判断两个被操作数的⼤⼩及是否相等的关系。
使⽤⽐较运算符其返回结果⼀定为布尔值。
运算符运算规则范例结果==相等于4==3false!=不等于4!=3true<⼩于4<3false>⼤于4>3true<=⼩于等于4<=3false>=⼤于等于4>=3true⼆、逻辑运算符⽤于计算两个布尔值经过指定逻辑后的运算结果,每个逻辑运算符都是⼀种逻辑运算规则。
逻辑是在中学数学中学习的概念,是判断是⾮关系的运算。
所以逻辑运算符操作的均为布尔值:true与false运算符运算规则范例结果&与false&true false|或false|true true^异或true^flase true!⾮!true flase&&短路与false&&true false||短路或false||true true逻辑运算符通常连接两个其他表达式计算后的布尔值结果&&和&以及||和|的区别:当使⽤短路与或者短路或时,只要能判断出结果则后边的部分就不再判断。
三、三元运算符⽤来完成简单的选择逻辑,即根据条件判断,从两个选择中选择⼀种执⾏。
使⽤格式:(条件表达式)?表达式1:表达式2;运算规则:a) 判断条件表达式,结果为⼀个布尔值。
b) true,运算结果为表达式1c) false,运算结果为表达式2如:int a = 10; int b = 20;a==b?10:20; 结果为20⾸先看⼀下三元运算符的格式 [条件语句] ? [表达式1] : [表达式2]其中如条件语句为真执⾏表达式1,否则执⾏表达式2.简单的例⼦就不举了,来点其它的。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第 3 章运算符和表达式
运算符指明对操作数所进行的运算。
按操作数的数目来分,可以有一元运算
符 (如 ++、--,二元运算符(如 +、>和三元运算符 (如?:,它们分别对应于一个、两个和三个操作数。
对于一元运算符来说 ,可以有前缀表达式 (如++i 和后缀表达式 (如 i++,对于二元运算符来说则采用中缀表达式(如a+b。
按照运算符功能来分,基本的运算符有下面几类 :
1.算术运算符 (+,-,*,/,%,++,--
2.关系运算符 (>,<,>=,<=,==,!=
3.布尔逻辑运算符 (!,&&,||
4.位运算符 (>>,<<,>>>,&,|,^,~
5.赋值运算符 (=,及其扩展赋值运算符如+=
6.条件运算符 ( ?:
7.其它
(包括分量运算符·,下标运算符 [],实例运算符 instance of,内存分配运算符new,强制类型转换运算符(类型,方法调用运算符 ( 等
本章中我们主要讲述前6类运算符。
§ 3.1算术运算符
算术运算符作用于整型或浮点型数据 ,完成算术运算。
一、二元算术运算符
如下表所示运算符用法描述
+ op1+op2 加
- op1-op2 减
* op1*op2 乘
/ op1/op2 除
% op1%op2 取模(求余
Java对加运算符进行了扩展,使它能够进行字符串的连接 ,如 "abc"+"de",得到
串 "abcde"。
我们将在第七章中讲解。
与C、 C++不同,对取模运算符%来说,其操作数可以为浮点数, 如 37.2%10=7.2。
二、一元算术运算符
如下表所示 :
运算符用法描述
+ +op 正值
- -op 负值
++ ++op,op++ 加1
-- --op,op-- 减1
i++与 ++i的区别
i++在使用i之后,使 i的值加 1,因此执行完 i++后,整个表达式的值为 i,而 i的值变为 i+1。
++i在使用i之前,使 i的值加 1,因此执行完 ++i后 ,整个表达式和 i的值均为 i+1。
对 i--与 --i同样。
例 3.1.下面的例子说明了算术运算符的使用
public class ArithmaticOp{
public static void main( String args[] {
int a=5+4; //a=9
int b=a*2; //b=18
int c=b/4; //c=4
int d=b-c; //d=14
int e=-d; //e=-14
int f=e%4; //f=-2
double g=18.4;
double h=g%4; //h=2.4
int i=3;
int j=i++; //i=4,j=3
int k=++i; //i=5,k=5 System.out.println("a = "+a; System.out.println("b = "+b; System.out.println("c = "+c; System.out.println("d = "+d; System.out.println("e = "+e; System.out.println("f = "+f; System.out.println("g = "+g; System.out.println("h = "+h; System.out.println("i = "+i; System.out.println("j = "+j; System.out.println("k = "+k; }
}
其结果为:
C:\>java ArithmaticOp
a = 9
b = 18
c = 4
d = 14
e = -14
f = -2
g = 18.4
h = 2.4
i = 5
j = 3
k = 5
§ 3.2关系运算符
关系运算符用来比较两个值,返回布尔类型的值 true或false。
关系运算符都是二元运算符,如下表所示 :
运算符用法返回true的情况
> op1>op2 op1大于op2
>+ op1>=op2 op1大于或等于op2
< op1<op2 op1小于op2
<= op1<=op2 op1小于或等于op2
== op1==op2 op1与op2相等
!= op1!=op2 op1与op2不等
Java中 ,任何数据类型的数据 (包括基本类型和组合类型都可以通过==或 !=来比较是否相等 (这与 C、 C++不同。
关系运算的结果返回true或 false,而不是C、C++中的1或 0。
关系运算符常与布尔逻辑运算符一起使用,作为流控制语句的判断条件。
如
if( a>b && b==c
§ 3.3布尔逻辑运算符
布尔逻辑运算符进行布尔逻辑运算,如下表所示 :
op1 op2 op1&&op2 op1||op2 !op1
false false false false true
false true false true true
true false false true false
true true true true false
}@@@
·&&、‖为二元运算符,实现逻辑与、逻辑或。
·! 为一元运算符,实现逻辑非。
·对于布尔逻辑运算,先求出运算符左边的表达式的值,对或运算如果为true,则整个表达式的结果为true,不必对运算符右边的表达式再进行运算;同样,对与运算,如果左边表达式的值为false,则不必对右边的表达式求值,整个表达式的结果为false。
下面的例子说明了关系运算符和布尔逻辑运算符的使用。
@@@[
public class RelationAndConditionOp{
public static void main( String args[] {
int a=25,b=3;
boolean d=a<b; //d=false
System.out.println("a<b = "+d;
int e=3;
if(e!=0 && a/e>5
System.out.println("a/e = "+a/e;
int f=0;
if(f!=0 && a/f>5
System.out.println("a/f = "+a/f;
else
System.out.println("f = "+f;
}
}
其运行结果为:
C:\>java RelationAndConditionOp
a<b = false
a/e = 8
f = 0
注意 :上例中 ,第二个if语句在运行时不会发生除0溢出的错误,因为e!=0为false,所以就不需要对 a/e进行运算。
§ 3.4位运算符
位运算符用来对二进制位进行操作,Java中提供了如下表所示的位运算符 :
位运算符中 ,除~以外 ,其余均为二元运算符。
操作数只能为整型和字符型数据。
3.4.1补码
Java使用补码来表示二进制数 ,在补码表示中 ,最高位为符号位 ,正数的符号位为0,负数为 1。
补码的规定如下 :
对正数来说 ,最高位为 0,其余各位代表数值本身 (以二进制表示 ,如 +42的补码为 00101010。
对负数而言,把该数绝对值的补码按位取反,然后对整个数加1,即得该数的补
码。
如-42的补码为 11010110 (00101010 按位取反 11010101 +1 11010110 用补码来表示数,0的补码是唯一的,都为00000000。
(而在原码,反码表示中,+0和 -0的表示是不唯一的,可参见相应的书籍。
而且可以用111111表示 -1的补码(这也是补码与原码和反码的区别。
3.4.2按位取反运算符~
~是一元运算法,对数据的每个二进制位取反 ,即把 1变为 0,把0变为1。
例如 :
0010101
~
1101010
注意 ,~运算符与 - 运算符不同 ,~21≠ -21。
3.4.3按位与运算符 &
参与运算的两个值,如果两个相应位都为1,则该位的结果为 1,否则为0。
即 : 0 & 0 = 0,0 &1 = 0,1 & 0 = 0,1 & 1 = 1。