一、使用 Java 能编写哪些类型的程序?试举至少两个例子。
1)企业级应用:
淘宝、京东、亚马逊的商城后台系统
2)Android 手机上的 App:
如 微信、支付宝、抖音 等,其原生版本基本都是用 Java 开发的
二、Java 号称 “一次编译、处处运行”(Write Once, Run Anywhere!),怎么理解这句话?为使编译好的程序能运行,需先在操作系统安装什么?
开发者只需要编写一次 Java 源代码,并将其编译成一种中间格式(字节码 .class)。这个编译好的字节码文件可以在任何安装了 Java 运行环境的设备上运行( JRE 或 JDK,它内部的 JVM 就会充当一个 “翻译官”, 翻译成当前操作系统能理解的本地机器码并执行),而无需对源代码进行任何修改或重新编译。
操作系统上必须安装 Java 运行时环境(JRE) 或 Java 开发工具包(JDK)。
三、对比 c 版本的与 Java 版本 HelloWorld 代码,有何不同?
C 语言版本 (hello.c)
#include <stdio.h>
int main() {
printf("Hello, World!\n");
return 0;}
Java 版本 (HelloWorld.java)
public class HelloWorld {
public static void main(String[] args) {
System.out.println("Hello, World!");
}
}
Java 是纯面向对象的,所以即使是一个简单的程序,也必须包含在一个类(class)中,主方法也必须定义在类里。C 语言是面向过程的,直接定义函数即可。
C使用printf,Java使用System.out.println
四、怎么比较两个字符串内容是否相同?可以直接用吗?为什么对基本数据类型可以直接使用?对引用数据类型不行?
1)怎么比较两个字符串内容是否相同?可以直接用吗?
使用 String 类提供的 .equals () 方法进行比较
例如:
java
运行
String str1 = "Hello";
String str2 = "HELLO";
System.out.println(str1.equals(str2)); // 输出:false
不能直接用 = = 来比较字符串内容!
2)为什么对基本数据类型可以直接使用?
因为基本数据类型存储的是实际的数值本身。
当你使用 = = 比较两个基本数据类型时,你直接比较的是它们存储在内存中
的值是否相等。
3)对引用数据类型不行?
因为引用数据类型变量存储的是对象的 “内存地址”(引用),而不是对象本
身的 “内容”。
当你使用 = = 比较两个引用变量时,你比较的是它们指向的内存地址是否相
同(即是否是同一个对象),而不是比较它们所指向的对象的内容是否相同。
五、下面这段代码,本意是要达到什么效果?能运行成功吗?为什么?怎么获得 String 的 trim () 方法的说明?
java
运行
String x = null;
int length = x.length();
System.out.println("x.length = "+length +", content = "+x.trim());
1. 代码的本意是想获取字符串 x 的长度,以及去除 x 首尾空白字符后的内容并打印输出。
2. 能否运行:
不能运行成功。因为代码中 String x = null; 将 x 初始化为 null,null表示没有指向任何对象,此时调用 x.length () 和 x.trim () 会发生报错
3. 获得 String 的 trim () 方法的说明
查看 Java 官方文档:在 Java 的官方 API 文档中,找到 String 类,然后查看 trim () 方法的详细说明,包括方法的作用(去除字符串首尾的空白字符)、参数(无)、返回值(去除首尾空白后的字符串)等信息。
六、阅读如下代码,x 是 Integer 类型,1 是 int 类型,为什么他们可以相加,使用了什么技术?z 是 int,x 与 y 是 Integer 类型,却可以直接将 x + y 赋给 z,使用了什么技术?
java
运行
Integer x = Integer.valueOf("10");
Integer y = x + 1;
int z = x + y;
1)为什么 x 和 1 可以相加?用到了什么技术?
在 Java 中,当 Integer 类型(引用类型)和 int 类型(基本数据类型)进行运算时,会发生自动拆箱操作。Integer 类型的变量 x 会自动拆箱为 int类型,然后再和 int 类型的 1 进行相加运算。
2) 使用了什么技术直接将 x+y 赋给 z?
x 和 y 都是 Integer 类型,在进行 x+y 运算时,会先对 x 和 y 进行自动拆箱,将它们从 Integer 类型转换为 int 类型,然后进行 int 类型的加法运算,得到的结果也是 int 类型,所以可以直接将这个结果赋给 int 类型的变量 z。

317

被折叠的 条评论
为什么被折叠?



