目录
2.Java号称“一次编译、处处运行”(Write Once, Run Anywhere!),怎么理解这句话?为使编译好的程序能运行,需先在操作系统安装什么?
3.对比c版本的与Java版本HelloWorld代码,有何不同?
4.怎么比较两个字符串内容是否相同?可以直接用==吗?为什么对基本数据类型可以直接使用==?对引用数据类型不行?
5.下面这段代码,本意是要达到什么效果?能运行成功吗?为什么?怎么获得String的trim()方法的说明?
1.使用Java能编写哪些类型的程序?
Java是一种通用的、面向对象的编程语言。它可以编写web应用程序、游戏开发、图形界面开发等等。
2.Java号称“一次编译、处处运行”(Write Once, Run Anywhere!),怎么理解这句话?为使编译好的程序能运行,需先在操作系统安装什么?
2.1.1 Java程序的编写是具有跨平台性的,只要该平台上有支持java运行的虚拟机即可。
2.1.2 Java源代码首先被编译成字节码(.class文件),这是一种中间形式的代码,不用特定于某个操作系统。
2.2 为使编译好的Java程序能运行,我们要在操作系统上安装JDK和JRE。JDK主要用于开发,是Java的开发工具包,包含了编译Java所需的编译器javac以及其他工具;JRE是Java的运行环境,包含了虚拟机和各种库,如果只需要运行Java程序,而不是开发它们,那么安装JRE就足够了。
3.对比c版本的与Java版本HelloWorld代码,有何不同?
3.1 C是过程式语言,Java是面向对象的语言。
3.2 C语言的输入输出是使用
printf
和scanf
等函数,而Java是使用System.out
和Scanner
类。3.3 C要使用头文件调用库,而Java使用类来组织代码。
4.怎么比较两个字符串内容是否相同?可以直接用==吗?为什么对基本数据类型可以直接使用==?对引用数据类型不行?
4.1 可以使用
String
类的equals()
方法比较字符串内容是否相同。4.2 不能直接使用
==
运算符。4.3 Java是面向对象编程,
==
运算符是用于比较两个引用是否指向同一个对象,而不是比较对象的内容。两个对象的内容相同,如果它们存储在不同的内存地址,==
运算符也会返回false。4.4 基本数据类型不是对象,使用==运算符可以直接比较他们的值是否相等。
5.下面这段代码,本意是要达到什么效果?能运行成功吗?为什么?怎么获得String的trim()方法的说明?
String x = null;
int length = x.length();
System.out.println("x.length = "+length +", content = "+x.trim());
5.1 这段代码的本意是想打印出字符串
x
的长度和字符串的内容。5.2 不能成功运行。因为变量
x
被初始化为null
,这意味着它没有指向任何对象。5.3 可以从JDK文档中检索String类中trim()方法的说明。
6.阅读如下代码
Integer x = Integer.valueOf("10");
Integer y = x + 1;
int z = x + y;
x是Integer类型,1是int类型,为什么他们可以相加,使用了什么技术?z是int,x与y是Integer类型,却可以直接将x + y 赋给z,使用了什么技术?
6.1
Integer
是int
的包装类,在相加时x会自动拆箱为int类型再与1相加。6.2 运用了自动装箱和自动拆箱的技术。