小编uml*_*uml的帖子

int数组初始化

我这里有一个与Java有关的简单问题.假设你有一个int数组作为实例变量:

int[] in = new int[5];
Run Code Online (Sandbox Code Playgroud)

所以,现在默认它包含5个零.但是如果你有与本地变量相同的数组呢?它被初始化为零吗?这不是作业,我正在学习Java语言.最好的祝福

java arrays int initialization default-value

22
推荐指数
2
解决办法
5万
查看次数

对于使用2D阵列的每个循环

这是Java代码的片段:

int[][] uu = new int[1][1];
uu[0][0] = 5;
for(int[] u: uu){
    System.out.println(u[0]);
}
Run Code Online (Sandbox Code Playgroud)

它打印5.但为什么声明for循环的声明部分as int[] u,但不是as int[][] u

在uu你引用2D数组...这不是一个功课.我正在准备Java认证.干杯

java arrays foreach

10
推荐指数
1
解决办法
6万
查看次数

编译器无法看到的分支

这是Java语言中的代码片段:

 public void name(){
int value = 9;
 int o;
if(value > 9)
 o = 5;

if(value <= 9)
o = 8;

System.out.println(o);
}
Run Code Online (Sandbox Code Playgroud)

为什么编译器在考虑值的最后一个选项时看不到第二个if语句?它不会编译.最好的祝福

java if-statement

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

接口之间的转换

我的问题与Java语言有关。这就是我得到的:

interface I1{}
interface I2{}
class C1 implements I1{}
class C3 extends C1 implements I2{}
Run Code Online (Sandbox Code Playgroud)

什么时候

     C1 01;
     C3 o3;
     I1 i1;
Run Code Online (Sandbox Code Playgroud)

ETC

现在事实证明这I2 i2 = (I2) i1;是正确的,因为在运行时 i1 实际上引用了实现 I2 的对象。但我不明白。接口之间没有任何关系,那么如何将其转换为相邻接口呢?没有更多的代码,只是为了准备 Java 认证而进行的演练。此致

java casting interface

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

静态块初始化

这是一段Java代码:

static {        
    ture = 9;       
}
static int ture;
{ // instance block 
    System.out.println(":"+ture+":");           
}
Run Code Online (Sandbox Code Playgroud)

它是如何编译的?初始化后已执行变量'ture'的声明.据我所知,静态块和字段按照它们出现的顺序执行.

现在为什么实例块中的值9已被打印3次?顺便说一下,类的实例已经创建了3次.这不是作业,我正在学习Java认证.

java static instance

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

与Java接口相比,C++中的接口和虚函数

我有一个关于C++虚函数的问题.该virtual关键字用于class基类中的函数的C++ 声明中,以通知该函数的子类实现可能从子类到子类不同.不同的子类可以具有不同的函数实现.

我不明白.当你在C++中定义接口时,就我现在所看到的而言,它与Java中的接口不同.

实际上我不明白C++中的单词接口是什么意思.您可以virtual在头文件中指定一个函数.然后,基类的子类或派生类可以以任何方式覆盖它,只要它是虚函数即可.

C++中的接口是头文件吗?

干杯

c++ virtual-functions interface header

4
推荐指数
3
解决办法
7766
查看次数

编译时间与运行时错误

可能重复:
运行时与编译时间

我怎么知道Java中的特定代码行是否会抛出编译时或运行时错误?假设特定的代码行无论如何抛出并出错.

java runtime compile-time

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

初始化对象类型的数组

这是Java中的代码片段:

Object ob = new int[2];
Run Code Online (Sandbox Code Playgroud)

现在让我们说我想初始化数组.这个 ob[0] = 5; 将无法工作,因为ob属于Object类型.施法也不起作用:

(int[])ob[0] = 5;
Run Code Online (Sandbox Code Playgroud)

顺便说一下,(int[]ob)[0]= 5; 会导致语法错误.那么,如何在没有硬编码的情况下在运行时分配值(例如Object ob = new int[]{1,2}?这不是家庭作业,我正在尝试理解Java.这是为了准备Java认证所必需的.干杯

java arrays object

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

JTextField与HTML标记一起使用

我正在使用Java 7.我正在尝试使用HTML标签格式化文本.我把文字传入

JTextField text = new JTextField();
text.setText("<html><body><p>The program performs encryption operations on the following ciphers: </p></body></html>");
Run Code Online (Sandbox Code Playgroud)

但程序也打印HTML标签.那个文本样本只是一个例子.可能是什么问题?干杯

html java swing jtextfield

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

编译失败

这是一段Java代码:

interface Rideable {
    String getGait();
}

public class Camel implements Rideable {
    int x = 2;
    public static void main(String[] args) {
        new Camel().go(8);
    }

    void go(int speed) {
        System.out.println((++speed * x++) + this.getGait());
    }

    String getGait() {
        return " mph, lope";
    }
}
Run Code Online (Sandbox Code Playgroud)

事实证明,编译失败(根据Oracle),但在我看来,它将运行良好产生输出.那么,编译失败的罪魁祸首在哪里?干杯

java compiler-errors interface

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

Streams通过Socket

我正在编写服务器客户端应用程序.客户端通过不同的流将某种数据发送到服务器.一旦我在主方法中放置这样的流,程序什么都不做; 空控制台也不例外:

try {
                socket = new Socket("localhost", 4050);                     
                din = new DataInputStream(socket.getInputStream());
                oin = new ObjectInputStream(socket.getInputStream());
                dout = new DataOutputStream(socket.getOutputStream());                     


            } catch (UnknownHostException e) {              
                System.out.println("Exception: the host is unknown");
            } catch (IOException e) {
                System.out.println("I/O exception thrown by socket");
            }
Run Code Online (Sandbox Code Playgroud)

一旦我oin = new ObjectInputStream(socket.getInputStream());从main方法的那一部分中删除了这个流 ,程序就会抛出EOFException或连接重置异常.在上面的代码中有什么特别之处,程序什么也不做,并且没有例外?

将上述流放入单独的方法后

private static MessageObject readObject(){
        MessageObject mo = null;

        try{
             oin = new ObjectInputStream(socket.getInputStream());
             mo = (MessageObject)oin.readObject();

        } 
        catch(IOException e){
            System.err.println(e.getCause());
        }
        catch(ClassNotFoundException e){
            System.err.println(e.getCause());
        }
        return mo;
    }
Run Code Online (Sandbox Code Playgroud)

它抛出了这个异常:

Exception …
Run Code Online (Sandbox Code Playgroud)

java sockets exception stream

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

初始化类

这是Java代码的片段.

class A{
   public A() { }
   public A(int i) {   System.out.println(i );    }
}
class B{
   static A s1 = new A(1);
   A a = new A(2);
   public static void main(String[] args){
      B b = new B();
      A a = new A(3);
   }
   static A s2 = new A(4);
}
Run Code Online (Sandbox Code Playgroud)

执行顺序如下:1,4,2,3因为以这种方式执行类的初始化.但是,如果删除B b = new B();对象创建,这是否意味着该类不会按上述顺序初始化?最好的祝福

java initialization class object

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

布尔表达式的编译错误

这是一段Java代码:

static boolean a; // gets false
static boolean b; 
static boolean c;

    public void printA(){

         boolean bool = (a = true) || (b = true) && (c = true);    
         System.out.print(a + ", " + b + ", " + c);     
    }
Run Code Online (Sandbox Code Playgroud)

它没有编译,有什么问题?错误:此行上有多个标记; 'bool'变量行上的语法错误.我希望它能打印出来true, false, true.虽然根据我的教程书打印true, false, false.

我知道它会执行短路但是在&&双方都需要进行评估的情况下.那不是作业,我正在学习Java.干杯

java boolean compilation

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