-
运算符
Java运算符可以分为赋值运算符,自加自减运算符,算数运算符,比较运算符,逻辑运算符,位运算符,三元运算符。
下面我们根据具体代码复习一下他们。
- 赋值运算符
1 int a=10;
2 int b=50;
3 int c=a+b;//此处涉及到运算符的优先级,后面讲解
说明:由于赋值运算符“=”处理时会先取得右方表达式处理后的结果,因此一个表达式中若含有两个以上的“=”运算符时,会从最右方“=”开始处理。
- 算数运算符
public class Arith { //创建类
public static void main(String[] args) { //主方法
float number1 = 45.56f; //声明float型变量并赋值
int number2 = 152; //声明int型变量并赋值
System.out.println("和为:" + number1 + number2); //将变量相加之和输出
System.out.println("差为:" + (number2 - number1)); //将变量相减之差输出
System.out.println("积为:" + number1 * number2); //将变量相乘的积输出
System.out.println("商为:" + number1 / number2); //将变量相除的商输出
}
}
- 整数的除法(运算符“/”)运算
当整数间进行除法运算时,其结果将舍弃小数部分,并且忽略四舍五入,最终的结果为商的整数部分,所以通过计算机来计算“5/3*3”与“5*3/3”的结果是不同的,前者为3,而后者为5。
- 整数的求余(运算符“%”)运算
当整数间进行求余运算时,其运算结果为整数除法运算后的余数。
将一个整数除以0或除以0求余的运算
当进行一个整数除以0或除以0求余运算时,虽然可通过编译,但在运行时会抛出java.lang.ArithmeticException异常。
- 比较运算符
比较运算符属于二元运算符,用于程序里的变量之间、变量和自变量之间以及其他类型的信息之间的比较上。比较运算符的运算结果是boolean型。当运算符对应的关系成立时,运算结果是true,否则是false。所有比较运算符通常用在条件语句中作为判断的依据。比较运算符共有6个
> ,<, >=, <=,!=,==
比较运算符的结果为布尔类型。
- 自增自减运算符
public class Math{
public static void main(String []args){
int a;
int b;
a=10;
b=a;
System.out.println("a++="+(a++));//先用a在++
System.out.println("++a="+(++a));//先++再用a
System.out.println("b+a++="+(b+(a++)) );
System.out.println("b+++a="+(b+(++a)));
}
}//--同理
- 逻辑运算符
或与非:&&,&,||,!
package 复习;
public class a {
public static void main(String[] args) {
// TODO Auto-generated method stub
int a;
int b;
a=10;
b=20;
System.out.println("a>b="+(a>b));
System.out.println("a<b="+(a<b));
System.out.println("(a<b)&&(a>b)="+((a<b)&&(a>b)) );
System.out.println("(a<b)||(a>b)="+((a<b)||(a>b)));
System.out.println("!((a<b)||(a>b))="+!((a<b)||(a>b)));
}
}
- 位运算符
位运算符用于处理整形和字符型的操作数。位运算是完全针对二进制位(bit)单位的操作。Java语言提供的位运算符如表1所示。
表1 逻辑运算符
运算符 | 用法 | 含义 |
~非 | ~a | 对a操作数按位取反 |
&与 | b&a | banda按位想与 |
|或 | b|a | b和a按位相或 |
^异或 | b^a | b和a按位异或 |
<<左移位 | b<<a | b按位左移a位 |
>>右移位 | b>>a | b按位右移a位 |
>>>无符号右移位 | b>>>a | b不带符号按位右移a位 |
- 三运运算符
1 package 复习;
2
3 public class a {
4
5 public static void main(String[] args) {
6 // TODO Auto-generated method stub
7 int a;
8 int b;
9 a=10;
10 b=20;
11 System.out.println("a>b?a:b="+(a>b?a:b));
12
13
14 }
15
16 }
2.数据类型转换
自动类型转换
Java的8个基本数据类型可以进行混合运算。不同类型的数据在运算过程中,首先会自动转换为同一类型,然后才进行运算。数据类型可以根据占用存储空间大小分为高低级别,占用空间越小,级别越低,占用空间越大,级别越高。自动类型转换遵循低级到高级转换的规则。如图3.9所示。从左到右的数据类型不断升高,箭头指明了自动类型转换的规则。
强制类型转换
当把高级别(即占用存储空间较大)的数据类型赋值给低级别(即占用存储空间较小)的数据类型时,必须进行的强制类型转换。其语法格式如下: