2-java学习-常量、变量、运算符-代码
1、赋值运算符
class FZYSF{
public static void main(String[] args) {
int num=100;
num+=20;
num-=20;
System.out.println("num:"+num);
System.out.println("-----------------------------------");
byte b1=10;
b1+=120;
System.out.println("b1:"+b1);
short s=1;
s =(short)(s+1);
short s1=1;
s1+=1;
System.out.println("-----------------------------------");
int a = 10;
int b = 10;
int c = 10;
a = b++;
c = --a;
b = ++a;
a = c--;
System.out.println("a:"+a);
System.out.println("b:"+b);
System.out.println("c:"+c);
}
}
运行结果:
num:100
-----------------------------------
b1:-126
-----------------------------------
a:9
b:10
c:8
2、逻辑运算符
(1)逻辑运算符的应用,观察程序结果
class LJYSF{
public static void main(String[] args) {
int a=20;
int b=10;
boolean r=a>10&b>20&a<b;
r=a>b&true;
r=false&false;
r=true&false;
r=false&true;
r=true&true;
r=a*2-b*3>100|a<100;
r=true|false;
r=false|true;
r=false|false|true;
r=!true;
System.out.println("r:"+!r);
System.out.println("----------------------------------------");
boolean bb=true ^ true;
System.out.println("bb:"+bb);
bb=false ^ false;
System.out.println("bb:"+bb);
bb=true ^ false;
System.out.println("bb:"+bb);
bb=false ^ true;
System.out.println("bb:"+bb);
}
}
结果:
r:true
----------------------------------------
bb:false
bb:false
bb:true
bb:true
(2) & && | || 的区别:在最终运算结果上没有区别,只是在运算效率上有区别
class LJYSF2 {
public static void main(String[] args) {
int a=10;
int b=20;
boolean r=a>5&&++b>=21;
System.out.println("r:"+r);
System.out.println("b:"+b);
int c=10;
int d=20;
boolean r1=c<5||++d>=21;
System.out.println("r1:"+r1);
System.out.println("d:"+d);
}
}
结果:
r:true
b:21
r1:true
d:21
3、关系运算符
(1)位运算符、<<、>>
class WYSF{
public static void main(String[] args) {
byte a=3;
byte b=4;
System.out.println(a&b);
System.out.println(3|4);
System.out.println(3^4);
System.out.println(~3);
System.out.println(3<<2);
System.out.println(-3>>2);
System.out.println(-3>>>2);
}
}
---------- 运行Java程序 ----------
0
7
7
-4
12
-1
1073741823
(2) 位异或、<<、>>
class WYSF2{
public static void main(String[] args) {
int a=3;
int b=4;
System.out.println(a^b^b);
System.out.println(a^b^a);
System.out.println(10^10);
System.out.println(100^100);
System.out.println(5>>3);
System.out.println(5<<3);
}
}
---------- 运行Java程序 ----------
3
4
0
0
0
40
4、变量
(1)定义不同类型的变量
class Variable{
public static void main(String[] args) {
byte b=-128;
byte a=127;
short c=300;
int d=10000;
long num=200000000L;
float f=3.14F;
double dd=2.2;
boolean flag=true;
boolean flag2=false;
char ch='a';
char ch2='我';
System.out.println(b);
System.out.println(a);
System.out.println(c);
System.out.println(d);
System.out.println(num);
System.out.println(f);
System.out.println(dd);
System.out.println(flag);
System.out.println(flag2);
System.out.println(ch);
System.out.println(ch2);
}
}
---------- 运行Java程序 ----------
-128
127
300
10000
200000000
3.14
2.2
true
false
a
我
(2)定义变量的一些注意事项
class Variable2{
public static void main(String[] args) {
int num=100;
num=200;
int a=20;
num=a;
int b,c;
b=20;
c=30;
int bb=100;
System.out.println(num);
System.out.println(b);
System.out.println(c);
}
}
---------- 运行Java程序 ----------
20
20
30
(3)类型的自动提升
class Variable3 {
public static void main(String[] args) {
byte a=10;
short b=20;
long num=9000000000L;
float f=0.1F;
double dd=3.2;
double c=a+b+num+f+dd;
System.out.println(c);
}
}
---------- 运行Java程序 ----------
9.0000005152E9
(4) 类型的强制转换
class Variable4{
public static void main(String[] args) {
byte a=10;
byte b=127;
byte c=(byte)(a+b);
System.out.println(c);
}
}
---------- 运行Java程序 ----------
-119
class Variable5{
public static void main(String[] args) {
byte d=(byte)130;
System.out.println(d);
byte b1 = 3;
byte b2 = 4;
byte b3 =b1 + b2;
byte b4 = 3+4;
System.out.println(b4);
}
}
---------- 运行Java程序 ----------
-126
7
(5)字符参与运算
class Variable6 {
public static void main(String[] args) {
char ch='a';
byte num=1;
int r=ch+num;
System.out.println(ch1);
}
}
---------- 运行Java程序 ----------
97