第01周 课前任务列表
- 一、使用Java能编写哪些类型的程序?试举至少两个例子。
- 二、Java号称“一次编译、处处运行”(Write Once, Run Anywhere!),怎么理解这句话?为使编译好的程序能运行,需先在操作系统安装什么?
- 三、对比c版本的与Java版本HelloWorld代码,有何不同?
- 四、怎么比较两个字符串内容是否相同?可以直接用== 吗?为什么对基本数据类型可以直接使用==?对引用数据类型不行?
- 五、下面这段代码,本意是要达到什么效果?能运行成功吗?为什么?怎么获得String的trim()方法的说明?
- 六、阅读如下代码,x是Integer类型,1是int类型,为什么他们可以相加,使用了什么技术?z是int,x与y是Integer类型,却可以直接将x + y 赋给z,使用了什么技术?
一、使用Java能编写哪些类型的程序?试举至少两个例子。
- 游戏的开发
例如:猜数字游戏,贪吃蛇游戏等等。
- 具有图形用户界面应用程序
Java也常用于开发程序的用户交互界面,使得程序的使用更加清晰明了
二、Java号称“一次编译、处处运行”(Write Once, Run Anywhere!),怎么理解这句话?为使编译好的程序能运行,需先在操作系统安装什么?
1.一次编译,处处运行
一次编译:顾名思义就是开发者用java语言进行编写程序时,只需要进行一次编译
处处运行:编译后的 Java 程序可以在任何支持 Java 虚拟机(JVM, Java Virtual Machine)的操作系统上运行,而无需对源代码进行修改
2.为使编译好的程序能运行,需先在操作系统安装什么?
1、需要安装Java运行时环境(JRE):JRE 包含了运行 Java 程序所需的所有组件,特别是 JVM。用户需要在他们的操作系统上安装相应版本的 JRE。
2、设置环境变量:在某些情况下,可能需要设置环境变量(如 JAVA_HOME 和 PATH),以便操作系统知道在哪里可以找到 Java 相关的命令和执行文件
三、对比c版本的与Java版本HelloWorld代码,有何不同?
1.c版本
#include <stdio.h>
int main() {
printf("Hello World!");
return 0;
}
2.Java版本
public class HelloWorld {
public static void main(String[] args) {
System.out.println("hello world");
}
}
3.两者的区别
语法上:
1.C 语言使用 printf 函数来打印输出,而 Java 使用 System.out.println 方法。
2.C 语言需要 #include 指令来包含标准输入输出库 stdio.h。
3.Java 使用 public class 关键字定义一个类,并且所有代码都封装在类中。
执行环境:
1.C 程序编译后生成的是特定平台上的机器码,因此 C 程序通常不具备跨平台能力。
2.Java 程序编译后生成的是字节码,它可以在任何安装了相应版本 Java 虚拟机的平台上运行。
四、怎么比较两个字符串内容是否相同?可以直接用== 吗?为什么对基本数据类型可以直接使用==?对引用数据类型不行?
1.在 Java 中,比较两个字符串的内容是否相同,通常使用 String 类的 equals() 方法。这是因为字符串是对象,在 Java 中比较对象是否相同,不能直接使用 == 运算符。
2.== 运算符用于比较两个变量的值是否相等。对于基本数据类型,它比较的是值;对于引用数据类型(如对象),它比较的是引用是否指向同一个对象实例。
五、下面这段代码,本意是要达到什么效果?能运行成功吗?为什么?怎么获得String的trim()方法的说明?
String x = null;
int length = x.length();
System.out.println("x.length = "+length +", content = "+x.trim());
1.这段代码的本意是将String类型的变量x初始化为null,再获取其长度,最后打印出x的长度和和去除前后空格后的内容
2.不能运行。因为x被初始化为了null,而在Java中,不能在null引用中调用任何方法,需要保证x不能初始化为null
3.查看官方 Java API 文档:在 Oracle 官方网站或任何其他提供 Java API 文档的网站上搜索 String 类,然后查找 trim() 方法。这会提供该方法的功能描述、参数、返回值以及可能抛出的异常。
使用 IDE 的文档功能:如果你使用的是集成开发环境(IDE),如 IntelliJ IDEA、Eclipse 或 NetBeans,你可以将光标放在 trim() 方法上,并按下某个键(通常是 F1 或 Ctrl+Q)来查看方法的文档。
六、阅读如下代码,x是Integer类型,1是int类型,为什么他们可以相加,使用了什么技术?z是int,x与y是Integer类型,却可以直接将x + y 赋给z,使用了什么技术?
Integer x = Integer.valueOf("10");
Integer y = x + 1;
int z = x + y;
1.x 是一个 Integer 类型的对象,它通过 valueOf 方法被初始化为字符串 “10” 对应的整数值。
当 x 与 int 类型的字面量 1 相加时,发生了自动装箱。x 会被自动拆箱成 int 类型的值(即 10),然后与 1 相加,结果是 11。
结果 11 然后被自动装箱成一个新的 Integer 对象,并被赋值给 y。
2.x 和 y 都是 Integer 类型的对象。
当 x 与 y 相加时,两个 Integer 对象都会被自动拆箱成 int 类型的值。
这两个 int 值相加的结果是另一个 int 类型的值。
最后,这个 int 类型的结果被赋值给 int 类型的变量 z