第01周 课前问题列表回答
一.使用Java能编写哪些类型的程序?试举至少两个例子。
桌面应用程序类型
1)OpenOffice 这是可以进行文档编辑、电子表格处理、演示文稿等一些列的办公组件的应用程序。
2)Minecraft 这是一款沙盒建造类游戏,也同样是由Java所编写的一款自由度很高的游戏。
移动应用程序
1)Android 这是目前市面上常见的系统,有很多Android的应用程序则是通过Java的编写。
2)IOS 作为iPhone的系统,同样Java也可以在相关工具的协助下完成IOS一些应用程序的编写。
二、Java号称“一次编译、处处运行”(Write Once, Run Anywhere!),怎么理解这句话?为使编译好的程序能运行,需先在操作系统安装什么?
1)这是Java本身最大的优点之一,意思是只要编写了一次的Java 代码,就可以在任何安装了 Java 虚拟机的平台上运行,无需针对不同平台进行额外的修改或重新编译。
2)需要在操作系统中安装相对应的Java系统来使Java程序能够运行。
三、对比c版本的与Java版本HelloWorld代码,有何不同?
以下是相应的代码
1)C语言
#include <studio.h>
int main(){
printf("Hello World!");
return 0;
}
2)java
public class Main{
public static void main(String[] args){
System.out.println("Hello world!");
}
}
这两者中很明显的区别就是语法的差异:
1)C 语言:C 语言程序通常以 .c 作为文件扩展名。程序包含一个 main 函数,该函数是程序的入口点。printf 函数用于输出文本。
2)Java:Java 程序以 .java 作为文件扩展名。每个公共类必须与文件名相同。程序的入口点是 public static void main(String[] args) 方法。System.out.println 方法用于输出文本。
四、怎么比较两个字符串内容是否相同?可以直接用吗?为什么对基本数据类型可以直接使用?对引用数据类型不行?
1)可以使用 equals() 方法作为Java中的比较字符串的方法,例如:假设有两个需要比较的字符串a,b,就可以使用a.equals(b)来比较字符串是否相同。
2)不能直接用“==”,因为对于基本数据类型中判断两者数据是否相等是在Java中直接储存值,通过数值来比较相等。而在引用数据类型中,储存的值实际上是对象,那么其使用就是在判断是否是指向同一个对象,而不是对象中的值来比较。
五、下面这段代码,本意是要达到什么效果?能运行成功吗?为什么?怎么获得String的trim()方法的说明?
String x = null;
int length = x.length();
System.out.println("x.length = "+length +", content = "+x.trim());
1)上面这段代码想要初始化x的字符串为null,去除前后空白字符的前提下输出这段字符串的长度。
2)这段代码无法成功运行。因为首先初始化了字符串x为null,之后调用x.length(),由于null没有办法调用,所以无法运行。
3)想要获得trim()的方法说明,可以从Java官方文档上查询,也可以从网上搜索等。
六、阅读如下代码
Integer x = Integer.valueOf("10");
Integer y = x + 1;
int z = x + y;
- Integer y = x +1
其中 x 是 Integer 类型的对象,而 1 是 int 类型的基本数据类型。Java 会自动将 x 调用 intValue() 方法转换为 int 类型,然后执行加法运算,运用了自动拆箱的技术.- int z = x + y
在这里,x和y会被自动拆箱为int类型,然后进行加法运算,这里使用了自动拆箱技术。