Tag: 整数

指向同一个Integer对象的变量之间的比较

当前程序的输出是“奇怪的”。 但两个变量共享相同的参考。 为什么第二次和第三次比较不正确? Integer a; Integer b; a = new Integer(2); b = a; if(b == a) { System.out.println(“Strange”); } a++; if(b == a) { System.out.println(“Stranger”); } a–; if(b == a) { System.out.println(“Strangest”); } 输出: Strange

int 和Integer 数组 – 有什么区别?

考虑以下基础知识: 任何Object只存在于堆上, 数组IS-A Object和 Integer IS-A Object 我发现自己很难回答这么简单的问题: JVM中的 int[]和Integer[]之间有什么区别吗? 或者仅在“编译时”才有意义?

Java – 如何将字符串中的字母转换为数字?

我对Java很新,所以我想知道如何将字符串中的字母转换为数字,例如hello world将输出为8 5 12 12 15 23 15 18 12 4 。 所以a=1 , b=2 , z=26等

检查int是否在两个数字之间

如果你试图找出int是否在数字之间,为什么不能这样做: if(10 < x < 20) 而不是它,你将不得不这样做 if(10<x && x<20) 这似乎有点开销。

关于自动装箱和对象相等/身份的Java问题

public class Main { /** * @param args the command line arguments */ public static void main(String[] args) { // TODO code application logic here int a1 = 1000, a2 = 1000; System.out.println(a1==a2);//=>true Integer b1 = 1000, b2 = 1000; System.out.println(b1 == b2);//=>false Integer c1 = 100, c2 = 100; System.out.println(c1 == c2);//=>true } } […]

为什么整数数据类型以静默方式溢出而不是抛出exception

我已经学会了(至少在java中)整数/长值静默地溢出,它们的值从溢出时的最小值开始而不是抛出任何exception。 我正在使用外部api进行某些文件操作,其中从属性文件加载最大文件大小。 在我当地的测试环境中一切都很好。 代码进入实时环境后,最大文件大小限制根本不起作用。 经过两天的调试/分析代码后,根本没有成功。 然后由于其他原因,我采用了live constants.properties文件并用它调试了代码。 O_0 我只是想问,是什么阻止他们在溢出时抛出exception?

整数a = 5和new Integer(5)有什么区别?

如果我写下面的代码(在java中): Integer a =new Integer(5); Integer b=new Integer(5); if(a==b){ System.out.println(“In ==”); } if(a.equals(b)){ System.out.println(“In equals”); } 我的输出是:“等于”但是如果我将第一行和第二行改为 – > Integer a =5; Integer b=5; 然后我的o / p是: In == In equals 那么创建一个Integer对象有什么区别呢? 当我们做Integer a =5时如何创建它? 这是否意味着a和b对象引用同一个对象,如果我创建Integer a=5并创建另一个对象Integer b=5 ?

为什么java中没有(123 == 0123)?

我正在使用Eclipse在Android中开发应用程序。 我编写了以下代码,在测试中第一个和第三个“ if ”块无法访问。 为什么? 当我向数字添加前导零时,等于运算符返回false。 int var = 123; if (var == 0123) { //not reachable } if (var == 123) { //reachable } if (var == (int)0123) { //not reachable } if (var == (int)123) { //reachable }

Integer.parseInt(scanner.nextLine())vs scanner.nextInt()

我的教授倾向于做以下事情来从用户那里得到一个数字: Scanner scanner = new Scanner(System.in); Integer.parseInt(scanner.nextLine()); 与简单地执行scanner.nextInt()相比有什么好处? java.util.Scanner.java包含以下内容: public int nextInt() { return nextInt(defaultRadix); } public int nextInt(int radix) { // Check cached result if ((typeCache != null) && (typeCache instanceof Integer) && this.radix == radix) { int val = ((Integer)typeCache).intValue(); useTypeCache(); return val; } setRadix(radix); clearCaches(); // Search for next int try { […]

Java中的数字是否有默认类型

如果我写这样的东西 System.out.println(18); 哪种类型有’18’? 是int还是byte ? 或者它没有类型吗? 它不能是int,因为这样的东西是正确的: byte b = 3; 这是不正确的: int i = 3; byte bb = i; //error! 编辑:我想我在Assignment Conversion的规范中找到了正确的部分: 常量的编译时缩小意味着代码如下: byte theAnswer = 42; 被允许。 如果没有缩小,整数文字42的类型为int的事实意味着需要转换为字节: byte theAnswer =(byte)42; //允许施放但不是必需的