【Java入门】运算符和表达式

 

package com.itheima_01;

*
 * 运算符:就是用于对常量和变量进行操作的符号
 * 表达式:用于运算符链接起来的符合Java语法的式子,不同的运算符连接的表达式是不同类型的表达式
 * 		举例:a,b
 * 			 a + b
 * 运算符分类:
 * 		算术运算符:
 * 				 +,-,*,/,%,++,--
 * 				 a.字符参与加法运算:字符在计算机中存储的数据值来参与运算
 * 					 'A' 65  
		 			 'a' 97  
		 			 '0' 48
 * 				 b.字符串参与加法运算是字符的拼接
 * 				 c.++ -- 自增自减
 * 					单独使用a++,++a结果一样
 * 					++在后,先操作变量再++
 * 					++在前,先变量++再操作
 * 					
 * 		赋值运算符:
 * 					基本的赋值运算符:=
 * 					扩展的赋值运算符:+=,-=,*=,...
 * 		关系运算符:
 * 				==,!=,>,>=,<,<=
 * 				关系运算符的结果是boolean类型
 * 		逻辑运算符:
 * 				&: 有False则False
 * 				|: 有True则True
 * 				^: 相同則False,不同則True
 * 				!: True则False,False则True
 * 				注:&&,|| 同&,|; 但&&,||更高效,满足条件即不进行下一步计算
 * 				
 * 		三元运算符:
 * 				关系表达式?表达式1:表达式2
 * 				执行流程:计算关系表达式True或者False
 * 						 if True,表达式1;
 * 						 if False,表达式2;
 * 						
 * 
 *
public class OperatorDemo {
	public static void main(String[] args) {
		// 定义变量
		int a = 3;
		int b = 4;
		System.out.println("算术运算符a=3,b=4");
		System.out.println(a + b);
		System.out.println(a - b);
		System.out.println(a * b);
		System.out.println(a / b);
		// 整数相除只能得到整数,要想得到小数,就必须浮点数参与运算
		System.out.println("浮点型运算3.0/4="+3.0 / 4);

		// 字符参与加法运算:字符在计算机中存储的数据值来参与运算
		char c = 'A';
		System.out.println("字符参与加法运算");
		System.out.println(a + c);
		// 字符串参与加法运算是字符的拼接
		System.out.println("hello" + c);
		System.out.println("hello" + a + b);
		// c+a是int类型做了加法
		System.out.println(c + a + "hello");

		
		System.out.println("a:" + a);
		// ++
		a++;
		++a;
		System.out.println("a:" + a);
		
		// 参与其他操作
		// int d=a;
		int d = a++;
		// int d = ++a;
		System.out.println("字符参与其他++计算");
		System.out.println("a:" + a);
		System.out.println("d:" + d);

		// +=的操作
		// 拿+=的左右边数据做+,然后赋值给左边
		a += 20;
		System.out.println("a:" + a);
		

		// 注意:扩展的赋值运算符,隐含了强制类型转换
		// 拿+=的左(short)右(int)边数据做+,然后赋值给左边(short)
		// a+=10 相当于:a = (a的数据类型)(a + 10)
		short s = 1;
		s += 1;
		System.out.println("扩展的赋值运算符");
		System.out.println("s:" + s);		

		// 关系运算符定义变量
		int a1 = 10;
		int b1 = 20;
		int c1 = 10;
		// ==
		System.out.println("关系运算符定义变量==");
		System.out.println(a1 == b1);
		System.out.println(a1 == c1);

		// !=
		System.out.println("关系运算符定义变量!=");
		System.out.println(a1 != b1);
		System.out.println(a1 != c1);

		// ...>,<,<=,>=自己测试
		// 注意事项:
		System.out.println("注意事项:关系运算符定义变量=,==");
		System.out.println(a1 == b1);
		System.out.println(a1 = b1);// 把b1值赋值给a1,输出a1

		
		// 逻辑运算符&  有False则False
		System.out.println("逻辑运算符&  有False则False");
		System.out.println((a > b) & (a > c));
		System.out.println((a < b) & (a > c));
		System.out.println((a > b) & (a < c));
		System.out.println((a < b) & (a < c));

		// 逻辑运算符 |  有True则True
		System.out.println("逻辑运算符 |  有True则True");
		System.out.println((a > b) | (a > c));
		System.out.println((a < b) | (a > c));
		System.out.println((a > b) | (a < c));
		System.out.println((a < b) | (a < c));		

		// 逻辑运算符 ^  相同則False,不同則True
		System.out.println("逻辑运算符 ^  相同則False,不同則True");
		System.out.println((a > b)^ (a > c));
		System.out.println((a < b)^ (a > c));
		System.out.println((a > b)^ (a < c));
		System.out.println((a < b)^ (a < c));		

		// 逻辑运算符!  True则False,False则True
		System.out.println("逻辑运算符!  True则False,False则True");
		System.out.println( ! (a > c));
		System.out.println( ! (a > c));
		System.out.println( ! (a < c));
		System.out.println( ! (a < c));
		
		
		//三元表达式
		System.out.println("三元表达式");
		int i = (a>b)?a:b;
		System.out.println("i:"+i);
		
		//定义两个变量
		int a2=10;
		int b2=20;
		int c2=15;
		//方法2:boolean flag = (a == b)?true:false;
		boolean flag = (a2==b2);
		System.out.println("比较两个整数是否相等a2=10,b2=20");
		System.out.println("flag:"+flag);
		
		//先获取两个数据的最大值,再与第三个数据比较
		int temp = (a2>b2)?a2:b2;
		int max = (temp>c2)?temp:c2;
		System.out.println("比较三个整数最大值");
		System.out.println("max:"+max);
	};

}

 
 

你可能感兴趣的:(Java)