Java中的运算符和表达式
表达式就是一个由运算符和操作数连接在一起形成的式子,表达式一定会有一个明确的运算结果
根据操作数的个数分为3类
1。单目运算符
2。双目运算符
3。三目运算符
根据运算符的功能来划分种类
算术运算符
+ - * / % ++ –
加运算符:是Java中唯一一个具有双重含义的运算符
拼字符串,求和
除运算符:整数除整数得到的结果还是整数,除不尽的数做为余数
如果需要得到小数的运算结果,有一个操作数是小数就可以
加加和减减是单目运算符
只能针对变量使用
前加(减)与后加(减)的区别在于表达式的运算结果是否产生变化,对于变量的变化来说没有差异
比较运算符
> < >= <= == !=
比较表达式的运算结果是布尔类型
逻辑运算符-操作数和运算结果都是逻辑类型
与 && (并且)
true && true = true
true && false = false
false && true = false
false && false = false

逻辑与运算只要有一个是false,整个表达式的结果就是false
				或 || (或者)
					true || true = true
					true || false = true
					false || true = true
					false || false = false
					逻辑或运算只要有一个是true,整个表达式的结果就是true

				非 ! (不是)
					非真即假,非假即真
				
			条件运算符
			位运算符
			赋值运算符


			ASCII码
			关于转换:
				自动转换:double->float->long->int->short,byte,char
				强制转换:(类型)数据
	*/
	

	int x = 10;
	
	int y = 3;

/*
double z = x + y;

System.out.println("和:" + (x + y));

	System.out.println("和:" + z);
	z = x - y;
	System.out.println("差:" + z);
	z = x * y;
	System.out.println("积:" + z);
	z = x / (double)y;
	System.out.println("商:" + z);
	z = x % y;
	System.out.println("余:" + z);

	System.out.println(x + 'a');

	System.out.println((char)97);

	
	System.out.println("x++这个表达式的运算结果:" + x++);
	System.out.println("x++之后x的值:"+x);

	x = 10;
	System.out.println("++x这个表达式的运算结果:" + ++x);
	System.out.println("++x之后x的值:"+x);
*/

/*
System.out.println( x > y );
System.out.println( x < y );
System.out.println( x >= y );
System.out.println( x <= y );
System.out.println( x == y );
System.out.println( x != y );

/
/

System.out.println( x>y && x>8 );
System.out.println( x>y && x<8 );
System.out.println( x<y && x>8 );
System.out.println( x<y && x<8 );

System.out.println( !(x>y || x>8) );
	System.out.println( x>y || x<8 );
	System.out.println( x<y || x>8 );
	System.out.println( x<y || x<8 );

*/

//逻辑与和逻辑或的特殊情况
	System.out.println( x>y && ++x>8 );
	System.out.println("x=" + x);
	System.out.println( x<y || ++x>8 );
	System.out.println("x=" + x);

条件运算符
Java中的唯一的三目运算符
1 ? 2 : 3
1是一个产生布尔类型运算结果的表达式
2和3会根据1表达式结果来决定谁做为整个条件表达式的运算结果
如果表达式1成立,则选择表达式2的结果
如果表达式1不成立,则选择表达式3的结果

位运算符

		赋值运算符
		 =
		 +=   -=  *=   /=  %=	[ &=  |=  <<= >>= ]
	*/

	/*
		小案例:根据所输入的成绩,输出是否及格的结果
	*/

	/*
	Scanner scanner = new Scanner(System.in);
	System.out.println("请输入一个成绩:");
	int score = scanner.nextInt();
	System.out.println(score>=60 ? "及格" : "不及格");
	*/


	/*
		练习小案例:根据所输入的整数,输出是奇数还是偶数的结果
	*/

/*
int x = 5;
int y = 1;

System.out.println( x&y );
	System.out.println( x|y );
	System.out.println( x^y );
	System.out.println( x<<1 );

/
/

//使用最有效率的方式计算一个数的奇偶性
int x = 88888;
System.out.println((x&1)==1?“奇数”:“偶数”);
//计算器中的归零如何实现
System.out.println( x&0 );
//利用异或运算实现信息的加密解密
System.out.println( x ^ 100 ^ 10000);
System.out.println(97356 ^ 10000 ^ 100);

//使用最有效率的方式求2的3次幂的结果
	System.out.println(2<<2);
	*/

	int i = 100;

	System.out.println(i=200);
	System.out.println(i);


	i *= 10;
	//等同于
	//i = i * 10;
	System.out.println(i);

MathDemo
System.out.println(Math.abs(-100));
System.out.println(Math.ceil(10.5));
System.out.println(Math.floor(10.5));
System.out.println(Math.max(100, 10));
System.out.println(Math.min(100, 10));
System.out.println(Math.pow(2, 3));
System.out.println(Math.sqrt(16));
System.out.println(Math.sin(30));
System.out.println(Math.round(10.5));
System.out.println(Math.log10(10));

//求[0,1)之间的随机小数
	System.out.println(Math.random());
	//求[0,100)之间的随机整数
	System.out.println((int)(Math.random()*100));
	//求[1,100]之间的随机整数
	System.out.println((int)(Math.random()*100) + 1);
	//练习:求[1,36]之间的随机整数