Test1 逻辑运算符 短路机制
/**
* 逻辑运算符
*/
//逻辑或 二者满足其一时 就是真
System.out.println("false || true =" + (false || true) );
System.out.println("false || false =" + (false || false) );
System.out.println("true || true =" + (true || true) );
System.out.println("true || false =" + (true || false) );
System.out.println("==============================");
//逻辑与 二者必须都是真是 才是真
System.out.println("false && true =" + (false && true) );
System.out.println("false && false =" + (false && false) );
System.out.println("true && true =" + (true && true) );
System.out.println("true && false =" + (true && false) );
System.out.println("==============================");
//逻辑非 非真即假 非假即真
System.out.println("!true =" + !true);
System.out.println("!false =" + !false);
System.out.println("==============================");
/**
* 短路机制
*/
int a = 5, b = 6;
System.out.println((a=9)>0||(b=8)>0);
// 因为 逻辑或运算有一个为真 就为真了 当第一个表达式为真的时候 后面就形成短路了
System.out.println("a = " + a + "\nb = " + b);
System.out.println( (a = 7) < 0 && (b=2) > 0 );
// 因为 逻辑与运算需要两个都为真才真 当第一个已经是假了 后面就形成短路了
System.out.println("a = " + a + "\nb = " + b);
Test2 关系运算符
/**
* 关系运算符
*/
//关系运算符得到的运行结果是 布尔类型
System.out.println(" 1>2 = " + (1>2) );
System.out.println(" 1<2 = " + (1<2) );
System.out.println(" 1>=2 = " + (1>=2) );
System.out.println(" 1<=2 = " + (1<=2) );
System.out.println(" 1>2 != " + (1!=2) );
System.out.println(" 1>2 == " + (1==2) );
Test3 三元运算符
/**
* 三元运算符
*/
//当 A ? B : C ,当A的表达式为真的时候,执行B表达式,否则执行C表达式;
System.out.println(true ? 1 : 2);
System.out.println(false ? 1 : 2);
//比较两个最大值
int a = 2 ,b = 3;
System.out.println(a > b ? a : b);
Test4 位运算符(了解)
/**
* 位运算符
*/
// & 按位与
// 运算规则:同1为1 否为0
System.out.println(" 5 & 6 = " + (5 & 6) );
// | 按为或
// 运算规则:有1则1 无为0
System.out.println(" 5 | 6 = " + (5 | 6) );
// | 按为异或
// 运算规则:相同为,不同为1
System.out.println(" 5 ^ 6 = " + (5 ^ 6) );
// ~ 按为取反
// 运算规则:1变0,0变1 加1添负号
System.out.println(" ~ 6 = " + (~ 6) );
// <<
// 每向左移动一位 扩大2倍
System.out.println(" 37 << 2 = " + (37 << 2) );
// >>
// 每向右移动一位 缩小2倍(取整)
System.out.println(" 37 >> 2 = " + (37 >> 2) );
Test5 赋值运算符
/**
* 赋值运算符
*/
int a = 9;
System.out.println(a);
//
int b = 5;
b += 2; //推荐 ,因为运行效率高
// b = b + 2;
System.out.println(b);
Test6 自增自减
/**
* 自增自减
*/
// ++ 自增
int a = 6;
a++;
System.out.println(a);
// -- 自减
a--;
System.out.println(a);
System.out.println("===========================");
// ++ 运算符后置
System.out.println(a);
System.out.println(a++);
System.out.println(a);
System.out.println("===========================");
// ++ 运算符前置
System.out.println(a);
System.out.println(++a);
System.out.println(a);
System.out.println("===========================");
Test7 ++ -- 扩展案例
/**
* ++ --扩展案例
*/
int a = 5;
System.out.println(++a + ++a + ++a);
System.out.println("===============");
System.out.println(a++ + a++ + a++);
Test8 从键盘输入
/**
* 从键盘输入
*/
//第一种写法
int a;
a = new Scanner(System.in).nextInt();
//第二种写法
//获取一个键盘输入的扫描对象
Scanner sc = new Scanner(System.in);
//通过键盘的扫描对象获取一个整数类型的值 给整型变量赋值
int b = sc.nextInt();
//输出值
System.out.println(a);
Test9 三元运算符
//求三个数的最大值
int i=1,j=2,k=3;
System.out.println( i > j ? (i > k ? i : k) : (j > k ? j : k));
//分别输出一个三位数的 个位 十位 百位
Scanner sc = new Scanner(System.in);
System.out.println("请输入一个三位数:");
int a = sc.nextInt();
System.out.println( a + "的个位是:" + a % 10 );
System.out.println( a + "的十位是:" + a / 10 % 10 );
System.out.println( a + "的百位是:" + a / 100 );