第一阶段第三天(数据类型,运算符)

来源:互联网 发布:unity3d安卓真机调试 编辑:程序博客网 时间:2024/05/29 09:12


1、执行以下操作、得到相关b的结果值信息
int a=4;
int b=(a++)+(--a)+(++a);

答:b=13

int a = 4;

int b = (a++) + (--a) +(++a);

首先依次计算每个括号中的表达式的值。

计算第一个括号:表达式的值为 4,a 的值为 5 计算第二个括号:表达式的值为 4,a 的值为 4 计算第三个括号:表达式的值为 5,a 的值为 5
最后 b = 4 + 4 + 5,结果为 13


2、(基本类型运算)一家商场在举行打折促销、所有商品8折优惠、一个程序员把这个
    逻辑写成:
    short price=...;
    short realPrice=price*8/10;
    该代码是否正确,如果正确、假设price为100;计算后realPrice为多少
   如果不正确,怎么改正?
答案:不正确。
程序有两个错误:
1)由于 price 为 short 类型,乘以 8 除以 10 之后为 int 类型,不能够赋值给 short 类型的 realPrice;
2)如果直接进行整数除法计算的话,结果为整除的商。应当改为:

double realPrice = price * 0.8;



3、定义两个变量a=10、b=20
   进行相关的运算符验证

    +、-、*、/、%、++、--
    * =、+=、-=、*=、/=、%=

    * ==、!=、>、<、>=、<=  

publicclassDemo1 {    publicstaticvoidmain(String[] args) {        inta=10,b=20;        System.out.println("a+b的值为"+(a+b));        System.out.println("a-b的值为"+(a-b));        System.out.println("a*b的值为"+(a*b));        System.out.println("a/b的值为"+(a/b));        System.out.println("a%b的值为"+(a%b));        System.out.println("a++的值为"+(a++));        System.out.println("a--的值为"+(a--));        System.out.println("a+=b的值为"+(a+=b));        System.out.println("a-=b的值为"+(a-=b));        System.out.println("a*=b的值为"+(a*=b));        System.out.println("a/=b的值为"+(a/=b));        System.out.println("a%=b的值为"+(a%=b));        System.out.println("a==b的值为"+(a==b));        System.out.println("a!=b的值为"+(a!=b));        System.out.println("a>b的值为"+(a>b));        System.out.println("a>b的值为"+(a<b));        System.out.println("a>b的值为"+(a>=b));        System.out.println("a>b的值为"+(a>=b));     } }


原创粉丝点击