条件运算符(三目运算符):

    boolean表达式?表达式!:表达式2

    先计算boolean表达式的值,如果是true ,则整个表达式的值为表达式1的值,如果是false则整个表达式的值为表达式2的值

package day05;public class Demo01 {	public static void main(String[] args) {		int n = 1;		int m = 2;		char c = n > m ? 'T' : 'F';		System.out.println(c);	}}
package day05;import java.util.Scanner;public class Demo02 {	public static void main(String[] args) {		Scanner con = new Scanner(System.in);		System.out.print("输入总行数:");		int rows = con.nextInt();		con.close();		int size = 5;		int pages = rows%size==0 ? rows/size :rows/size+1;		System.out.println("共"+pages+"页");	}}

赋值运算符:

    =

    赋值表达式的值是赋值的结果

    a = (b = 1) 将 b=1表达式结果赋值给a

    a = 1

    a = a + 2; ==>a+=2 复合赋值运算

package day05;public class Demo03 {	public static void main(String[] args) {		int num = 321;		int last;		int reverse_num;		last = num % 10;		System.out.println(last);		System.out.println(reverse_num);		reverse_num = last *100;		num/=10;		last = num % 10;		System.out.println(last);		reverse_num =reverse_num + last *10;		System.out.println(reverse_num);		num/=10;		last = num % 10;		reverse_num =reverse_num + last *1;		System.out.println(last);		System.out.println(reverse_num);	}}

+ 是java 中唯一一个重载运算符,数学加法和字符串连接

    重载:名称一样不通的功能

package day05;public class Demo04 {	public static void main(String[] args) {		System.out.println(1+1); //数学1+1 =2		System.out.println(1+'1');//1+ 字符 1 字符 1 = 49  ==》 1+49 =50		System.out.println(1+"1");//1 + 字符串1  11		System.out.println(1+1+'1'+"1"); //1+1+49+字符串1 511	}}

移位运算符

    类似 10进制中移动小数点

    << 左移  (数学)

        原数*2

         因为 java的数据在内存中都是二进制的

        

    >> 右移 高位 整数 补零     负数 补一 (数学)

        原数/2

        

 ~~~~~~~~~~~~~~~~~~  

>>>逻辑右移 高位补零 (逻辑)

package day05;public class Demo01 {	public static void main(String[] args) {		int n = 0xfffffffc;		int m = n<<4;		System.out.println(Integer.toBinaryString(n));		System.out.println(Integer.toBinaryString(m));		m = m>>4;		System.out.println(Integer.toBinaryString(m));		m = m>>>16;		System.out.println(Integer.toBinaryString(m));	}}

位运算符

&与 0 0 是0 0 1是0 1 1 是1

|或 0 0 是0 0 1 是1 1 1是1

^异或 一样0 不一样1

~ 非 0是1 1是0

i & 0xff   消去高位

移位运算 和 位运算一起用 可以 组合数据(消去,截取,拼接)

快速的实现一个整数 * 16 (2的整数倍)

int n = 6;

int y = n<< 4;