.1.运算符
- (1)运算符的定义:对常量和变量进行操作的符号称为运算符。
- (2)运算符的分类:
a.算数运算符:+,-,* ,/,%,++,–
b.赋值运算符:=,+=,-=,=,/=,%=
c.关系运算符:== ,!= , < , > , <= , >=
d.逻辑运算符:&(并且) , |(或者) , !(非) , ^(异或) , &&(短路与) , ||(短路或)
e. 位运算符 :&(与),|(或),^(异或) , ~(按位取反) , <<(左移) ,>>(右移) ,>>>(无符号右移)
f.三元运算符; - (3)算数运算符
注意事项:a:整数相除只能得到整数。如果想得到小数,请使用浮点数;
b:/获取的是除法操作的商,%获取的是除法操作的余数;
%运算结果的符号,取决于参与运算是左边的符号
c.++:自加。对原有的数据进行+1;
d.–:自减。对原有的数据进行-1. - (4)赋值运算符
注意事项:
.a:基本的赋值运算符:=;把=右边的数据赋值给左边
b:扩展的赋值运算符:+=,-=,*=,/=,%=; += 把左边和右边做加法,然后赋值给左边。
c: 赋值运算符要求左边的数据必须是一个变量 - (5)关系运算符
注意事项:
a.无论你的操作是简单还是复杂,结果是boolean类型。
b."==“不能写成”="。 - (6)逻辑运算符
注意事项:
a:逻辑运算符一般用于连接boolean类型的表达式或者值。
b:表达式:就是用运算符把常量或者变量连接起来的符合java语法的式子。
算术表达式:a + b
关系表达式:a == b - (7)位运算符
注意事项:位运算是直接对二进制补码进行运算。 - (8)三元(三目)运算符
格式:(关系表达式) ? 表达式1 : 表达式2;
例: int a=(10>20)?40:60; a=60 - (9)代码块示例
a.算数运算符
public static void main(String[] args) {
//数学运算符 + - * / ++ -- %
int a=8;
int b=4;
System.out.println(a/2);
System.out.println(a/b); //两个整数相除如果不能整除取,取的是商
System.out.println(a%b); //取余数
System.out.println(a/b);
// ++自身加1 -- 自身减去 1
int num=1;
num++;
++num;
num--;
--num;
//如果说我们混合使用 ++在前,是先运算,后使用
//如果++在后先使用,后运算
int r=num++;
System.out.println(num); //2
System.out.println(r); //1
int rr=3+(num++)-1+(num--)+1+(++num)+2+(++num)+10;
System.out.println(rr);// 23
System.out.println(num);//3
b.赋值运算符
赋值运算符 = += -= *= /= %=
//把右边这个整数常量100 赋值给左边这个int类型的变量a
int a=100;
a=1000;
int num=10;
num=num+10; //等价与 num+=10; 累加
num+=10;
int a=10;
a+=10;//(等同于a=a+10)
a=a+10;
System.out.println(a);
c.关系运算符
int a=10;
int b=20;
boolean flag=a==b;
flag=a>b;
flag=a<=b;
flag=a!=b;
System.out.println(flag);
d.逻辑运算符
int a=10 ;
int b=20;
//& 运算两端,只要任意一端是false 其最终结果都是false 只有两端都位true最终结果才是true
boolean flag=a>10&b<10;
flag=a==10&&b>10;
flag=true&&false;
// | 或者 运算两端只要任意一端,为true 其最终结果都是true,只有两端都是false其最终结果才是false
flag=a==20|b>10;
flag=false|false;
flag=a>10|b<100;
System.out.println(!!!!!!!flag);
//! 取反 true变false false 变true
System.out.println(!true);
System.out.println(!false);
System.out.println(!(10==20));
// ^(异或) 相同为false 不同为true false^fasle false true^true false fasle^true true true^false true
System.out.println(false ^ false);
System.out.println(true ^ true);
System.out.println(a>b^a<b);
e.位运算符
System.out.println(3&4); //0
System.out.println(3|4); //7
// << : 把<<左边的数据乘以2的移动次幂 例如 10<<3 结果 10*2^3=80
// >> : 把>>左边的数据除以2的移动次幂 例如 40>>3 结果 40/2^3=5
System.out.println(3>>2);
System.out.println(3<<2);
f.三元运算符
int a=10;
int b=20;
int c=100;
int max=a>b?a:b;
int max2=max>c?max:c;