Java 错误:二进制运算符'-';

Java 错误:二进制运算符'-';,java,math,Java,Math,以下是我的源代码: /* package whatever; // don't place package name! */ import java.util.*; import java.lang.*; import java.io.*; /* Name of the class has to be "Main" only if the class is public. */ class Ideone { public static void main (String[] args) th

以下是我的源代码:

/* package whatever; // don't place package name! */

import java.util.*;
import java.lang.*;
import java.io.*;

/* Name of the class has to be "Main" only if the class is public. */
class Ideone
{
public static void main (String[] args) throws java.lang.Exception
{
    System.out.println( "Integer.MAX_VALUE = " +   Integer.MAX_VALUE );
    System.out.println( "Integer.MAX_VALUE + 1 = " +   (Integer.MAX_VALUE + 1) );
    System.out.println( "Integer.MAX_VALUE * 2 = " +  ( Integer.MAX_VALUE * 2) );
    System.out.println( "Integer.MAX_VALUE * 5 = " +  ( Integer.MAX_VALUE * 5) );
    System.out.println( "Integer.MAX_VALUE * 10 = " + (  Integer.MAX_VALUE * 10) );
    System.out.println( "Integer.MAX_VALUE = " +   Integer.MAX_VALUE );
    System.out.println( "Integer.MIN_VALUE - 1 = " +   (Integer.MIN_VALUE - 1) );
    System.out.println( "Integer.MIN_VALUE * 2 = " +  ( Integer.MIN_VALUE * 2) );
    System.out.println( "Integer.MIN_VALUE * 5 = " +  ( Integer.MIN_VALUE * 5) );
    System.out.println( "Integer.MIN_VALUE * 10 = " + (  Integer.MIN_VALUE * 10) );
    //Part 2
    System.out.println( "Integer.MAX_VALUE + 1.0 = " +   (Integer.MAX_VALUE + 1.0) );
    System.out.println( "Integer.MAX_VALUE * 2.0 = " +  ( Integer.MAX_VALUE * 2.0) );
    System.out.println( "Integer.MAX_VALUE * 5.0 = " +  ( Integer.MAX_VALUE * 5.0) );
    System.out.println( "Integer.MAX_VALUE * 10.0 = " + (  Integer.MAX_VALUE * 10.0) );
    System.out.println( "Integer.MIN_VALUE - 1.0 = " +   (Integer.MIN_VALUE - 1.0) );
    System.out.println( "Integer.MIN_VALUE * 2.0 = " +  ( Integer.MIN_VALUE * 2.0) );
    System.out.println( "Integer.MIN_VALUE * 5.0 = " +  ( Integer.MIN_VALUE * 5.0) );
    System.out.println( "Integer.MIN_VALUE * 10.0 = " + (  Integer.MIN_VALUE * 10.0) );
    //Part 3
    int a, b;
    a = 1;
    b = 2;
    System.out.println( "The ints a, b are " + a + ", " + b );
    System.out.println( "a + b is " + a + b );
    System.out.println( "a - b is " + a - b );
    System.out.println( "a * b is " + a * b );
    System.out.println( "a / b is " + a / b );
    //Part 4
    double aD, bD;
    aD = 1.0;
    bD = 2.0;
    System.out.println( "The doubles aD, bD are " + aD + ", " + bD  );
    System.out.println( "aD + bD is " + aD + bD );
    System.out.println( "aD - bD is "  + aD - bD );
    System.out.println( "aD * bD is " + aD * bD );
    System.out.println( "aD / bD is " + aD / bD );
}
}
这是我的错误:

Compilation error   time: 0.1 memory: 320512 signal:0
Main.java:37: error: bad operand types for binary operator '-'
    System.out.println( "a - b is " + a - b );
                                        ^
 first type:  String
 second type: int
Main.java:46: error: bad operand types for binary operator '-'
    System.out.println( "aD - bD is "  +aD - bD );
                                           ^
first type:  String
second type: double
2 errors
我对java还不熟悉,而且我还在搞算术。我以为我做得很好,但我不明白出了什么问题。这很可能是一个真正的新手错误,但你能告诉我我做错了什么吗

"a - b is " + (a) - (b)`
指:

("a - b is " + (a)) - (b)
。左边的部分(
)是一个字符串,不能从字符串中减去

您需要使用括号:

"a - b is " + (a - b)
指:

("a - b is " + (a)) - (b)
。左边的部分(
)是一个字符串,不能从字符串中减去

您需要使用括号:

"a - b is " + (a - b)
指:

("a - b is " + (a)) - (b)
。左边的部分(
)是一个字符串,不能从字符串中减去

您需要使用括号:

"a - b is " + (a - b)
指:

("a - b is " + (a)) - (b)
。左边的部分(
)是一个字符串,不能从字符串中减去

您需要使用括号:

"a - b is " + (a - b)

+
-
视为从左到右计算表达式的字符串操作。为了避免这种情况,减法的优先级很高,当你用()


现在,由于优先级,括号内的表达式
(a-b)
首先计算,然后从左到右计算整个表达式

将表达式从左到右求值的
+
-
视为字符串操作。为了避免这种情况,减法的优先级很高,当你用()


现在,由于优先级,括号内的表达式
(a-b)
首先计算,然后从左到右计算整个表达式

将表达式从左到右求值的
+
-
视为字符串操作。为了避免这种情况,减法的优先级很高,当你用()


现在,由于优先级,括号内的表达式
(a-b)
首先计算,然后从左到右计算整个表达式

将表达式从左到右求值的
+
-
视为字符串操作。为了避免这种情况,减法的优先级很高,当你用()


现在,由于优先级,括号内的表达式
(a-b)
首先计算,然后从左到右计算整个表达式

谢谢!我只是把脸捂得很紧。谢谢!我只是把脸捂得很紧。谢谢!我只是把脸捂得很紧。谢谢!我只是把脸捂得很紧。