绪论与Java基本语法
1.使用Java能编写哪些类型的程序?试举至少两个例子。
Web应用程序:使用Java EE(现为Jakarta EE)及相关框架(如Spring Boot)开发服务器端应用,例如电商平台、社交网络后端等。
移动应用程序:尤其是Android应用开发(Android SDK主要使用Java或Kotlin)。
2.Java号称“一次编译、处处运行”(Write Once, Run Anywhere!),怎么理解这句话?为使编译好的程序能运行,需先在操作系统安装什么?
Java具有跨平台特性,Java源代码经过编译后变成字节码文件(即.class文件),这种字节码文件可以在任何安装了Java虚拟机(JVM)的平台上运行。
为了使编译好的程序能运行,需要在目标操作系统上安装Java运行时环境(JRE),其中包含了JVM和核心类库,如今通常直接安装JDK,它包含了JRE和开发工具。
3.对比c版本的与Java版本HelloWorld代码,有何不同?
C编译生成直接针对特定系统运行的高效机器码,而Java编译生成跨平台的通用字节码,依靠JVM实现“一次编写,到处运行”。
4.怎么比较两个字符串内容是否相同?可以直接用吗?为什么对基本数据类型可以直接使用?对引用数据类型不行?
比较两个字符串内容是否相同,应该使用equals()方法。
不能直接使用,因为对于引用类型(如String)比较的是内存地址(是否同一个对象),而不是内容。
对于基本数据类型(如int、char等),比较的是它们的实际值。
对于引用数据类型,比较的是对象引用(地址),而不是对象内容。因此即使两个字符串内容相同,但如果是不同对象(例如通过new String("abc")创建),==也会返回false。
5.下面这段代码,本意是要达到什么效果?能运行成功吗?为什么?怎么获得String的trim()方法的说明?
String x = null;
int length = x.length();
System.out.println("x.length = "+length +", content = "+x.trim());
本意:获取字符串x的长度和修剪(去除首尾空格)后的内容并打印。
能否运行成功:不能,会抛出NullPointerException。
原因:变量x被赋值为null,表示它不引用任何对象。调用x.length()和x.trim()都会尝试在null上调用方法,导致空指针异常。
如何获得trim()方法的说明:
1.查看官方Java文档(Oracle官网)。
2.在IDE(如IntelliJ IDEA或Eclipse)中将光标放在trim()上按Ctrl+Q(Windows)或Cmd+J(Mac)查看快速文档。
3.使用命令行javadoc工具生成文档。
6.阅读如下代码
Integer x = Integer.valueOf("10");
Integer y = x + 1;
int z = x + y;
x是Integer类型,1是int类型,为什么他们可以相加,使用了什么技术?z是int,x与y是Integer类型,却可以直接将x + y 赋给z,使用了什么技术?
这里使用了自动拆箱(Unboxing)。当Integer对象与基本类型int进行运算时,编译器自动将Integer转换为基本int(调用intValue()方法),然后进行加法运算。
s是int,x与y是Integer类型,却可以直接将x + y赋给s,使用了什么技术?
同样使用了自动拆箱。表达式x + y中,两个Integer对象先被自动拆箱为int,然后相加,结果也是int类型,因此可以直接赋值给int变量s。

浙公网安备 33010602011771号