java基础部分代码相关题2

public class Test{
static{
   int x=5;
}
static int x,y;
public static void main(String args[]){
   x--;
   myMethod( );
   System.out.println(x+y+ ++x);
}
public static void myMethod( ){
  y=x++ + ++x;
 }
}
答案:prints:3

静态变量初始化为0;x–为-1,y=0;++x先加,所以x=1.打印语句中x+y=1,++x=2,所以结果为3


class Person {
    String name = "No name";
    public Person(String nm) {
        name = nm;
    }
}
class Employee extends Person {
    String empID = "0000";
    public Employee(String id) {
        empID = id;
    }
}
public class Test {
    public static void main(String args[]) {
        Employee e = new Employee("123");
        System.out.println(e.empID);
    }
}
答案:编译报错

父类没有无参的构造函数,所以子类需要在自己的构造函数中显式调用父类的构造函数,
添加
super(“nm”);
否则报错


Integer i = 42;
Long l = 42l;
Double d = 42.0;
答案正确的是:d.equals(l)
l.equals(42L)

不同类型引用的 == 比较,会出现编译错误,不能比较。
调用 equals 方法,因为此方法先是比较类型是不同的类型,所以返回假。
选项 G ,会自动装箱,将 42L 装箱成 Long 类型,所以调用 equals 方法时,类型相同,且值也相同,因此返回真。


String s1="abc"+"def";//1
String s2=new String(s1);//2
if(s1.equals(s2))//3
System.out.println(".equals succeeded");//4
if(s1==s2)//5
System.out.println("==succeeded");//6
答案:行4执行,行6不执行

s1指向的内容在常量池中,s2指向的内容在堆内存中。s1,s2保存在栈内存中。所以==比较的是地址,故第二个if语句不执行。


public class Test{
    static int cnt = 6;
    static{
        cnt += 9;
    }
public static void main(String[] args){
    System.out.println(“cnt =” + cnt);
}
static{
    cnt /=3;
    };
}
答案:cnt=5

静态初始化块,静态变量这两个是属于同一级别的,是按代码写得顺序执行的!


int i=0;
ing j=0;
if((++i)>0 || (++j)>0){
打印i,j的值
}
答案:i=1;j=0

注意这里的坑,|| 前面为1后面不执行。


class Car extends Vehicle
{
    public static void main (String[] args)
    {
        new  Car(). run();
    }
    private final void run()
    {
        System. out. println ("Car");
    }
}
class Vehicle
{
    private final void run()
    {
        System. out. println("Vehicle");
    }
}

首先final声明的方法是不能被覆盖的,但是这里并不错误,因为方法是private的,也就是子类没有继承父类的run方法,因此子类的run方法跟父类的run方法无关,并不是覆盖。new Car().run()也是调用子类的run方法。


class C {
    C() {
        System.out.print("C");
    }
}

class A {
    C c = new C();

    A() {
        this("A");
        System.out.print("A");
    }

    A(String s) {
        System.out.print(s);
    }
}

class Test extends A {
    Test() {
        super("B");
        System.out.print("B");
    }

    public static void main(String[] args) {
        new Test();
    }
}
答案:CBB

(1)初始化父类的普通成员变量和代码块,执行 C c = new C(); 输出C
(2)super(“B”); 表示调用父类的构造方法,不调用父类的无参构造函数,输出B
(3) System.out.print(“B”);
所以输出CBB

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 好的,这是一个用 Java 编写的爱心代码。首先,需要导入 java.awt 包中的相关类,因为这些类提供了图形用户界面(GUI)功能。 ```java import java.awt.Color; import java.awt.Graphics; import java.awt.Graphics2D; import javax.swing.JFrame; import javax.swing.JPanel; public class Heart extends JPanel { public void paint(Graphics g) { Graphics2D g2d = (Graphics2D) g; g2d.setColor(Color.RED); int xPoints[] = {100, 150, 200}; int yPoints[] = {100, 50, 100}; g2d.fillPolygon(xPoints, yPoints, 3); int xPoints2[] = {100, 150, 200}; int yPoints2[] = {150, 200, 150}; g2d.fillPolygon(xPoints2, yPoints2, 3); g2d.drawArc(75, 100, 50, 50, 0, 180); g2d.drawArc(150, 100, 50, 50, 0, 180); } public static void main(String[] args) { JFrame frame = new JFrame("Heart"); frame.add(new Heart()); frame.setSize(300, 300); frame.setVisible(true); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); } } ``` 这段代码使用多边形和圆弧绘制了一个爱心图形。它还创建了一个 JFrame 窗口,并将 Heart 类的实例添加到窗口中。窗口的大小设置为 300x300 像素,并设置为可见。最后,设置了当用户关闭窗口时程序的默认关闭操作。 运行这段代码后,会弹出一个带有红色爱心图形的窗口。 希望这个示例能帮到你! ### 回答2: 以下是一个使用Java编写的爱心代码: ```java class LoveCode { public static void main(String[] args) { int size = 10; for (int i = size / 2; i <= size; i += 2) { for (int j = 1; j < size - i; j += 2) { System.out.print(" "); } for (int j = 1; j <= i; j++) { System.out.print("*"); } for (int j = 1; j <= size - i; j++) { System.out.print(" "); } for (int j = 1; j <= i; j++) { System.out.print("*"); } System.out.println(); } for (int i = size; i >= 1; i--) { for (int j = i; j < size; j++) { System.out.print(" "); } for (int j = 1; j <= (i * 2) - 1; j++) { System.out.print("*"); } System.out.println(); } } } ``` 这个代码将会输出一个爱心形状,通过控制台打印字符星号"*"来创建爱心的形状。代码采用两个for循环来组合形状的不同部分。首先,使用第一个for循环来打印爱心的上半部分,然后使用第二个for循环来打印爱心的下半部分。在打印每一行之前,通过嵌套的for循环来打印适量的空格来实现爱心形状。 ### 回答3: Java是一种强大且灵活的编程语言,可以用来编写各种类型的代码,包括表达爱心的代码。 下面是用Java编写的一个简单的爱心代码: ```java public class LoveCode { public static void main(String[] args) { // 定义一个用于绘制爱心的字符串 String heart = " ❤ ❤ \n ❤ ❤ ❤ ❤ \n ❤ ❤ ❤ \n ❤ ❤ \n ❤ ❤ \n ❤ "; // 输出爱心到控制台 System.out.println(heart); } } ``` 上述代码使用字符串来表示爱心的形状,并通过`System.out.println()`方法来输出到控制台。爱心的形状是通过字符来绘制的,可以根据需要进行调整,甚至可以使用其他符号来绘制自定义的爱心形状。 在运行以上代码后,控制台会输出一个绘制好的爱心: ``` ❤ ❤ ❤ ❤ ❤ ❤ ❤ ❤ ❤ ❤ ❤ ❤ ❤ ❤ ``` 这个简单的爱心代码可以作为一个初学者练习Java基础语法的练习,同时也能以一种简单而有趣的方式传递爱心和温暖的信息。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值