25. fun check(a: Int) {
when (a) {
0 -> println(“a == 0”)
1 -> println(“a == 1”)
else -> println(“a != 1 && a != 0”)
}
}
void check(int a) {
switch (a) {
case 0:
System.out.println(“a ==
0”);
break;
case 1:
System.out.println(“a ==
1”);
break;
default:
System.out.println(“a != 1
&& a != 0”);
break;
}
}
26. fun check(a: Int) {
when {
a == 0 -> println(“a == 0”)
a == 1 -> println(“a == 1”)
else -> println(“a != 1 && a != 0”)
}
}
void check(int a) {
switch (a) {
case 0:
System.out.println(“a ==
0”);
break;
case 1:
System.out.println(“a ==
1”);
break;
default:
System.out.println(“a != 1
&& a != 0”);
break;
}
}
27. fun check(a: Object) {
when (a) {
is String -> println(“a is
String”)
else -> println(“a is something else”)
}
}
void check(Object a) {
if (a instanceof String) {
System.out.println(“a is String”);
} else {
System.out.println(“a is something
else”);
}
}
28. While & Do-While - 先判斷還是先執行?
- While 和 Do-while 用法和 Java 或 C 一樣
- 兩者差異在於:
- While 先判斷條件再執行內容
- Do-while 先執行內容一次後再判斷
Kotlin語法 - 迴圈
29. fun loop() {
println(“Enter loop”)
while (1 < 0) {
println(“Executed”)
}
}
// Output:
// Enter loop
fun loop() {
println(“Enter loop”)
do {
println(“Executed”)
} while (1 < 0)
}
// Output:
// Enter loop
// Executed
30. For - 給定一範圍,迭代於該範圍內
- For 接受迭代器 (Iterator) 作為範圍
- 迭代器可以是:
- 數字範圍
- 字串
- 可迭代的資料結構
Kotlin語法 - 迴圈
32. fun loop() {
for (i in 0 .. 100) {
println(i)
}
}
void loop() {
for (int i = 0; i <= 100; i++) {
System.out.println(i);
}
33. fun loop() {
for (i in 0 until 100) {
println(i)
}
}
void loop() {
for (int i = 0; i < 100; i++) {
System.out.println(i);
}
34. fun loop() {
for (i in 0 downTo 100) {
println(i)
}
}
void loop() {
for (int i = 100; i >= 0; i--) {
System.out.println(i);
}
35. fun loop() {
for (i in 0 .. 100 step 2) {
println(i)
}
}
void loop() {
for (int i = 0; i < 100; i += 2) {
System.out.println(i);
}
36. Leetcode - 1952. Three Divisors
- 給定一個數字n,判斷n的因數是否剛剛好有3個
- Example 1:
Input:
n = 3
Output:
false
Note: divisors = [1, 3]
Wrap up - 挑戰時間!
37. Leetcode - 1952. Three Divisors
- Example 2:
Input:
n = 4
Output:
true
Note: divisors = [1, 2, 4]
Wrap up - 挑戰時間!
38. class Solution {
fun isThree(n: Int): Boolean {
var counter = 0
for (i in 1 .. n) {
if (n % i == 0) {
counter++
}
if (counter > 3) {
return false
}
}
return counter == 3
}
}