尚学堂java答案解析 第一章

本答案为本人个人编辑,仅供参考,如果读者发现,请私信本人或在下方评论,提醒本人修改

一.选择题:

1.C

解析:java为了安全,中并没有引入C语言的指针概念.

2.AD

解析:B:Java先通过javac编译,再通过java解释器进行解释运行.C:java具有跨平台特性,字节码是相同的.

3.D

解析:编译命令是javac.且编译需要加.java文件后缀,解释时才不需要,且解释时不能加目录运行

4.B

解析:java是区分大小写的,System和system是不同的,输出命令是System.out.println();

5.A

解析:保存时必须有后缀.java,若有public类只能与public类的类名相同..class后缀是编译后的字节码的.

二.简答题

1.机器语言->汇编语言->高级语言

2.java在操作系统上加入了jvm虚拟机,程序运行在jvm上,jvm会自动根据不同操作系统将相同的.class字节码解释成不同的机器码

3.JDK(java development kit) >JRE(java runtime enviroment) >JVM(java virtual machine).

4.编写源文件->编译源文件(使用编译器javac)->字节码->执行字节码(使用解释器java)

5.https://blog.csdn.net/wdfscsdn2015/article/details/76652375

三.上机操作

1.

public class HelloWorld {
    public static void main(String[] args) {
        System.out.println("Hello World !");
    }
}

2.

public class Print {
    public static void main(String[] args) {
        System.out.println("========================");
        System.out.println("\t主菜单");
        System.out.println("\t1.注册");
        System.out.println("\t2.登陆");
        System.out.println("\t3.帮助信息");
        System.out.println("请选择:");
        System.out.println("========================");
    }
}

3.

//添加速度控制的台球游戏

import   java.awt.*;
import  javax.swing.*;


public class BallGame extends JFrame {

    Image ball = Toolkit.getDefaultToolkit().getImage("ch1-3/images/ball.png");
    Image desk = Toolkit.getDefaultToolkit().getImage("ch1-3/images/desk.jpg");

    double x = 200*Math.random()+40;
    double y = 200*Math.random()+70;
    double degree=3.14/3;
    double speed=10;

    public void paint(Graphics g) {
        g.drawImage(desk, 0, 0, null);
        g.drawImage(ball, (int) x, (int) y, null);

        System.out.println("x:"+x+" y:"+y);
        x=x+speed*Math.cos(degree);
        y=y+speed*Math.sin(degree);
        if(x>856-70||x<40){
            degree=3.14-degree;
        }
        if(y>430||y<70){
            degree=-degree;
        }
    }



    void launchFrame() {
        setSize(856, 500);
        setLocation(50, 50);
        setVisible(true);

        //重画窗口,每秒画25次
        while (speed>1) {
            repaint();
            long time=40+40/232;
            try {
                Thread.sleep(time);  //因为前期速度较快,休眠时间不能过长,而后期速度较慢,休眠时间可以长一点
                //通过时间来控制休眠时间,,避免出现前期降速太快,而后期帧数不足的情况
            } catch (Exception e) {
                e.printStackTrace();
            }
            speed=speed/1.01;//通过speed的匀速减小来使路程均匀减小

        }


    }

    public static void main(String[] args) {
        BallGame game = new BallGame();
        game.launchFrame();
    }

}

 

全部评论

相关推荐

点赞 收藏 评论
分享
牛客网
牛客企业服务