1,数据类型的转换
自动类型转换 小的数据类型----》大的数据类型
强制类型转换
大的数据类型--------》小的数据类型
凡是short,byte,char,定义的变量,在做运算是,数据类型都会转换为int
两个不同数据类型做运算,去过与大的数据类型
2 定义的变量是不允许重名。 变量需要定义之后才能使用。
同一种类型做运算,结果还是同一种类型
3 自增自减运算符:
++ 自身增加一 -- 自身减一
++在前 先运算在赋值
++在后 先赋值后运算
- 减减同上.
4关系型运算符 (比较运算符) : 结果是boolean 要么是true ,要么是false
> ,< ,>= ,<= ,== ,!= ==
如果适用于判断基本数据类型,比较的变量的两个值。
如果是用于比较引用类型,比较的是引用的地址值。
5逻辑运算符 : &(与) , |(或) ,!(非),&&(与),||(或)
两个条件之间作比较
&& : 真真为真 ,其他都是假
|| :假假为假 ,其他都是真。
! :非真即假 ,非假即真
& : 真真为真 ,其他都是假
| : 假假为假 ,其他都是真
&& 和 &区别和联系:
相同点 : 结果是一样的
不同点 :如果用双&号判断,如果说条件一为false,不会判断条
件二,但是单&号会继续判断
|| 和 |
相同点 : 结果一样。
不同点 : 如果用||号判断,如果说条件一为true,不会判断条
件二,但是单|号会继续判断
6
位运算符 //& : 两者为1才为1 ,其他的都为0 int a = 6; int b = 3; System.out.println(a&b); // ---2 //| : 两者为0才为0 ,其他的都为1 System.out.println(a|b); // ---7
^(异或):相同为0 ,不同为1
System.out.println(a^b); // ---5
~取反 : 就是0变为1,1变为0 System.out.println(~a); //
7
// >> 右移 // << 左移 // >>> 无符号右移
//右移: System.out.println(6>>1); // --->3 6/2 2*1 System.out.println(6>>2); // --->1 6/4 2*2 System.out.println(6>>3); // --->0 6/8 2*3 System.out.println(6>>4);
System.out.println(9>>1); // --->4 9/2 2*1 System.out.println(9>>2); // --->2 9/4 2*2 System.out.println(9>>3); // --->1 9/8 2*3 System.out.println(9>>4);// --->0 9/16
System.out.println(-6>>1); // -6/2 -->-3
//规律: 右移多少位,就用需要移动的数除以2的多少次方。
//左移 : System.out.println("-----这个是左移的结果----------"); System.out.println(6<<1); // --->12 6*2 2*1 System.out.println(6<<2); // --->24 6*4 2*2 System.out.println(6<<3); // --->48 6*8 2*2*2 System.out.println(6<<4); //---->96 6*16 2*2*2*2
System.out.println(-6<<2);//--->-24 //规律: 左移多少位,就用这个数乘以2多少次方。
//>>>无符号的右移 System.out.println(6>>>1); //3 System.out.println(6>>>2); //1 System.out.println(-6>>>2); // 1073741822
7
//方式一: //int c = a; //c = 6 //int a = b; //a = 3 //int b = c; //b = 6
//方式二: //int a = a + b; //a = 3 + 6; //int b = a - b; //b = 3 + 6 -3 =6 //int a = a - b; //a = 3 + 6 - 6 = 3
//方式三: System.out.println((a^b)^a); System.out.println((b^a)^b); 特点 : 一个数A和两个相同的数^,最后结果还是原来的数A。
8
//方式一: //int c = a; //c = 6 //int a = b; //a = 3 //int b = c; //b = 6
//方式二: //int a = a + b; //a = 3 + 6; //int b = a - b; //b = 3 + 6 -3 =6 //int a = a - b; //a = 3 + 6 - 6 = 3
//方式三: System.out.println((a^b)^a); System.out.println((b^a)^b); 特点 : 一个数A和两个相同的数^,最后结果还是原来的数A。
9
三目运算符: 三元运算符:
结构: 条件?条件成立的结果 :条件不成立的结果 ;
int a = 10;
int b = 9;
int c = b++>=a ? a++ : b+a;
System.out.println(a); //10
System.out.println(b); //10
System.out.println(c); //20
10
另加第三天图片