Java01课前问题列表
1.使用Java能编写哪些类型的程序?试举至少两个例子。
- 例1:桌面应用程序(如简单计算器)
- 例2:企业级管理程序(如电商管理系统)
2. Java号称“一次编译、处处运行”(Write Once, Run Anywhere!),怎么理解这句话?为使编译好的程序能运行,需先在操作系统安装什么?
- java虚拟机(JVM)能使不同的操作系统运行同一份Java的字节码程序,这种字节码不是针对特定操作系统的机器码,所以能做到一次编译,处处运行。
- 为使编译好的程序能够运行,应安装JRE(包含了JVM和Java核心类库等运行Java程序所需的组件),并配好环境。
3. 对比c版本的与Java版本HelloWorld代码,有何不同?
C语言代码:
#include<stdio.h>int main(){printf("Hello World");return 0;}
Java代码:
public class HelloWorld{public static void main(String[] args){System.out.println("Hello World");}
}
- 不同点:C语言通过#include引入标准输出头文件,主函数是main,用printf输出;而Java需要定义一个公共类(类名与文件名一致),主函数是public static void main(String[] args),用System.out.println输出,且Java是面向对象的语言,代码结构围绕类展开,而C语言是面向过程的。
4. 怎么比较两个字符串内容是否相同?可以直接用吗?为什么对基本数据类型可以直接使用?对引用数据类型不行?
- 比较两个字符串内容是否相同,应该使用
String
类的equals
方法,例如str1.equals(str2)
- 不可以直接用
==
。对于基本数据类型(如int
,double
),==
比较的是他们的值;而对于引用数据类型(如String
等对象),==
比较的是对象的引用(即内存地址),即使两个引用数据类型对象相同,只要他们在内存中是不同的对象,==
判断结果就是false
。
5. 下面这段代码,本意是要达到什么效果?能运行成功吗?为什么?怎么获得String的trim()方法的说明?
String x = null;
int length = x.length();
System.out.println("x.length = "+length +", content = "+x.trim());
- 本意是想要获取字符串x的长度并输出。
- 不能成功运行。因为x被赋值为
null
,null
表示没用引用任何对象。 - 可以在IDE(如eclipe,Intellij IDEA等)中将鼠标悬停到
trim()
方法上来获取方法说明。
6.阅读如下代码
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;
- 使用了自动拆箱技术
- 同样使用了自动拆箱技术