一、运算符
1.算数运算符:+ ,- ,* , / , % , ++ , --
注1:当遇到++放在后面时,先取值赋值,再递增。
例如:int i1 = 10, i2 = 20;
int i = (i2++);应先取i2的值赋值给i,然后i2再递增。
注2:当遇到++放前面的时候,先递增,再做运算。
例如:int i1 = 10, i2 = 20;
int i = (++i2);先将i2递增,再赋值给i。i1 = 21, i2 = 21;
注3:遇到--放前面或放后面时,规则如上;
2.关系运算符:> , < , >= , <= , = = , |=
3.逻辑运算符:! , & , | , ^ , && , ||
逻辑运算符:!——逻辑非,&——逻辑与,|——逻辑或,^——逻辑异或,&&——短路与,||——短路或。
如图:
例如:
public class Test{
public static void main(string []args){
int i = 1,j = 2
boolean fiag1 = (i>3)&&((i+j)>5);
//第二个操作数将不再计算(当第一个操作数i=1<3已经为false,不管后面结果是什么都是false)
boolean fian2 = (i<2)||((i+j)<6);
//第二个操作数将不再计算(当第一个操作数i=2≮2已经为true,不管后面结果是什么都是true)
}
}
注:如果是逻辑与和逻辑或的话,不管前面结果是什么,后面一定会计算。
4.位运算符:& , | , ^ , ~ , >> , << , >>>
5.赋值运算符:=
(1)当“=”两侧数据类型不一致时,可以适用默认类型转换或使用强制类型转换,原则进行处理:
long l = 100; int i = (int)l;
(2)注意:可以将整型常量直接赋值给byte,short,char等类型变量,而不需要进行强制类型转换,只要不超出其表数范围。
正确:byte b = 12; char c = 100;
错误:byte bb = 256(byte最大范围值为127); short s = -32769(short最小范围值为-32768);
6.扩展赋值运算符:+ =,- =,* =,/ =
7.字符串连接运算符:+
(1)“+”除用于算数加法运算外,还可用于对字符串进行连接操作。
如:int id = 800 + 90;
String s = "hello" + "World";
(2)“+”运算符两侧的操作数字只要有一个是字符串(String)类型,系统会自动将另一个操作数转换为字符串然后再进行连接。
如:int c = 12;
System.out.println("c="+c);
//c不是字符串,打印的时候系统会自动将c=12转换成字符串,再打印出来。
(3)当进行打印时,无论任何类型,都自动转为字符串进行打印。
如:System.out.println(c);
8.表达式
(1)表达式是符合一定语法规则的运算符和操作数的序列
注:凡是看到的可以表达出来的一个字符串序列,就是表达式(最后能算出值来的东西,就是表达式)。
①a
②5.0 + a
③(a-b)*c-4
④i<30 && i% 10! = 0
(2)表达式的类型和值
①对表达式中操作数进行运算得到的结果称为表达式的值
②表达式值得数据类型即为表达式的类型。
(3)表达式的运算顺序
①应按照运算符的优先级从高到低的顺序进行。
②优先级相同的运算符按照事先约定的结合方向进行。
9.三目条件运算符
*“三目条件运算符,语法格式”
x ?y :z
*其中x为boolean类型表达式,先计算x的值,若为true,则整个三目运算的结果为表达式y的值,否则整个运算结果为表达式z的值。
*举例:
int score = 80; int x = -100;
String type = score < 60 ? "不及格":"及格";
//score=80≮60,不成立,则取冒号右边的"及格"
int flag = x > 0 ? 1 : (x == 0 ? 0 : -1);
//遇到复杂表达式时,从里往外算,括号里(x≠0,则括号里的值为-1);括号外(x=-100≯0,则取值-1),再把-1赋值给flag
Ststem.out,println("type= "+type);
System.out,println("flag= "+flag)
type= 及格; flag= -1;
相关推荐
### C++程序设计 运算符重载实验(一) #### 概述 在C++程序设计中,运算符重载是一项重要的特性,它允许程序员重新定义预定义运算符的行为,以便于创建更加自然和直观的接口。本实验旨在帮助学习者掌握如何在...
三元运算符,也称为条件运算符,是一种简洁的、基于条件的语法结构,它可以在一行代码中完成简单的条件判断和赋值操作。它的基本形式是:`条件 ? 表达式1 : 表达式2`。如果条件为真,那么表达式1的结果会被执行或...
Verilog HDL 运算符优先级详解 Verilog HDL 是一种基于事件驱动的硬件描述语言,用于设计和验证数字电路。Verilog HDL 运算符优先级是指在 Verilog HDL 中各种运算符的执行顺序和优先级,了解运算符优先级对编写...
赋值运算符包括赋值运算符=、除后赋值运算符/=、乘后赋值运算符*=、取模后赋值运算符%=、加后赋值运算符+=、减后赋值运算符-=、左移后赋值运算符、右移后赋值运算符>>=、按位与后赋值运算符&=、按位异或后赋值运算符...
### C++运算符优先级详解 #### 一、引言 在C++编程语言中,了解运算符的优先级对于正确地构造表达式至关重要。不同的运算符根据其优先级顺序来决定表达式的计算顺序,这直接影响到程序的执行结果。本篇文章将详细...
在C++编程语言中,运算符重载是一项关键特性,允许我们为自定义类型赋予特定的运算符行为。本实验“C++作业实验-运算符重载”旨在深入理解这一概念,通过Visual Studio 2010开发环境进行实践。在这个实验中,我们将...
运算符重载是C++语言中的一个重要特性,它允许我们为已有的运算符赋予新的含义,以便在自定义数据类型上使用。对于新手来说,理解并掌握运算符重载是进阶C++编程的关键步骤之一。这篇教程将深入探讨运算符重载的基本...
C++单目运算符重载 单目运算符只有一个操作数,如!a,-b,&c,*p,还有最常用的++i和–i等。重载单目运算符的方法与重载双目运算符的方法是类似的。但由于单目运算符只有一个操作数,因此运算符重载函数只有一个参数...
### C语言逻辑运算符详解 #### 一、逻辑运算符 C语言中的逻辑运算符用于处理布尔值(真/假)或表示真假的整数值(通常0代表假,非0代表真)。这些运算符帮助程序员根据多个条件组合来决定程序流程。 **1. 逻辑与 ...
例如,我们可以通过重载"+"运算符来实现矩阵的相加,重载"-"运算符进行矩阵的相减,重载"*"运算符实现矩阵乘法。通过重载,我们可以保持代码的直观性,使得矩阵操作与原始的数学表达式更为接近。 实现矩阵类时,...
例如,加法运算符"+"用于将两个数值相加,减法运算符"-"用于做减法,乘法运算符"*"用于乘法,除法运算符"/"用于除法,以及取模运算符 "%"用于求余数。例如,`var result = 5 + 3;`将返回8。 2. **赋值运算符**:...
在C语言和C++中,运算符的优先级和结合性是编程时必须掌握的基本概念。运算符优先级决定了表达式中不同运算的计算顺序,而结合性则规定了具有相同优先级的运算符如何组合。 首先,让我们按照优先级从高到低逐个解析...
C语言中运算符的优先级和结合律 C语言中运算符的优先级和结合律是决定复合表达式中操作数的结合方式的两个重要概念。运算符的优先级决定了操作数的结合方式,当复合表达式中的运算符的优先级不同时,操作数的结合...
在C++编程语言中,运算符重载是赋予运算符新的功能或意义,使其能用于特定自定义数据类型的一种技术。本主题将深入探讨如何通过重载加减法运算符来实现复数类的成员函数。复数类是用于表示复数(包括实部和虚部)的...
运算符优先算法 利用数据结构中的运算符优先算法实现整数的加、减、乘、除、括号的多项式运算,运算表达式以#结尾。测试表达式如下运算: "1+(1+2)*(5+25/5)#" 利用数据结构中的运算符优先算法实现整数的加、减、乘...
"实验7 多态性和运算符重载" 多态性是指类族中具有相似功能的不同函数使用同一名称来实现,从而可以使用相同的调用方式来调用这些具有不同功能的同名函数。C++中的多态的实现形式包括函数重载、运算符重载、虚函数...
本章“第3章:Java基础程序设计”着重讲解了运算符、表达式与语句这三个核心概念,它们是构建任何Java程序的基础。 首先,我们来探讨运算符。Java中的运算符用于执行特定的数学或逻辑操作。它们可以分为多种类型,...
在C++编程中,重载运算符是一种强大的特性,它允许我们为已有的运算符赋予新的含义,以适应特定的数据类型。在这个特定的项目中,我们重载了两个运算符:加法运算符"+"和大于运算符">",用于判断三个边长是否能构成...
在编译原理中,识别界符和运算符是编译器设计的重要环节,这涉及到词法分析阶段。词法分析器(通常称为扫描器或词法分析器)的任务是将源代码分解为一个个有意义的单元,即标记(Token),这些标记可以是关键字、...
运算符重载是C++语言中的一项重要特性,它允许开发者为用户自定义的数据类型(如类)赋予标准运算符新的含义,使得这些运算符在处理这些特定类型时能够执行相应的操作。运算符重载的核心在于,通过创建与运算符关联...