弟01周 课前问题列表

1.使用Java能编写哪些类型的程序?

1.桌面应用程序
2.移动应用程序
3.游戏程序

2.Java号称“一次编译、处处运行”(Write Once, Run Anywhere!),怎么理解这句话?为使编译好的程序能运行,需先在操作系统安装什么?

“一次编译、处处运行(Write Once, Run Anywhere!)” 是指用 Java 语言编写的程序,在一个平台上进行编译后,可以在不同的操作系统和硬件平台上运行,无需为每个特定的平台重新编译。
为了使编译好的 Java 程序能运行,需要先在操作系统上安装 Java 运行时环境(JRE)。JRE 包含了 JVM 和 Java 类库,它提供了运行 Java 程序所需的环境。如果要进行 Java 开发,还需要安装 Java 开发工具包(JDK),JDK 中除了包含 JRE 之外,还有编译器、调试器等开发工具。

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!");
    }
}

1.语法结构方面

整体结构:
C 语言是函数式的语言,程序从 main 函数开始执行。
Java 是面向对象的语言,代码通常被组织在类中,程序从类的 main 方法开始执行。
头文件与类声明:
C 语言需要包含头文件(如 <stdio.h>)来使用输入输出函数等。
Java 中通过 import 语句导入所需的类库,并且每个 Java 程序都必须在一个类中定义,类名通常与文件名一致。

2.输出方式方面

函数调用:
C 语言使用 printf 函数进行输出,需要指定输出格式。
Java 使用 System.out.println 方法进行输出,更加直观,不需要指定复杂的格式字符串。

4.怎么比较两个字符串内容是否相同?可以直接用==吗?为什么对基本数据类型可以直接使用==?对引用数据类型不行?

1.使用equals()方法:这个方法比较的是字符串的内容是否相等。
2.使用equalsIgnoreCase()方法:与equals()类似,但不区分大小写。

在 Java 中,比较两个字符串内容是否相同不能直接使用 == 。
“==” 在比较基本数据类型时比较的是值是否相等,而在比较引用数据类型时比较的是对象的引用是否相等,也就是是否指向同一个内存地址。对于字符串来说,即使两个字符串的内容相同,但如果是通过不同的方式创建的,它们在内存中的地址可能不同。

5.下面这段代码,本意是要达到什么效果?能运行成功吗?为什么?怎么获得String的trim()方法的说明?

1.String x = null;
2.int length = x.length();
3.System.out.println("x.length = "+length +", content = "+x.trim());

这段代码的本意是获取字符串变量x的长度并打印,同时对x进行去除首尾空白字符的操作并打印结果。
这段代码不能运行成功。因为x为null,对一个null引用调用方法(如length()和trim())会导致NullPointerException异常。

  • 获得 String 的 trim() 方法:

可以查阅 Java 的官方文档,如 Oracle 的 Java 文档网站,在其中搜索String类,找到trim()方法的详细说明,包括方法的作用、返回值类型、可能抛出的异常等。

6.阅读如下代码

Integer x = Integer.valueOf("10");
Integer y = x + 1;
int z = x + y;
  • x是Integer类型,1是int类型,为什么他们可以相加,使用了什么技术?

在 Java 中,当一个Integer对象和一个基本数据类型int进行运算时,会自动进行拆箱操作。拆箱就是将包装类型自动转换为对应的基本数据类型。在这里,Integer x = Integer.valueOf(“10”);创建了一个Integer对象,当进行x + 1操作时,x会被自动拆箱为int类型的10,然后再和1进行加法运算,结果为11,这个过程自动使用了拆箱技术。

  • z是int,x与y是Integer类型,却可以直接将x + y 赋给z,使用了什么技术?

当一个Integer对象参与运算并要将结果赋给基本数据类型int时,也会进行拆箱操作。在int z = x + y;中,首先x和y的值在进行加法运算时会被自动拆箱为int类型进行计算,得到的结果也是int类型,所以可以直接赋值给int类型的变量z。这个过程也使用了拆箱技术。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值