Java第一课:Java开发环境和Scanner类
一、Java的开发环境
-
JDK:包含运行环境JRE,Java工具,Java的基础类库
-
JRE:包含API和JVM
-
JVM:Java虚拟机,主要用于将字节码文件解释成特定平台可以运行的机器码文件
二、Java环境变量的配置
-
JAVA_HOME
-
JDK的安装路径
-
-
Path
-
JDK中bin目录的路径,因为程序执行需要使用外部指令:javac
-
-
CLASSPATH
-
.;
-
指明了Java程序需要用到的类
-
三、控制台进行编译,运行
-
在记事本中编写HelloWorld代码,将文件后缀改为.java
public class HelloWorld{
public static void main(String[] args){
System.out.println("Hello...");
}
} -
在cmd中进行编译
-
将.java文件编译成.class
javac HelloWorld.java
-
如果代码中有汉字,可能会出现编码错误
javac -encoding utf-8 HelloWorld.java
-
-
运行编译好的.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);
}
}
五、面试题(重点)
-
JDK/JRE/JVM关系是什么?
-
JDK:Java Development Kit,必须有的Java开发环境
-
JRE:Java Runtime Environment,Java运行环境
-
JVM:Java Virtual Machine,Java虚拟机
JDK里面包含JRE,JRE里面包含JVM
-
-
Java程序的执行过程是什么?
-
.class是什么文件?
-
字节码文件
-
-
.class中包含什么内容?能打开看内容吗?
-
.class中包含的针对JVM的指令,内容是16进制表示,能看里面的内容
-
-
.class是平台相关还是无关?
-
平台无关
-
-
JVM的作用是什么?
-
将.class文件翻译 为特定平台的机器指令
-
-
JVM是平台相关还是无关?
-
相关,不同的操作系统安装不同的JDK,也就是不同的JVM
-
-
-
Java是编译型语言还是解释型语言?
编译和解释的结合体
-
Java语言最大的特点是哪些?
-
跨平台(Write Once,Run Anywhere).编写一次,到处执行
平台的通俗理解就是操作系统:Windows、Linux、Unix、Mac Os、Android、iOS等;
windows平台不区分大小写,其他平台严格区分大小写
-
开源(源代码公开、文档公开)
-
面向对象
-
-
Java平台划分?
-
Java ME:手机版
-
Java SE:标准版
-
Java EE:企业版
-
-
Java语言出现时间和发布时间
-
1991年出现
-
1995年5月23日正式发布
-
-
请对比C/C++/Java
-
C语言主要用于智能硬件开发、算法、底层系统开发,面向过程编程。比如:出租车计价器中的软件、车牌识别算法,Linux操作系统
-
C++主要用于GUI软件开发,控制系统软件开发,游戏开发,主要开发C/S结构的软件,比如:美图秀秀,迅雷下载,暴风影音,QQ
-
Java主要用于开发大型管理系统,大数据开发,Android开发,使用量最大;B/S结构软件基本使用Java开发
-
-
在windows/Linux下javac和java命令大小写区分吗
-
windows下不区分
-
Linux下严格区分
-
-
在windows/Linux下环境变量Path和CLASSPATH名字大小写区分吗
-
windows下不区分,Linux下区分
-
-
在Windows/Linux下Java执行时文件名大小写区分吗
-
windows下不区分,Linux下区分
-
-
在windows/Linux下java执行时文件名大小写区分吗
-
windows下不区分,Linux下区分
-
-
main方法中的public或static或形参去掉后,程序能编译通过吗?能执行吗?
-
去掉public,编译可以通过,但是不能执行
-
报错:在类 HelloWorld 中找不到 main 方法
-
-
去掉static,编译可以通过,但是不能执行
-
报错:main 方法不是类 HelloWorld 中的static
-
-
去掉[],编译可以通过,但是不能执行
-
报错:在类 HelloWorld 中找不到 main 方法
-
-
去掉形参,编译可以通过,但是不能执行
-
报错:在类 HelloWorld 中找不到 main 方法
-
-
形参是...,编译可以通过,可以执行
-
-
main方法中的static和public交换位置后,程序能编译通过吗?能执行吗?
-
static public void main(String[] args)
-
编译可以通过,可以执行成功
-
-
static void public main(String[] args)
-
编译无法通过
-
-
六、作业
-
查看Java之父(James Gosling)
-
查看Java发展史
-
JDK安装目录下的内容是什么,作用是什么
-
编写程序,输出如下信息:
我是英才学员,以下是我的基本信息:
姓名:张三 性别:男 学校:航空大学 籍贯:山西太原 电话:123456
-
打印购物小票信息:
商品信息
商品名称 购买数量 单价 合计
水杯 1 20 20
书包 2 120