Java 2 实用教程 第三章 运算符和表达式
Java 2 实用教程 第三章
前言
第三章一部分
提示:以下是本篇文章正文内容,下面案例可供参考
一、运算符与表达式
1、算术运算符
加减:二目运算符(连接两个操作元的运算符)操作元是整型或浮点数
乘除、求余:二目运算符,操作元是整型或浮点数
注意:算术混合运算的精度,从低到高依次是:byte, short, char, int, long, float, double 。
2、自增、自减运算符(++ - -)
++x(--x)表示在使用x之前,先使x的值增(减)1;
x++(x--)表示在使用x之后,使x的值增(减)1。
eg. x原值 = 5,执行“y = x++”,则y = 5;执行“y = ++x”,则y = 6。
3、关系运算符
二目运算符,用来比较两个值的关系。运算结果是boolean型(true、false)
运算符:<, <=, >, >=, ==, !=
4、逻辑运算符
&&和||是二目运算符(也称为短路逻辑运算符),实现逻辑与、或 ;!是单目运算符,实现逻辑非。运算结果是boolean型,可用来连接关系表达式。
运算符:&&,||,!
5、赋值运算符
=是二目运算符,左边的操作元必须是变量,不能是常量或表达式。
注意:不要把赋值运算符=和等号关系运算符==混淆!!!
6、位运算符
整型数据在内存中以二进制的形式存在。
1)按位与运算
&是双目运算符
2)按位或运算
|是双目运算符
3)按位非运算
~是单目运算符
4)按位异或运算
^是二目运算符,相同=0,不同=1
注意:a^a = 0, a^0 = a
注意:位运算符与逻辑运算符的不同是:位运算符要计算完a和b的值之后再给出运算的结果。
7、instanceof运算符
二目运算符,左边操作元是一个对象,右边是是一个类。当左面的对象是右面的类或子类创建的对象时,该运算符的结果是true,否则是false(后面会详细讲,这里就不赘述了)。
二、例子代码
1.密文
利用异或运算的性质,对字符进行加密并输出密文,然后再解密。
代码如下:
//密文
public class Java3_1 {
public static void main(String[] args){
char a1 = '明',a2 = '晚',a3 = '十',a4 = '点',a5 = '进',a6 = '攻',a7 = '!'; //注意字符不能多
char secret = 'B';
a1 = (char) (a1^secret);
a2 = (char) (a2^secret);
a3 = (char) (a3^secret);
a4 = (char) (a4^secret);
a5 = (char) (a5^secret);
a6 = (char) (a6^secret);
a7 = (char) (a7^secret);
System.out.println("密文:"+a1+a2+a3+a4+a5+a6+a7);
a1 = (char) (a1^secret);
a2 = (char) (a2^secret);
a3 = (char) (a3^secret);
a4 = (char) (a4^secret);
a5 = (char) (a5^secret);
a6 = (char) (a6^secret);
a7 = (char) (a7^secret);
System.out.println("原文:"+a1+a2+a3+a4+a5+a6+a7);
}
}
代码执行结果如下: