Java第一课:Java开发环境和Scanner类

Unit01-Java开发起步

一、Java的开发环境

  • JDK:包含运行环境JRE,Java工具,Java的基础类库

  • JRE:包含API和JVM

  • JVM:Java虚拟机,主要用于将字节码文件解释成特定平台可以运行的机器码文件

二、Java环境变量的配置

  1. JAVA_HOME

    • JDK的安装路径

  2. Path

    • JDK中bin目录的路径,因为程序执行需要使用外部指令:javac

  3. CLASSPATH

    • .;

    • 指明了Java程序需要用到的类

三、控制台进行编译,运行

  1. 在记事本中编写HelloWorld代码,将文件后缀改为.java

    public class HelloWorld{
    public static void main(String[] args){
    System.out.println("Hello...");
    }
    }
  2. 在cmd中进行编译

    • 将.java文件编译成.class

      javac HelloWorld.java
    • 如果代码中有汉字,可能会出现编码错误

      javac -encoding utf-8 HelloWorld.java
  3. 运行编译好的.class文件

    java HelloWorld

四、Scanner类

  • 可以从键盘或文件或网络中获取数据

  • 方法

    • next():从输入缓冲区获取一个数据

    • nextLine():从输入缓冲区获取一行数据

    • nextInt():获取一个数字

    • 构造方法有一个参数System.in,系统输入

  • 示例

    public class Test {
       public static void main(String[] args) {
           System.out.println("请输入你的姓名:");
           Scanner scanner = new Scanner(System.in);
           String name = scanner.nextLine();
           System.out.println("name" + name);
           System.out.println("请输入你的年龄");
           int age = scanner.nextInt();
           System.out.println("age" + age);
      }
    }

五、面试题(重点)

  1. JDK/JRE/JVM关系是什么?

    • JDK:Java Development Kit,必须有的Java开发环境

    • JRE:Java Runtime Environment,Java运行环境

    • JVM:Java Virtual Machine,Java虚拟机

    JDK里面包含JRE,JRE里面包含JVM

  2. Java程序的执行过程是什么?

    • .class是什么文件?

      • 字节码文件

    • .class中包含什么内容?能打开看内容吗?

      • .class中包含的针对JVM的指令,内容是16进制表示,能看里面的内容

    • .class是平台相关还是无关?

      • 平台无关

    • JVM的作用是什么?

      • 将.class文件翻译 为特定平台的机器指令

    • JVM是平台相关还是无关?

      • 相关,不同的操作系统安装不同的JDK,也就是不同的JVM

  3. Java是编译型语言还是解释型语言?

    编译和解释的结合体

  4. Java语言最大的特点是哪些?

    • 跨平台(Write Once,Run Anywhere).编写一次,到处执行

      平台的通俗理解就是操作系统:Windows、Linux、Unix、Mac Os、Android、iOS等;

      windows平台不区分大小写,其他平台严格区分大小写

    • 开源(源代码公开、文档公开)

    • 面向对象

  5. Java平台划分?

    • Java ME:手机版

    • Java SE:标准版

    • Java EE:企业版

  6. Java语言出现时间和发布时间

    • 1991年出现

    • 1995年5月23日正式发布

  7. 请对比C/C++/Java

    • C语言主要用于智能硬件开发、算法、底层系统开发,面向过程编程。比如:出租车计价器中的软件、车牌识别算法,Linux操作系统

    • C++主要用于GUI软件开发,控制系统软件开发,游戏开发,主要开发C/S结构的软件,比如:美图秀秀,迅雷下载,暴风影音,QQ

    • Java主要用于开发大型管理系统,大数据开发,Android开发,使用量最大;B/S结构软件基本使用Java开发

  8. 在windows/Linux下javac和java命令大小写区分吗

    • windows下不区分

    • Linux下严格区分

  9. 在windows/Linux下环境变量Path和CLASSPATH名字大小写区分吗

    • windows下不区分,Linux下区分

  10. 在Windows/Linux下Java执行时文件名大小写区分吗

    • windows下不区分,Linux下区分

  11. 在windows/Linux下java执行时文件名大小写区分吗

    • windows下不区分,Linux下区分

  12. main方法中的public或static或形参去掉后,程序能编译通过吗?能执行吗?

    • 去掉public,编译可以通过,但是不能执行

      • 报错:在类 HelloWorld 中找不到 main 方法

    • 去掉static,编译可以通过,但是不能执行

      • 报错:main 方法不是类 HelloWorld 中的static

    • 去掉[],编译可以通过,但是不能执行

      • 报错:在类 HelloWorld 中找不到 main 方法

    • 去掉形参,编译可以通过,但是不能执行

      • 报错:在类 HelloWorld 中找不到 main 方法

    • 形参是...,编译可以通过,可以执行

  13. main方法中的static和public交换位置后,程序能编译通过吗?能执行吗?

    • static public void main(String[] args)

      • 编译可以通过,可以执行成功

    • static void public main(String[] args)

      • 编译无法通过

六、作业

  1. 查看Java之父(James Gosling)

  2. 查看Java发展史

  3. JDK安装目录下的内容是什么,作用是什么

  4. 编写程序,输出如下信息:

    我是英才学员,以下是我的基本信息:

    姓名:张三 性别:男 学校:航空大学 籍贯:山西太原 电话:123456

  5. 打印购物小票信息:

    商品信息

    商品名称 购买数量 单价 合计

    水杯 1 20 20

    书包 2 120 240



软件下载提取码:qwer
原文地址:https://www.cnblogs.com/ty0910/p/14361308.html