之前学过C语言,这次学习Java,还是吧基础的东西跟着学了一遍,因为之前有很多细节的东西我都没注意,这次也算是温故知新吧。这次就直接吧代码粘上来吧,因为注释写的听清楚的。
1、注释
2、布尔型变量
3、常量
4、标识符
5、变量
6、运算符
/**
* 运算符测试
* @author 25391
*
*/
public class TestOperator {
public static void main(String[] args) {
//二元运算符+ - * / %
//二元运算符规则
/*1、两个操作数有一个是long,则结果是long
* 2、没有long时,结果是int,即时操作数全是short或byte,结果也是int
* 3、两个操作数有一个是double,结果是double
* 4、只有两个操作数都是float,结果才是float
* */
byte a=1;
int b=2;
//byte c=a+b;//报错,因为a+b是int型
long b2=3;
//int c2=b2+b;//报错,有一个操作数是long,结果也是long,所以报错
float f1=3.14F;
float d=b+b2;//这样是可以的,范围允许
double d2=b+b2;//这样也是可以的
//float d3=f1+d2;//这样是不行的,有一个double,结果就是double
//取模运算,结果的符号与左边的操作数相同
System.out.println(7/3);
System.out.println(-7/3);
System.out.println(7/-3);
//自增自减
int a1=3;
int b1=a1++;//先赋给b值3,再运算++
System.out.println("a1="+a1+"\nb1="+b1);
int a2=3;
int b4=++a2;//先赋给b值3,再运算++
System.out.println("a2="+a2+"\nb4="+b4);
//扩展运算符
/*a+=b ->a=a+b
* a*=b+3 ->a=a*(b+3)
* */
int g=3;
int h=4;
g+=h;
System.out.println("g="+g+"\nh="+h);
g=3;
g*=h+3;
System.out.println("g="+g+"\nh="+h);
}
}
/**
* 关系运算符
* @author 25391
*
*/
public class TestOperator2 {
public static void main(String[] args) {
int a=3;
System.out.println(a==3);
System.out.println(a!=3);
System.out.println(a<5);
char b='a';
char b2='c';
System.out.println(b<b2);
System.out.println(0+b);
System.out.println(0+b2);
}
}
还有一个
//短路与和短路或
/*短路与:只要判断出其中一个为false,就不在判断另一个了,节省了时间
- 短路或:之言判断出一个为true,就不在判断另一个,节省时间
- */
//int c=3/0;//运行时,这句话出现异常,因为分母为0
System.out.println(b2&&((3/0)>0));//运行时,因为前面b2为false,
//所以短路与不在计算3/0,所以不会出现异常
//位运算符
/*~ 取反
- & 按位与
- | 按位或
*^ 按位异或
*>>逻辑右移 ,右移一位,相当于除2
*<<逻辑左移,左移一位相当于乘2 - */
int a=3;
int b=4;
System.out.println(a&b);
System.out.println(a|b);
System.out.println(a^b);
System.out.println(~b);
//移位运算
int c=3<<2;
System.out.println©;
System.out.println(12>>2);