运算符和表达式
来源:互联网 发布:青山水利造价软件 编辑:程序博客网 时间:2024/05/30 04:24
一、运算符
对各种类型的数据进行加工的过程称为运算;
表示各种不同运算的符号称为运算符;
参与运算的数据称为操作数。
按操作数的数目来分,可有:
一元运算符:++、–
二元运算符:+、-、>
三元运算符: ? :
基本运算符按功能划分,有下面几类:
1.算术运算符:+,-,*,/,%,++,– ,例:
2+3 //加法求和,整个表达式值为55-2 //减法求差,整个表达式值为32*3 //乘法求积,整个表达式值为610/2 //除法求商,整个表达式值为510%4 //求余,整个表达式值为2++6 //前自加,在自身数据的基础上+1,整个表达式值为76++ //后自加,在自身数据的基础上+1,整个表达式值为7--6 //前自减,在自身数据的基础上-1,整个表达式值为66-- //后自减,在自身数据的基础上-1,整个表达式值为610/3 //10除以3,所得值本应为3.33无限循环,但因为10和3都为int类型,所以得到的结果也是一个int类型,3.33无限循环会自动转为int类型,所以这个表达式的值实际为3
2.关系运算符:> , < , >= , <= , == , != ,判断两个表达式或变量间的某种关系是否成立,成立返回true,不成立返回false,举例:
i=3;j=5;i>j //比较i是否大于j,因为i为3,j为5,所以这个表达式不成立,返回布尔值falsei<5 //比较i是否小于j,表达式返回布尔值truei>=5 //比较i是否大于或等于j,表达式返回falsei<=5 //比较i是否小于或等于j,表达式返回truei==5 //比较i是否等于j,表达式返回falsei!=5 //比较i是否不等于j,表达式返回true
3.逻辑运算符:! , && , || ,只对返回布尔类型的表达式或为布尔类型的变量进行处理,例:
flag=3>5; //3>5 返回false,flag将被赋值为false!flag; //逻辑非运算符,表达式返回flag的反义,即trueflag&&3<5; //逻辑且运算符,当运算符两端的表达式或变量都为true时,整个表达式才返回true,否则都为false,3<5返回true,但flag的值为false,所以,这个表达式返回falseflag||3<5; //逻辑或运算符,当运算符两端的表达式或变量都为false时,整个表达式才返回false,只要有其中一个为true,整个表达式返回true,flag的值为false,但3<5返回true,所以,这个表达式返回true
4.赋值运算符: = ,以及其扩展赋值运算符,如 +=,-=,*=,/= 等
int i;i=3; //将i赋值为3i+=3; //等效于i=i+3i-=3; //等效于i=i-3i*=3; //等效于i=i*3...
5.条件运算符: ? : ,例:
int i=0;int result;result = ( i==0 ? 0 : i*10);//先判断问号前的表达式是否成立,若成立返回问号后的值,否则返回冒号后的值。例子中,i==0成立,整个条件运算表达式返回为0,所以result将被赋值为0
6.位运算符: >> , << , >>> , & , | , ^ , ~ 。适用于运算二进制数
a=10011101;b=00111001;a<<3; //等于11101000a>>3; //等于11110011 a>>>3;
7.其它:
分量运算符"." : System.out.print("Hello World!");下标运算符"[]": int num=array[2];实例运算符"instanceof" ;内存分配运算符"new" ;...
二、表达式
表达式是由操作数和运算符按一定的语法形式组成的符号序列,一个常量或变量的名字是最简单的表达式,其值即为该常量或变量的值;表达式的值还可以作为其它运算的操作数,形成更复杂的表达式。
表达式的类型,由运算以及参与运算的操作数的类型决定,如:
布尔型表达式:false||true //表达式的类型为布尔类型,返回一个布尔值整数类型表达式:10/3 //表达式的类型为整数类型,返回一个整数3
运算符的优先次序
一个表达式若含有多个运算符,则这些运算符将按照运算符的优先顺序来被进行运算,整个表达式的运算从高级到低级,同级运算符从左到右进行
int result;int i=3;result= (i%2==1 ?1:0)++;//1.运行()中的运算 2.运行i%2 3.运行?:运算符 4.运行++运算 5.运行=赋值运算,最终result将被赋值为2System.out.print(i++);//将输出3,先运行print()输出i为3,后运行i++运算,得到4System.out.print(++i);//将输出5,前一个输出后,i++得到4,这里先运行++i,得到5,后运行print()输出i为5
0 0
- 表达式和运算符
- 运算符和表达式
- 运算符和表达式
- 运算符和表达式
- 运算符和表达式
- 运算符和表达式
- 表达式和运算符
- 表达式和运算符
- 运算符和表达式
- 运算符和表达式
- 运算符和表达式
- 运算符和表达式
- 运算符和表达式
- 运算符和表达式
- 运算符和表达式
- 运算符和表达式
- 表达式和运算符
- 运算符和表达式
- 关于时间
- 区间覆盖问题
- 蓝桥杯 Fibonacci 数列 java
- Mysql的Root密码忘记,查看或修改的解决方法(图文介绍)
- docker + shellshocker
- 运算符和表达式
- php: CGI faseCGI PHP-FPM | laravel启动过程 | php依赖注入
- Spring事务管理
- spring Handler 映射
- Java NIO (3) Selector
- 解决eclipse neno在线下载安装缓慢及失败的问题
- 架构学习之路——高可用高并发系统设计原则
- 学习Weblogic的学习之一
- python——高阶函数——闭包 装饰