相关疑难解决方法(0)

什么时候"i + = x"与Python中的"i = i + x"不同?

我被告知+=可以有不同于标准符号的效果i = i +.有没有在这情况下i += 1会从不同i = i + 1

python operators

210
推荐指数
3
解决办法
5万
查看次数

如何声明x和y以便x + = y给出编译错误而x = x + y不?

我在接受采访时遇到了这个问题,无法提出解决方案.我知道反之亦然,如"+ ="运算符在Java中的作用所示?

所以问题如下.

..... x = .....;
..... y = .....;

x += y; //compile error
x = x + y; //works properly
Run Code Online (Sandbox Code Playgroud)

java operators shorthand

55
推荐指数
1
解决办法
7297
查看次数

double a = a + int b和int a + = double b之间有什么区别?

为什么:

public class Addition { 
  public static void main() { 
    int a = 0; 
    double b = 1.0; 
    a = a + b;
    System.out.println(a); 
  }
}
Run Code Online (Sandbox Code Playgroud)

不编译但是:

public class Addition { 
  public static void main() { 
    int a = 0; 
    double b = 1.0; 
    a += b; 
    System.out.println(a); 
  }
}
Run Code Online (Sandbox Code Playgroud)

编译.

java types operators type-conversion implicit-conversion

30
推荐指数
2
解决办法
5497
查看次数

Int 可以增加一个双精度值

这段代码似乎在 Java 中工作,违反了我认为我对语言的了解:

int x = 0;
x += 7.4;
Run Code Online (Sandbox Code Playgroud)

x 现在的值为 7。当然,不能只写int x = 7.4,所以这种行为对我来说似乎很奇怪且不一致。

为什么Java的开发者会选择这样的行为?

我被标记为重复的问题实际上是在回答“发生了什么”部分,但不是我的主要问题:基本原理是什么。

java floating-point double int casting

5
推荐指数
1
解决办法
412
查看次数

为什么b = b + 1当b是一个字节时不会编译但b + = 1编译

这是我的代码:

class Example{
    public static void main(String args[]){
        byte b=10;
        //b=b+1; //Illegal
        b+=1;   //Legal
        System.out.println(b);
    }
}
Run Code Online (Sandbox Code Playgroud)

我想知道为什么我在使用时遇到编译错误b=b+1,但另一方面b+=1在他们似乎做同样的事情时正确编译.

java

4
推荐指数
1
解决办法
671
查看次数