a++ 和++a的练习题

时间:2023-02-14 20:42:05
package Exercise;


public class Test_06 {  
public static void main(String[] args){
//算术运算符
System.out.println(10/3);//整数相除结果只能是整数
System.out.println(9/3.3);//如果想得到小数 把其中一个数变成小数 另一个数在运算的时候会自动类
System.out.println(13%5);//取余数
System.out.println(13+5);
System.out.println(13-5);

//++  --
//单独使用时:
int a=3;
System.out.println(++a);//4
System.out.println(a++);//4
//参与运算时:
int b =10;
int c;
//c=b++;
//值的变化:b=10,11 c=10;
//分析:先把b上面的10赋值给c,(b+=)b在加1
//System.out.println("c是:"+c+";b是:"+b);//c是:10  b是:11
//老师:当++在变量后面时,先将变量中的值取出做赋值操作
c=++b;
//值的变化:b=10,11 c=11;
//分析:先执行++b自增,在把自增后的值赋予c
System.out.println("c是:"+c+";b是:"+b);//c是:11 b是:11
//当++在变量前面的时,会自身+1 ,然后再将结果做赋值操作

//练习 第一题
int aa = 3;
int bb = 4;
int cc = 5;
//aa=3,4, bb=4,5    cc=5,   
aa = bb++; // a=4 b=5
//aa=3,4,3, bb=4,5    cc=5,3  //这里要注意上下式的值变化关系(继承了上面的a,b值)
cc = --aa; // a=3 c=3 
//aa=3,4,3,4 bb=4,5,4    cc=5,3
bb = ++aa; // a=4 b=4
//aa=3,4,3,4,3 bb=4,5,4    cc=5,3,2
aa = cc--; // a=3 c=2
System.out.println("aa="+aa);//3
System.out.println("bb="+bb);//4
System.out.println("cc="+cc);//2

//练习 第二题
int x = 4;
int y = (x++)+(++x)+(x*10);
//x=4,5,6   y=70 
//(x++)=4但变量是5,(++x)=6,(x*10)=6*10=60
//  y= 4   +   6   + 60
// y= 70
System.out.println("x="+x+"y="+y);//x=6y=70
//x=4,5,6,7    y1=6;
int y1 = x++;    //这里要注意上下式的值变化关系(继承了上面的x值)
System.out.println("y1="+y1+",x="+x);//y1=6,x=7
//x=4,5,6,7,8    y1=6;   y2=14
int y2 = y1 + (++x);
//  y2 = 6 + 8
// y2=12
System.out.println("y2="+y2+",x="+x);//y2=14,x=8
 
//练习 第三题
//练习 第三题
byte xx = 10;
//xx = xx + 1;//报错 需要强转
xx = (byte)(xx + 1); //Demo_06.java:8: 错误: 不兼容的类型: 从int转换到byte可能会有损失 
System.out.println("xx="+xx);
}

}