运算符

什么是运算符:

对常量和变量进行操作的符号称为运算符

什么是表达式:

用运算符把常量或者变量连接起来符合java语法的式子就可以称为表达式

不同运算符连接的式子体现的是不同类型的表达式

常用的运算符:

1.算术运算(加减乘除)

public classDemoOperator {

public static voidmain(String[]args) {

//定义两个变量

inta= 3;

intb= 4;

//整数相除只能得到整数,想要得到小数,就必须有浮点数参与运算

}

}

1.1 %的用法:

判断两个数据是否整除

得到的是两个相除数据的余数

public classDemoOperator {

public static voidmain(String[]args) {

inta= 5;

intb= 3;

System.out.println(a/b);//1

System.out.println(a%b);//2

}

}

1.2+的多种用法:

a.数字相加

b.字符相加:拿字符在计算机中底层存储对应的数据值来参与运算的

c.字符串相加:不是字符串之间相加,而是起到连接的作用,连接完仍然是字符串类型

public classDemoOperator {

public static voidmain(String[]args) {

//1.整数的加法

inta= 10;

intb= 20;

//2.字符参与加法操作

charc='0';

charc2='a';

//3.字符串参与加法操作

System.out.println("hello"+a+b);//"hello"+10="hello10",然后再和b进行拼接

System.out.println(a+b+"hello");//从左到右依次计算,先求和,在连接

}

1.3++,--的用法:

a.对变量做加1或者减1的操作

b.可以写在变量的前面(++a,--a),也可写在后面(a++.a--)[不管前后,结果都是一样的]

c.混合使用:

如果++,--写在变量的后面,先拿变量本来的值参与操作,结束后变量做++,--

如果++,--写在变量的前面,先把变量做++,--,再用改变后的值参与操作

public classDemoOperator {

public static voidmain(String[]args) {

inta= 10;

//单独使用

// a++;

// ++a;

// System.out.println("a:" + a);

//参与操作使用

//intb = a++;

intb= ++a;

}

}

2.赋值运算:

基本:=

public classDemoOperator {

public static voidmain(String[]args) {

//把10赋值给int类型的变量a

inta= 10;

}

}

扩展:+= ,-=,*=,/=,%=

把左边和右边的结果赋值给左边

注意:左边不能是常量

隐含了一个强制类型转换.

public classDemoOperator {

public static voidmain(String[]args) {

// +=把左边和右边的数据进行运算,最后赋值给左边,左边的只能是变量

a+= 10;//相当于a = a + 10

shorts= 10;

// s += 20; //相当于s = s + 20;

s= (short) (s+ 20);

}

}

3.关系运算:

==,!=,>,=,

说明:

关系运算符的结果都是boolean型,也就是要么是true,要么是false

关系运算符“==”不能误写成“=”

public classDemoOperator {

public static voidmain(String[]args) {

inta= 10;

intb= 20;

intc= 10;

intx= 3;

inty= 4;

// System.out.println(x == y);

// System.out.println(x = y);//把y赋值给x,把x的值输出

booleanbb= (x==y);

//报错

// booleancc= (x = y);

intcc= (x=y);

}

}

4.逻辑运算:&(与),(或),^(异或),!(非)

逻辑运算符用于连接布尔型表达式

在Java中不可以写成3

与:&有false则false

或:有true则true

异或:^ 相同则false,不同则true

非:!true则false,false则true

public classDemoOperator {

public static voidmain(String[]args) {

inta= 10;

intb= 20;

intc= 30;

System.out.println((a>b) & (a>c));// false & false

System.out.println((ac));// true & false

System.out.println((a>b) & (a

System.out.println((a

System.out.println((a>b) (a>c));// false false

System.out.println((ac));// true false

System.out.println((a>b) (a

System.out.println((a

System.out.println((a>b) ^ (a>c));// false ^ false

System.out.println((ac));// true ^ false

System.out.println((a>b) ^ (a

System.out.println((a

System.out.println((a>b));// false

System.out.println(!(a>b));// !false

System.out.println(!!(a>b));// !!false

}

}

3.1&&和&的区别:

单&时,左边无论真假,右边都进行运算

双&时,如果左边为真,右边参与运算,如果左边为假,那么右边不参与运算

“”和“”的区别同理,双或时,左边为真,右边不参与运算

public classDemoOperator {

public static voidmain(String[]args) {

inta= 10;

intb= 20;

intc= 30;

System.out.println((a>b) && (a>c));// false && false

System.out.println((ac));// true && false

System.out.println((a>b) && (a

System.out.println((a

System.out.println((a>b) (a>c));// false false

System.out.println((ac));// true false

System.out.println((a>b) (a

System.out.println((a

intx= 3;

inty= 4;

// System.out.println((x++ > 4) & (y++ > 5)); // false & false

System.out.println((x++ > 4) && (y++ > 5));// false && false

}

}

4.三元运算:

格式:(关系表达式)?表达式1:表达式2

如果条件为true,运算后的结果是表达式1

如果条件为false,运算后的结果是表达式2

4.1三元运算比较两个数据是否相同

public classDemoOperator {

public static voidmain(String[]args) {

//定义两个int类型的变量

inta= 10;

intb= 20;

booleanflag= (a==b) ?true:false;

// boolean flag = (a == b);

}

}

4.2三元运算获取三个数中的最大数

public classDemoOperator {

public static voidmain(String[]args) {

//定义三个int类型的变量

inta= 10;

intb= 30;

intc= 20;

//先比较两个整数的大值

inttemp= ((a>b) ?a:b);

intmax= ((temp>c) ?temp:c);

}

}

期待有问题在后台留言,或者下方留言

觉得有帮助,请分享给更多人

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20180227G198FX00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。

扫码关注云+社区

领取腾讯云代金券