Java是一种广泛使用的面向对象的编程语言,其设计目标是具有高度的可移植性,可编写一次,到处运行。本报告中的练习题主要涵盖了Java的基础知识,包括关键字、标识符、数据类型、字符串操作、程序控制结构以及对象和类的概念。
1. 关键字:Java的关键字是被语言本身保留的词汇,它们有特殊的含义,如`break`用于跳出循环,`main`是程序的入口点。题目中提到的关键字`goto`、`null`、`false`、`native`等,其中`goto`在Java中不是关键字,而其他选项都是。
2. 标识符:Java的标识符用于命名变量、类、方法等,它们不能是关键字,且必须以字母、下划线、美元符号开头,后续可以是字母、数字、下划线或美元符号。题目中指出`5x`不符合标识符规则,因为它以数字开头。
3. 数据类型:Java有基本数据类型如`int`,它占据4个字节。`float`是浮点型,`new`用于实例化对象,`return`用于返回函数值。题目中的`5000`是一个整型常量,但`078`不是一个合法的八进制整数,因为Java不允许八进制数字以078的形式表示。
4. 字符串操作:`String`类在Java中用于处理字符串,`indexOf`方法用于查找子字符串的索引,`substring`方法用于截取字符串的一部分。在给定的题目中,`s2=s.substring(m+1)`会从第一个`#`后面开始截取字符串,因此输出结果是`67890#123#fgh`。
5. 访问修饰符:`public`、`protected`、`private`分别对应于不同的访问级别,而`final`关键字用于声明常量或防止类、方法、变量被继承或重写。`final`类不能被继承,`final`方法不能被覆盖。
6. 程序执行:Java程序通过`java`命令执行,如`java Hello`,`Hello`是类名。在给定的程序中,正确执行程序并输出`baz=2`的命令是`java Test 4 2 4 2`,因为`args`数组是从0开始的,所以`args[1]`对应`2`。
7. 条件表达式和流程控制:`x>y ? x+2 : u>v ? u-3 : v+2`是一个三元条件表达式,根据条件决定执行哪个分支。在给定的变量设置下,输出结果是`6`。
8. 类和对象:每个Java类实例都有独立的内存空间,但静态成员变量共享同一内存,不随对象的创建而分配。`main`方法是程序的入口点,但不是每个类都必须包含它。
9. 类型转换和位运算:`x>>1`是对整数`x`进行右移一位的操作,等同于除以2,结果是`36`,不进行浮点数转换。
10. 变量和方法:`final`修饰符用于声明常量或防止重写,与访问控制无关。
11. 对象和继承:`final`修饰的类不能被继承,其方法也不能被覆盖,但可以在子类中调用。
通过这些练习题,我们可以看到Java语言的基础知识和编程规范,包括语法、类型系统、字符串处理、流程控制、对象和类的概念,这些都是学习Java编程时必须掌握的核心内容。