public class Demo {
public static void main(String[] args) {
//1.运算符
/*
* 1).算术运算符:+ - * / % ++ --
* "a++":先使用a原本自身的值,然后a再自增1
* "++a":先a自增1,然后使用a的值
*/
System.out.println(123%32);
int a = 1;
System.out.println(a++);
System.out.println(a);
double d = 3.14;
System.out.println(d--);//3.14
System.out.println(d++);//2.14
System.out.println(--d);//2.14
System.out.println(++d);//3.14
/*
* 2).关系运算符: > , < , >= , <= , == , !=
* 关系运算符最后的结果是boolean类型的值
*/
boolean b = 1 != 2;
System.out.println(b);
System.out.println(100<100);
/*
* 3).逻辑运算符: &&(与) , ||(或) , !(非)
*
*/
boolean b1 = (a<0) && (1==1);
System.out.println(b1);
boolean b2 = true || false ;
System.out.println(b2);
boolean b3 = ((100>1000) || (true == true)) && (1==7)||(1.349>0);
System.out.println(b3);
System.out.println(!b3);
/*
* 4).赋值运算符: = , += , -= , /= , %=
*
*/
int c = 0;
c += 5; // a = a+5
int e = 5 ;
int e2 = -e++ + 4 * 2;//int e1 = -e++;
System.out.println(e2);
boolean f = 1+2 > 6 && 7 == 8;
System.out.println(f);
//运算的优先级:单目运算符>算数运算符>关系运算符>逻辑运算符>赋值运算符
/*
* 5).字符串连接符: +
*/
int g = 1;
int g1 = 2;
System.out.println("a+b的结果是"+g+g1);
/*
* 6).三目运算符
* boolean表达式 + ? + 值1 : 值2
* boolean表达式为true,则赋值值1,否则值2
*/
int h = 1 > 2 ? 100 : 200;
boolean h1 = 1 > 2 ? false : true;
/*
* 7).短路运算
* ||运算中,当左边的boolean表达式为true,那么最后的结构就是true,没有必要进行右边的运算
* 也就是说,逻辑运算||中可能会出现代码执行不完全的问题
*
* &&运算中,当左边的boolean表达式为false,那么最后的结构就是false,没有必要进行右边的运算
* 也就是说,逻辑运算&&中可能会出现代码执行不完全的问题
*
* 解决方法:1.不使用短路运算
* 2.再短路运算中,只进行关系运算以及逻辑运算,不要涉及其他计算
*/
int i1,i2;
boolean i = (i1 = 5) < 7 | (i2 = 4) == 4;
System.out.println(b);
System.out.println(i1);
System.out.println(i2);
}
}