1.算术运算符运算符
/*
基本数据类型:
byte 1字节 8比特 0000 0000 第一位数字为1是负数
short 2字节
int 4字节
long 8字节
float 4字节 有效数值为8位
double 8字节 有效数值为16位,保留17位
char 8字节
boolean 8字节 两种数据类型true、false
*/
//四种整形
byte BYTE;
short SHORT;
int INT;
long LONG=123456789l;
//两种浮点型
float FLOAT=0.1f;
double DOUBLE=0.2d;
//一种字符型
char CHAR='c';
//一种布尔型
boolean BOOLEAN=true;
//强制类型转换
INT=21474836;
SHORT=(short)INT;//从大类型转换到小类型数据可能会有损失,不同数据类型的变量进行运算,其结果为其中的最大类型
System.out.println("INT:"+INT);
System.out.println("SHORT:"+SHORT);
INT=SHORT;
System.out.println("INT:"+INT);
//算术运算符运算符
// = 赋值
INT = 10;
// +
System.out.println("INT+1= "+(INT+1));//11
// -
System.out.println("INT-1=" +(INT-1));//9
// *
System.out.println("INT*2= "+(INT*2));//20
// /
System.out.println("INT/4= " +(INT/4));//2
// %
System.out.println("INT%3= "+(INT%3));//1
// +=
System.out.println("INT+=1 "+(INT+=1));//11 INT+=1(在数值上相加) == INT=INT+1(计算后重新赋值但要注意类型转换)
// -=
System.out.println("INT-=1 "+(INT-=1));//10
2.比较运算符
// 比较运算符
INT=20;
LONG=10;
// >
System.out.println("INT > LONG "+(INT>LONG));//true
// >=
System.out.println("INT >= LONG "+(INT>=LONG));//true
// <
System.out.println("INT < LONG "+(INT<LONG));//false
// <=
System.out.println("INT <= LONG "+(INT<=LONG));//false
// ==
System.out.println("INT == LONG "+(INT==LONG));//false
// !=
System.out.println("INT != LONG "+(INT!=LONG));//false
3.三元运算符(三目运算符)
{比较}?{比较结果为TRUE运行} :{比较结果为FALSE运行}
System.out.println("INT > LONG?1 :0 -->"+(INT > LONG?1:0));//1
4.一元运算符
前置++和后置++、前置--和后置--
运算符在后面,则先返回数据再进行自加1,运算符在前面则先进行自加1后再返回数据
int num1=6;
int num2=6;
int sum1=(num1++ + 1)+(++num1+1)+num1*10;//7 + 9 + 80 =96
int sum2=num2*10+(num2++ + 1)+(++num2 +1);//60 + 7 + 9 =76
System.out.println("sum1:"+sum1);
System.out.println("sum2:"+sum2);
5.逻辑运算符
逻辑与和短路与区别在于,前者永远会执行运算符两边的元素,后者一旦符号左边是false就不会执行符号右边的元素,逻辑或和短路或同理
/*
逻辑运算符
*/
boolean flag1=false;
boolean flag2=false;
// & 逻辑与 有错全错
System.out.println("--------逻辑与-------");
System.out.println(true&false);
System.out.println(true&true);
System.out.println(false&(flag1=true));
System.out.println("flag1:"+flag1);
// && 短路与 有错全错
System.out.println("--------短路与-------");
System.out.println(true&&false);
System.out.println(true&&true);
System.out.println(false&&(flag2=true));
System.out.println("flag2:"+flag2);
// | 逻辑或 有对全对
System.out.println("--------逻辑或-------");
System.out.println(true|false);
System.out.println(false|false);
// || 短路或 有对全对
System.out.println("--------短路或-------");
System.out.println(true||false);
System.out.println(false||false);
// ! 非 取反
System.out.println("--------非-------");
System.out.println(!false);
System.out.println(!true);
// ^ 异或 不同为真
System.out.println("--------异或-------");
System.out.println(true^false);
System.out.println(true^true);
System.out.println(false^false);