Oracle 认证Java助理 (OCA) 考试准备
朋友们!我最近参加了 OCA 考试并获得了 95% 的分数。在这里,我将分享一些技巧和考试题型,这些技巧和考试题型在 OCA 考试中一定会对您有所帮助。该考试保证就以下主题提出问题,或者我们可以说出陈述。
考试代码:1Z0-808
1.必须练习str1 == str2和str1.equals(str2)的区别。
示例 1.1 :
class Test {
public static void main(String[] args)
{
String s = new String("hello");
String s2 = "hello";
if (s == s2) {
System.out.println("==");
}
if (s.equals(s2)) {
System.out.println("equals");
}
}
}
equals
原因:因为 String 类等于方法比较对象,但 ==运算符只比较引用。如果两个引用都指向同一个对象,那么只有 ==运算符返回 true。
示例 1.2 :
class Test {
public static void main(String[] args)
{
String s = new String("hello");
String s2 = s;
if (s == s2) {
System.out.println("==");
}
if (s.equals(s2)) {
System.out.println("equals");
}
}
}
==
equals
原因:因为两个引用都指向同一个对象,所以打印“==”,如果两个引用都指向同一个对象,所以默认情况下它们相等,所以打印“等于”。
2.研究三元运算符及其编译时错误。
示例 2.1 :
class Test {
public static void main(String[] args)
{
int marks = 90;
String result = marks > 35 ? "Pass" : "Fail";
System.out.println(result);
}
}
Pass
示例 2.2 :
class Test {
public static void main(String[] args)
{
int marks = 90;
String result = marks > 60 ? "Pass with 1st div."
: marks < 50 ? "Pass with 2nd div." :
marks < 40 ? "Pass with 3nd div.";
System.out.println(result);
}
}
输出:编译时错误
原因:分数<40? “通过第 3 格。”没有完成。
更正:标记 < 40 ? “通过第 3 格。” :“失败” 。
3.研究“字符串对象是不可变的”规则。
示例-3.1 :
class Test {
public static void main(String[] args)
{
String ta = "A ";
ta = ta.concat("B ");
String tb = "C ";
ta = ta.concat(tb);
ta.replace('C', 'D');
ta = ta.concat(tb);
System.out.println(ta);
}
}
A B C C
4. Lambda 表达式及其简化形式。
Java Lambda 表达式语法:
(参数列表)-> {body}
4.1 Lambda 表达式示例:无参数
// This a java method
void printHello()
{
System.out.println("Hello World ");
}
Or
// As lambda the above method can be written as below
() -> { System.out.println("Hello World "); };
Or
// {} is optional for single line statement
() -> System.out.println("Hello World ");
4.2 Lambda 表达式示例:单参数
// This a java method
void sayHello(String name)
{
System.out.println("Hello " + name);
}
Or
(name) -> { System.out.println("Hello " + name); };
Or
// {} optional
(name) -> System.out.println("Hello " + name);
Or
// () optional for single input parameter.
name -> System.out.println("Hello " + name);
4.3 Lambda表达式示例:多参数
// This a java method
int add(int num1, int num2)
{
return num1 + num2;
}
Or
(int num1, int num2) -> { return num1 + num2; };
Or
(int num1, int num2) -> num1 + num2;
Or
// () mandatory for more than one input parameter.
(num1, num2) -> num1 + num2;
5. 研究 &(Bitwise AND) 和 &&(Logical AND) Operator 的区别。
示例 5.1 :
class Test {
public static void main(String[] args)
{
int a = 10;
int b = 20;
if (++a <= 10 && --b < 20) {}
System.out.println("Output of && operator: "
+ "a = " + a + " b = " + b);
System.out.println("-------------");
a = 10;
b = 20;
if (++a <= 10 & --b < 20) {}
System.out.println("Output of & operator: "
+ "a = " + a + " b = " + b);
}
}
Output of && operator: a = 11 b = 20
-------------
Output of & operator: a = 11 b = 19
原因:因为如果第一个操作数的值为 'false', '&&'运算符不会检查第二个操作数。但是'&'必须检查两个操作数。
注意:这些概念肯定涵盖了 OCA 考试中的 10 到 12 个问题。