Java 01周 预习、实验与作业:绪论与Java基本语法

目录

一:课前问题列表 

1.使用Java能编写哪些类型的程序?试举至少两个例子。

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

3.对比c版本的与Java版本HelloWorld代码,有何不同?

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

5.x是Integer类型,1是int类型,为什么他们可以相加,使用了什么技术?z是int,x与y是Integer类型,却可以直接将x + y 赋给z,使用了什么技术?

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

总结


一:课前问题列表 

1.使用Java能编写哪些类型的程序?试举至少两个例子。

Java SE(基础):用于桌面应用开发 如:电脑里的计算器、IDEA。

Java ME(凉了):用于嵌入式电子设备或小型移动设备 如:Android应用程序、iOS应用程序、控制系统等。

Java EE:用于Web网站开发(这个领域的神) 如京东、淘宝网站。

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

“一次编译、处处运行”意味着只要在Java中编译了程序,程序可以在所有支持Java的操作系统上(如Windows、Linus等等)运行。这是由JVM(Java虚拟机)实现的,所以JVM是在目标操作系统上安装和运行Java程序所必需的部分,因为要使编译好的程序能够运行,所以要包含运行Java程序所需的库文件,所以需要安装包含了JVM和所需的库文件的JRE,即Java运行时环境。

3.对比c版本的与Java版本HelloWorld代码,有何不同?


C版本需要导入头文件、编写main函数和打印语句,需要手动编译并生成可执行文件,然后在命令行中运行。

Java版本只需编写一个类,包括类名和打印语句即可。可以直接在命令行中运行,Java虚拟机会自动编译和执行代码。

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

Integer x = Integer.valueOf("10");
Integer y = x + 1;
int z = x + y;

在Java中,比较两个字符串内容是否相同应使用equals()方法,或者使用equalsIgnoreCase方法,前者区分大小写,后者不区分大小写。不可以直接用==,因为这是因为==在这里比较的是存放引用的地方的异同,而不是字符串的内容,达不成我们想要实现的目的。因为==在基本数据类型比较的是数据值,所以可以直接使用,而引用数据类型比较的存放引用的地方,如下图

String s=new String("abc");
String a="abc";

因为s是由new创建出来的,地址在堆区,而a是直接赋值的,地址在栈区。即使内容相等,但因为存放引用的地方不同,所以==出来的结果是false。

5.x是Integer类型,1是int类型,为什么他们可以相加,使用了什么技术?z是int,x与y是Integer类型,却可以直接将x + y 赋给z,使用了什么技术?

x与1进行计算时,会进行自动装箱和拆箱操作。自动装箱是将基本类型转换为对应的包装类,而自动拆箱是将包装类转换为基本类型。在x + 1这个表达式中,x会自动拆箱为int类型,然后进行加法运算。而在将x + y赋给z时,y会自动拆箱为int类型,并且z是int类型,所以是可以的。

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

String x;
int length = x.length();
System.out.println(x.trim());

本意是要获取字符串x的长度,并打印去除前导和尾部空格后的字符串。当时变量x没有被初始化(没有赋予值),所以在调用x.length()方法时会出现错误。所以代码无法运行成功。

查看String的trim()方法的说明,可以查找JDK文档,通过索引可以快速查找。

总结

以上就是对应01周预习作业1.3课前问题列表的回答

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值