Java ASCII编码表和运算符

ASCII编码表

'a' -> 97
'A' -> 65
'0' -> 48
![ASCII编码表](https://www.icode9.com/i/ll/?i=41670e3f96174f618c43bb1e21088904.jpg?,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5Zac6b6Z55qE5bCP5Y2a56uZ,size_14,color_FFFFFF,t_70,g_se,x_16)

运算符

算术运算符?
	+:
		在Java中+号的含义:
			1.加减乘除的加
			2.正负的正
			3.连接符
				什么时候+号是作为连接符的呢?
					任意数据类型的数据与字符串相连接的时候,那个+号就是连接符
			
	-:
	*:
	
	/:
		整数除以整数得到的还是整数
		
		举例子:	
			int i = 5;
			int j = 2;
			int a = i / j;
			System.out.println(a);//2
			
	%:模,取余
		
		举例子:
			int i = 2;
			int j = 3;
			System.out.println(i % j);
			
			int a = 4;
			int b = 2;
			System.out.println(a % b);
	
	++:
		单独使用:
			int i = 1;
			//i++; // i = i + 1
			++i;
			System.out.println(i);//2
			
			不管++在前还是在后,结果都是一样
		
		参与运算:
			++在前:先自身加1,然后再参与运算
				int i = 1;
				int j = ++i;
				System.out.println(j);//2
				System.out.println(i);//2
			
			++在后:先参与运算,然后再自身加1
				int i = 1;
				int j = i++;
				System.out.println(j);//1
				System.out.println(i);//2
				
		面试题:
			byte b1 = 1;
			b1 = b1 + 1;
			System.out.println(b1);//编译报错
			
			byte b1 = 1;
			b1++; //b1 = (byte)(b1 + 1)
			System.out.println(b1);//正确,因为++里面自带强制类型转换
	
	--:
		单独使用:
			int i = 2;
			//i--; // i = i - 1
			--i;
			System.out.println(i);//1
			
			不管--在前还是在后,结果都是一样
		
		参与运算:
			--在前:先自身减1,然后再参与运算
				int i = 2;
				int j = --i;
				System.out.println(j);//1
				System.out.println(i);//1
			
			--在后:先参与运算,然后再自身减1
				int i = 2;
				int j = i--;
				System.out.println(j);//2
				System.out.println(i);//1
				
		练习题:
			int i = 10;
			int j = i++ + ++i + i-- + --i;
			System.out.println(j); //44
			
赋值运算符?
	=:
		int i = 1;
		
	+=:
		int i = 1;
		i += 2;
		System.out.println(i);
	
	-=
	*=
	/=
	%=
	
	注意:都自带了强制类型转换
	
关系运算符?
	关系运算符得出来的结果一定是boolean类型的数据,也就是说要么是true,要么是false
	
	>
	<
	>=
	<=
	!=
	
	==:比较两边的数据是否相等
		int i = 1;
		int j = 2;
		System.out.println(i == j);//false
		
		==和=的区别?
			=是赋值
			==是比较
			
逻辑运算符?(左右两边的数据的数据类型都是boolean类型,结果都是boolean类型)
	&(单与):
		System.out.println(true & true);//true
		System.out.println(true & false);//false
		System.out.println(false & false);//false
		System.out.println(false & true);//false
	
		结论:两边只要有一个是false,结果就为false
	
	|(单或):
		System.out.println(true | true); //true
		System.out.println(true | false); //true
		System.out.println(false | false); //false
		System.out.println(false | true); //true
		
		结论:两边只要有一个是true,结果就为true
		
	^(异或):
		System.out.println(true ^ true); //false
		System.out.println(true ^ false); //true
		System.out.println(false ^ false); //false
		System.out.println(false ^ true); //true
		
		结论:两边相同为false,两边不同为true
		
	!(非):
		System.out.println(!true); //false
		System.out.println(!false); //true
		System.out.println(!!true); //true
		System.out.println(!!!true); //false
	
	&&(双与):
		System.out.println(true && true);//true
		System.out.println(true && false);//false
		System.out.println(false && false);//false
		System.out.println(false && true);//false
		
		结论:两边只要有一个是false,结果就为false
	
	||(双或):
		System.out.println(true || true); //true
		System.out.println(true || false); //true
		System.out.println(false || false); //false
		System.out.println(false || true); //true
			
		结论:两边只要有一个是true,结果就为true
		
	面试题?
		&和&&的区别?
			&&:如果左边为false,右边就不再执行了,结果就为false
			&:如果左边为false,右边依然会执行,结果就为false
			
		|和||的区别?
			||:如果左边为true,右边就不再执行了,结果就为true
			|:如果左边为true,右边依然会执行,结果就为true

		推荐使用&&和||,提高了执行效率
		
位运算符?(两边的数据都是数字,结果也为数字)
	&(与位运算):
		System.out.println(3 & 2); //2
	
	|(或位运算):
		System.out.println(3 | 2); //3
	
	^(异或位运算):
		System.out.println(3 ^ 2); //1
		
		练习?
			int i = 1;
			int j = 2;
			通过某些方式,实现i和j变量的数据的调换?
			
			方式一:
				int temp = i;
				i = j;
				j = temp;
				
			方式二:
				i = i ^ j;
				j = i ^ j;
				i = i ^ j;
	
	~(按位取反):
	>>(右移位运算):
	<<(左移位运算):
	>>>(无符号右移):
上一篇:httpRunner请求参数包含中文乱码解决


下一篇:Python学习 - 常用编码的区别