概述
赋值运算符
大类型赋值给小类型时,程序编译会错误,需要强制类型转换
小类型给大类型赋值,无需强制类型转换。隐式类型转换
注意:boolean不能和其他类型进行转换。
public class Gift {
public static void main(String args[]) {
int a = 10;
long b = 20L;
a = (int)b;
//b = a;
System.out.println(a);
System.out.println(b);
}
}
计算的时候,想提升运算的速度,cpu的以四个字节的方式取数据,存储数据。
所以这个程序是无法运行的。
除非改为 byte c = (byte)(a + b);
public class Gift {
public static void main(String args[]) {
byte a = 10;
byte b = 20;
byte c = a + b;
System.out.println(c);
}
}
例外:1. byte 和 char转换,不管从大到小,还是从小到大都需要进行强制类型转换。
2. short 和 char 转换 两个字节大小都一样。
原因:1. 本质上来说char是字符型,而byte和short都是数值型,两者之间不建议转换。
3. char类型来说,是字符型的,字符对应的是十进制,没有负数。
- + * / %
注意在java中除数是不可以为0的。
public class Gift{
public static void main(String[] args) {
System.out.println(5/2);//2
System.out.println(5.0/2);//2.5
System.out.println(5/2.0);//2.5
System.out.println(5.0/2.0);//2.5
}
}
public class Gift{
public static void main(String[] args) {
System.out.println(10%3);//1
System.out.println(10%-3);//1
System.out.println(-10%3);//-1
System.out.println(-10%-3);//-1
}
}
关系运算符
只会得到布尔类型的结果
public class Gift {
public static void main (String[] args) {
int a = 10;
int b = 20;
System.out.println(a == b);//flase
System.out.println(a != b);//true
System.out.println(a < b);//true
System.out.println(a > b);//flase
System.out.println(a >= b);//flase
System.out.println(a <= b);//true
}
}
关系运算符
表达式1和表达式2都是布尔类型
&& 逻辑与 表达式1 && 表达式2(如果表达式1为假,就不会去执行表达式2了)
|| 逻辑或 表达式1 || 表达式2(如果表达式1为真,就不会去执行表达式2了)
逻辑非 ! 只能作用于boolean
& 按位与
| 按位或
~ 按位取反
^ 按位异或
上面四种运算符号都是按二进制来说,且负数的话要取其补码进行运算,与c语言相通。
**>>**右移
**<<**左移
**>>>**无符号右移:不管符号位是什么统统补0;
右移和左移与c语言相通。
注:这里的运算都是进行二进制运算。
最后
以上就是瘦瘦发夹为你收集整理的Java的一些简单运算符的全部内容,希望文章能够帮你解决Java的一些简单运算符所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复