第01周 课前问题列表:
————————————————————————————————————————————————————————
1. 使用Java能编写哪些类型的程序?试举至少两个例子。
2. Java号称“一次编译、处处运行”(Write Once, Run Anywhere!),怎么理解这句话?为使编译好的程序能运行,需先在操作系统安装什么?
3. 对比c版本的与Java版本HelloWorld代码,有何不同?
4. 怎么比较两个字符串内容是否相同?可以直接用吗?为什么对基本数据类型可以直接使用?对引用数据类型不行?
5. 下面这段代码,本意是要达到什么效果?能运行成功吗?为什么?怎么获得String的trim()方法的说明?
**1**|String x = null;
**2**|int length = x.length();
**3**|System.out.println("x.length = "+length +", content = "+x.trim());
6. 阅读如下代码:
**1**|Integer x = Integer.valueOf("10");
**2**|Integer y = x + 1;
**3**|int z = x + y;
x是Integer类型,1是int类型,为什么他们可以相加,使用了什么技术?z是int,x与y是Integer类型,却可以直接将x + y 赋给z,使用了什么技术?
———————————————————————————————————————————————————————
一. 使用Java能编写哪些类型的程序?试举至少两个例子。
1. 云计算平台: 许多云服务提供商的中间件和API都是用Java开发.
2. 移动应用程序:使用Java编写Android操作系统上的应用。
3. 大数据处理: Apache Hadoop,一个开源的框架,用于分布式存储和大数据处理,就是用Java编写的。
二. Java号称“一次编译、处处运行”(Write Once, Run Anywhere!),怎么理解这句话?为使编译好的程序能运行,需先在操作系统安装什么?
1.一次编译、处处运行:指JAVA程序经过编译后可以在任何操作系统上运行,不需要再在其它平台重新编译
2. 需先安装好相应的JAVA系统
三.对比c版本的与Java版本HelloWorld代码,有何不同?
1.语法不同:C语言中用print函数输出,JAVA中用System.out.print输出;同时C语言中main需要返回值,JAVA中不需要
2.程序不同:C语言程序不需要类结构,JAVA中需要包含在一个类中。
四.怎么比较两个字符串内容是否相同?可以直接用 == 吗?为什么对基本数据类型可以直接使用 == ?对引用数据类型不行?
用equals()函数而不是==,因为引用数据类型中==比较的是两个对象的引用是否相同,即是否指向内存中同一位置,即使内容相同,也可能指向不同位置;
而基本数据类型中是直接存储值,不存储引用,因此比较的是值,可以用==
五.下面这段代码,本意是要达到什么效果?能运行成功吗?为什么?怎么获得String的trim()方法的说明?
效果:输出字符串的长度和去除前后空格后的长度
不能,因为x指向空,对其进行字符串操作会出现异常
方法:查找JDK文档
六.阅读如下代码, x是Integer类型,1是int类型,为什么他们可以相加,使用了什么技术?z是int,x与y是Integer类型,却可以直接将x + y 赋给z,使用了什么技术?
Integer类型 + int类型是采用了自动装箱功能,将1自动转化成Integer类型后相加;
将x + y 赋给z采用了自动拆箱功能,将x,y自动转为int后进行运算