赋值运算符
int a=10;是把10赋值给了变量a,
那这里有两组数值:
int num1=1;
int num2=2;
想把两个数值互关该怎么办呢,
理想状态我们直接num1=num2;num2=num1;看一下结果:
全变成了2,为啥呢?num1=num2;后面赋值给前面,此时num1变成了2,然后又把num1赋值给num2,结果就是都变成了2。那咋整啊?
这时我们就要借助第三个变量,这里用num3,这么来理解,这些变量就相当于一个个罐子,给它赋值就相当于将它倒满了,那么要将两个被倒满的罐子内的液体换过来是不是就要用到第三个空罐子?好,现在明白了,我们来写一下:
算数运算符
算数运算符就是那些加减乘除,还有余数等——“+,-,*,/,%,++,--”。
加减乘没什么说的都是声明一个新变量来接收一下就行了,如下图:
那在图上我们就发现问题了,a/b的结果是0.0,这是因为两个int类型的相除它们的结果会保留为一个int类型,2/3的整数结果是0,把0赋值给double类型的f,所以它又精确了一位,结果就是0.0。
如果我们想让结果变成小数,怎么办?
我们在除的时候就给它们变成double类型
double f=(double)a/(double)b;
算术运算也可以直接在打印语句里进行操作,例:
sout:(“a+b的值”+(a+b));
余数的话也在上图,没什么说的。
“++”
我们一看可能不明白这是什么意思,没事我们直接来写一下看一下:
public class Test01 {
public static void main(String[] args) {
//算数运算符
//"++"
int a=2;
int b=3;
a++;b++;
System.out.println(a);
System.out.println(b);
}
}
我们发现a,b都加了个1。
那把++放前面会怎么样?
结果一样,那好我们用其他变量来接收一下,
int a=2;
int b=3;
int a1=a++;
int b1=b++;
System.out.println(a1);
System.out.println(b1);
怎么回事?结果没变??
那++放前面呢
结果还是都加了1,因此我们得到:
++在前面,先运算,后赋值。
++在后面,先赋值,后运算。
相应的--是不是因该减1,我们也进行了相同的四组实验:
得出结果和++用法相同。
复合运算符
+=,-=,*=,/=,%=。
先看+=是什么意思。
public class Test01 {
public static void main(String[] args) {
//复合运算符
//"+="
int a=2;
int b=3;
a+=5;
b+=7;
System.out.println(a);
System.out.println(b);
}
}
因此得出:a+=5;相当于a=a+5;
在看-=——
int a=2;
int b=3;
a-=5;
b-=7;
System.out.println(a);
System.out.println(b);
由此可得:a-=5;相当于:a=a–5;
再看*=——
int a=2;
int b=3;
a*=5;
b*=7;
System.out.println(a);
System.out.println(b);
结论——a*=5;相当于:a=a*5;
不废话了,相应的/=和%=都是相同的运算模式。