1.输出语句
System.out.print();//报错
System.out.println();//不报错
2.char a = '12';//报错,有且仅有一个字符
3.short和char之间的转换
4.强制类型转换
5.byte short char 参与运算操作,三种数据类型直接转换成int类型,在计算
6.char:0--48,A--65 a--97
7.算数运算符++和--
单独使用:结果一致
复合使用:
++i 先运算后赋值于自身
i++ 先赋值给自身再运算
8.赋值运算符:=
扩展赋值运算符+= -= *= /=
9.关系运算符(比较运算符)
关系表达式的结果一定是boolean值
“=” 一定不为false或者true 赋值
10.逻辑运算符
&:有false则false
| 有true则true
^ 异或 相同为false,不同为true
! 非------
结果是boolean值
11.短路逻辑运算符:
结果一致
&& 和 & 区别:
&& 和 & 结果一样, && 有短路效果,左边为false,右边不执行; & 左边无论是什么,右边都会执行。
|| 和 | 结果一样, || 有短路效果,左边为true,右边不执行; | 左边无论是什么,右边都会执行。
12.byte short char 这三种类型一旦参与运算操作,直接转为int类型
package test;
public class Test5 {
public static void main(String[] args) {
int a = 10;
int b = 20;
int x = a + ++b;
System.out.println("b=" + b);
System.out.println("x=" + x);
int i= 2;
int d = (++i)+(++i)+(++i)+(++i)+(++i);//4+4+5+6+7
int s=(i++)+(++i)+(i--)+(--i);//7+9+9+7
System.out.println(d);
System.out.println(s);
}
}
i++:先取值再加
++i:先加再取值
i--:先取值再减
--i:先减再取值
现举例分析:
例:
int i=5;
int s=(i++)+(++i)+(i--)+(--i);
则s = 5+7+7+5 = 24。
i++:先取值再加,故为5,加1后为6;
++i:先加再取值,故为6+1 = 7;
i--:先取值再减,故为 7,减1后为6;
--i:先减再取值,故为6 - 1 = 5.
i++和++i的区别
简单的来说:
i++:就是先用后加;
++i:就是先加后用;
这对于:
int i = 2;
i = i ++;
i = ++ i;
i的值分别是 2,4;
但是
int i= 2;
int b = (i++)+(i++)+(i++)+(i++);
这时的b的值是多少?
b的值是8;
对于为什么是8;
因为i++是先用后加,是使用完毕以后再自加。
使用完毕的标志有:,() ;
看
int i= 2;
int b = (++i)+(++i)+(++i)+(++i);
这时候b的值是19;
因为在计算的时候由于先前面两个数相加,所以两个++i都被使用,所以先各自自增1,这时候i是4
所以表达式:
4+4+5+6
上面都是在运算的时候,在传参的时候总结的规律是:
++i:替换成变量;
i++:直接替换成常量;
举例说明:
注意:传参的时候是从右往左的;
int i = 2;
f(++i,i++,++i,i++)
替换后:f(i,4,i,2),变量i的值是6;