首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

JAVA编程基础三:表达式和运算符

表达式

以分号;结尾的一段代码叫做表达式。表达式由变量、操作符以及方法调用组成,例如:

单个分号也是一条合法的表达式,例如:

表达式是一个简单的知识,我们只需要知道它是什么意思就可以,后面,随着我们对JAVA程序的学习以及练习,表达式就会顺其自然地融入我们的大脑的知识库。

运算符

JAVA为我们提供了丰富的运算符。在中学的数学里面我们已经接触过很多运算,对于运算我们并不陌生,不过程序里面的运算更丰富。

在JAVA中,有6类运算:

1、算数运算符

(1)加法(+)、减法(-)

int a = 1;

int b = 2;

int c = a + b;

(2)乘法(*)、除法(/)、求余数(%)

int a = 1;

int b = 2;

int c = a * b;

int d = c / b;

int e = c % b;

(3)算数表达式:包含算数运算符和括号的算式叫做算数表达式,例如:12 *(2 + 3)/ 10

int a = 1;

int b = 2;

int c = a * b;

int d = 12 / (a+b);

int e = 21 % (11 - b) * 2;

(4)算术运算中的数据转化

①8种基本类型中,出了boolean,其他7种(byte、short、int、long、float、double、char)都能参与算术运算。

②char类型底层是通过int的表示的,因此我们可以用int来表示char

③算数运算中,存在自动子类转化现象,当byte、short、char参与运算时,会被默认转化为int,例如:

byte b1 = 1;

byte b2 = 2;

short s1 = 3;

short s2 = 4;

char c1 =‘A’;

char c2 =‘B’;

int i = 5;

b1 + b2的结果是int类型;

s1 + s2的结果是int类型;

c1 + c2的结果是int类型;

b1 + s1的结果是int类型;

b1 + c1的结果是int类型;

b1 + s1 + c1 + i的结果也是int类型;

④当long参与运算的时候,所有整数都会被默认转化为long

⑤当浮点数参与运算的时候,整数会被默认转化为浮点数

2、单目运算符

所谓单目运算符,就是说只需要一个数据参与运算。下面介绍两个单目运算符以及它们的使用方式:

(1)自增++:++有两种使用方式(++在变量前面、++在变量后面)

(2)自减--:--有两种使用方式(--在变量前面、--在变量后面)

(3)通过上面两个程序总结:

①++或者--是用来实现变量的自增或者自减的单目运算符

②当++在变量前面的时候,就对变量先自增,然后再输出自增后的结果

③当++在变量后面的时候,就先输出变量的值,然后再对变量自增

3、关系运算符

关系运算符,用来比较两个变量的关系,比较的结果是boolean类型,当关系成立的时候,结果是true,否则是false。关系运算符一共有6种,如下图:

关系运算符很容易理解,关系运算符经常用在条件表达式里面,所以我们将会在后面的内容再次提到关系运算符。

4、逻辑运算符

逻辑运算是对boolean类型的变量进行运算。

(1)逻辑与运算

①当左右两个变量全部为真(true)时,返回真(true),否则返回假(false)

②与运算符分为短路与“&&”和非短路与"&"

③与运算的规则是有假则假,所以如果第一个数是false的话,短路与“&&”就不在判断第二个数。这一点就是&&和&的区别。

(2)逻辑或运算

①当两个操作数全部为假(false)时,返回假(false),否则返回真(true)

②或运算符分为短路或“||”和非短路或"|"

③在或运算中,只要有一个为真,其运算结果为真,当两个都为假,其运算结果才为假,因此,当第一个是真的时候,短路或“||”就不在对后面的数据做判断,这一点就是短路或“||”和非短路或“|”的区别。

(3)逻辑非运算

①若操作数的值为真(true),则返回假(false),若操作数的值为假(false),则返回真(true)

②用符号“!"标识

③测试程序如下:

(4)逻辑亦或运算

①若两个操作数不一样,则返回真(true),若两个操作数的值一样,则返回假(false)

②程序:

5、位运算符

(1)位运算应用的数据类型(int),长整型(long),短整型(short),字符型(char),和字节型(byte)

(2)位运算符作用在所有的位上,并且按位运算。假设a = 60,b = 13;它们的二进制格式表示将如下:

(3)下表列出了位运算符的基本运算,假设整数变量A的值为60和变量B的值为13:

6、三元运算符

三元运算又叫做条件运算,该运算符有3个操作数,并且需要判断布尔表达式的值。该运算符的主要是决定哪个值应该赋值给变量:

Java运算符优先级

当多个运算符出现在一个表达式中,就涉及到运算符的优先级别的问题。在一个多运算符的表达式中,运算符优先级不同会导致最后得出的结果差别甚大。

例如:(1+3)+(3+2)*2,如果按加号最优先计算,答案就是18,如果按照乘号最优先,答案则是14。

下表中具有最高优先级的运算符在的表的最上面,最低优先级的在表的底部:

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20181020G0J47200?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券