小编Nov*_*ice的帖子

使用"new"关键字(Java)

我对Java编程相对较新,并且面向对象方面存在一个小问题.那么,让我们来吧!我最近编写了一个程序来查找0和数字x之间的所有素数,其中"i"是素数.在该程序中,两条线与以下相同.

  BigInteger one = BigInteger.valueOf(i);
    one = one.nextProbablePrime();
Run Code Online (Sandbox Code Playgroud)

这些行的目的是将整数i转换为BigInteger以使用nextProbablePrime方法.回想一下,我看到我没有使用关键字"new",因此没有创建BigInteger类的实例,但程序仍然编译并运行顺利.为什么程序能够使用nextProbablePrime方法,如果没有创建BigInteger类的实例,则编译并运行?此外,不会在其他情况下以及使用其他类和方法创建对象.此外,它是否会阻止我使用BigInteger类的全部功能,它是否被认为是良好的编程习惯?

我还将上面的两行代码重写为两行代码,使程序的其余部分保持不变.

BigInteger one = new BigInteger(String.valueOf(i));
    one = one.nextProbablePrime();  
Run Code Online (Sandbox Code Playgroud)

我改变了两者的第一行,包括使用"新"这个词.正如我所料,它没有任何缺陷.回到我的其他问题,哪一个更好?哪一个会给我最大的功能,尽管我正在使用的类或方法,哪一个被认为是更好的做法?

总而言之,我的问题是:1.哪一个是正确的? 2. 尽管我正在使用的课程或方法,哪一个适用于所有情况? 3. 哪一个被认为是良好的编程习惯? 4. 第一个如何在不创建对象的情况下工作?

快速链接到Biginteger类,对于那些可能想要查看它的人 - 在这里

java oop

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

"boolean"和"switch"语句(错误)

import java.math.BigInteger;

public class Classes{

static int i;        //"i" is initialized
static int x = 200;  //FYI, x is the upper limit for primes to be found (ex, in this case, 0 - 200)

public static void main(String[] args) {

for(i = 0; i < x;){        //"i" is assigned the value of 0 
    BigInteger one = BigInteger.valueOf(i);   // The following lines find the prime(s)
    one = one.nextProbablePrime();          // Order by which primes are found - int > BigInteger > int …
Run Code Online (Sandbox Code Playgroud)

java casting

0
推荐指数
1
解决办法
3481
查看次数

标签 统计

java ×2

casting ×1

oop ×1