学习java中,我们都会遇见很多很多的问题,例如:
1、枚举类型是引用类型,枚举不属于原始数据类型,它的每个具体值都引用一个特定的对象。相同的值则引用同一个对象。
可以使用“==”和equals()方法直接比对枚举变量的值,换句话说,对于枚举类型的变量,“==”和equals()方法执行的结果是等价的。
正数的反码和补码都与原码相同;
负数的反码、补码和原码不相同,负数的反码:原码中除去符号位,其他的数值位取反,0变1,1变0,负数的补码:其反码加一,而且在java中数都是有符号的,在计算机运算中,都是以补码的方式进行运算的。
在某个值中都有固定的作用域,如果出现相同的值但是赋予不同的域,会出现起义,就会以最近的值报出。
在java中由低精度的转化为高精度的时会是无损失的转化,而由高精度的转化为低精度的时会有精度的损失。
在使用double类型的数据计算时是不精确的。因为这个涉及到十进制与二进制的转换问题,N进制可以理解为:数值*基数的幂,而double类型的数值占用64bit,即64个二进制数,除去最高位表示正负符号的位,在最低位一定会与实际数据存在误差。
因为第一个用的是二进制的值进行的计算,而第二个是将X+Y的值进行相加得到的值赋给X+Y;
import javax.swing.JOptionPane;
public class Addition {
public static void main(String[] args) {
// TODO 自动生成的方法存根
String firstNumber,
secondNumber;
int number1,
number2,
sum,
ji,
jian,
shang;
firstNumber =
JOptionPane.showInputDialog("Enter first integer");
secondNumber =
JOptionPane.showInputDialog("Enter second integer");
number1 = Integer.parseInt(firstNumber);
number2 = Integer.parseInt(secondNumber);
sum = number1 + number2;
ji = number1 * number2;
jian = number1 - number2;
shang = number1 / number2;
JOptionPane.showMessageDialog(
null,"The sum is" +sum,"Results",
JOptionPane.PLAIN_MESSAGE);
JOptionPane.showMessageDialog(
null,"The ji is" +ji,"Results",
JOptionPane.PLAIN_MESSAGE);
JOptionPane.showMessageDialog(
null,"The jian is" +jian,"Results",
JOptionPane.PLAIN_MESSAGE);
JOptionPane.showMessageDialog(
null,"The shang is" +shang,"Results",
JOptionPane.PLAIN_MESSAGE);
System.exit(0);
}
}
对这个程序可以进行加减乘除的运算。