当前位置:   article > 正文

1、Java基础--运算和类型_y平均值符号复制

y平均值符号复制

运算和类型

1、计算两个整数值的实数平均值(错误)

  1. import java.util.Scanner;
  2. public class Main {
  3. public static void main(String[] args) {
  4. Scanner stdIn = new Scanner(System.in);
  5. System.out.println("计算整数值x和y的平均值。");
  6. System.out.print("x的值:"); int x = stdIn.nextInt();
  7. System.out.print("y的值:"); int y = stdIn.nextInt();
  8. double ave = (x + y) / 2; // 平均值
  9. System.out.println("x和y的平均值为" + ave + "。"); // 显示
  10. }
  11. }

输出:

原因:

在这样的运算中会默认执行被称为双目数值提升(binary numerical promotion)的类型转换。

在执行运符之前, int型操作数的值会先被提升为double型、int型的2会转换为double型的2.0,最终, 两个操作数都变成了double型, 因此a和b的运符结果都为double型。

双目数值提升的类型转换规则如下:

•    若有—个操作数为double型,则将另 —个操作数转换为double型
•    否则,若有一个操作数为float型,则将另 —个操作数转换为float型
•    否则,若有一个操作数为long型,则将另 —个操作数转换为long型
•    否则,将两个操作数都转换为int型

2、计算两个整数值的实数平均值

  1. import java.util.Scanner;
  2. public class Main {
  3. public static void main(String[] args) {
  4. Scanner stdIn = new Scanner(System.in);
  5. System.out.println("计算整数值x和y的平均值。");
  6. System.out.print("x的值:"); int x = stdIn.nextInt();
  7. System.out.print("y的值:"); int y = stdIn.nextInt();
  8. double ave = (x + y) / 2.0; // 平均值
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小蓝xlanll/article/detail/207368?site
推荐阅读
相关标签
  

闽ICP备14008679号