{%hackmd @ZZRT/CSS %}
# <span class="block"> Lesson 1 </span>
---
## 基礎概念-First Java Program
----
在Java中,每行程式都要放在class中,這裡的例子是**FRC**
```java=
class FRC {
public static void main(String[] arg) {
System.out.println("Wellcome to 8129~");
}
}
```
在程式中需要個起始方法,而這起始方法(method)就是main
----
上述的程式介紹
- public: 如果想使用其他類別或物件,該類別或物件必須設為公開,由public做宣告
- static: 用於記憶體管理,可用在類別、方法、變數(variety)、區塊
- void: 方法不會回傳值
- main: 方法的名稱
- println: 用來輸出的方法,透過System(class)、out(stream)來使用
- 以分號結尾
---
## 變數
----
```java=
int number = 8129; // 整數
boolean b = true; // 布林值
char c = 'Q'; // 字元
String s = "FRC8129"; // 字串
float f = 3.14; // 浮點數
double d = 9.823948;
```
```java=
public final int value;
```
```java=
private Solenoid c1, c2;
```
不同的類別,
---
## 比較算子
----
| 算子 | 中文
|:- | :- |
|`>、<`| 大於、小於 |
|`>=、<=`| 大於等於、小於等於|
|`==`| 等於 |
|`!=`| 不等於 |
----
### if
> `if <布林值> :`
**如果**布林值為真(True) 執行區塊內的程式碼
別忘記冒號和縮排哦
```java=1
# a > b 會回傳一個布林值
if (a > b) {
System.out.println("a大於b");
}
```
----
### else if
> `elif <布林值> :`
**否則如果**
當if沒有執行 就會進到`else if`區塊
```java=5
else if (a < b) {
System.out.println("a小於b");
}
```
也可以連用多個else if哦
----
### else
**否則**
當所有的條件式都未成立
進入`else`區塊
```java=9
else {
System.out.println("a等於b")
}
```
---
## 運算子
----
| 運算子 | 使用 | 輸出 |
|:- |:- | :- |
|加 (`+`)|`5 + 2`| `7` |
|減 (-)|`5 - 2`| `3` |
|除 (/)|`5 / 2`| `2.5` |
|乘 (*)|`5 * 2`| `10` |
|取模 (%)|`25 % 4`| `1` |
----
### 特別的使用技巧
```java=
int a = 1;
a++; // a = a + 1
++a; // a = a + 1
//只適用於加和減
a += 3; // a = a + 3
//加減乘除皆可這樣使用
```
----
### 差異
`++a` 和 `a++`差在哪裡呢?
----
++a 是先加, 反之
```java=
int a = 2, b = 2;
System.out.println(a++) // a = 2
System.out.println(++b) // b = 3
```
---
## Loops 迴圈
----
### while loops
----
```java=
while (condiditon) {
statements...;
}
```
----
範例
```java=
int x = 0;
while (x<4) {
System.out.println(x);
x++;
}
/*
輸出
0
1
2
3
loop end
*/
```
----
## for loops
----
```java=
for (initialization; condition; increment/decrement) {
statements...
}
```
----
範例
```java=
for (int i = 0; i < 4; ++i) {
System.out.println(i);
}
/*
輸出
0
1
2
3
*/
```
{"metaMigratedAt":"2023-06-16T21:08:32.621Z","metaMigratedFrom":"YAML","title":"Lesson 1","breaks":true,"slideOptions":"{\"transition\":\"fade\",\"parallaxBackgroundSize\":\"2100px 1000px\",\"defaultTiming\":120}","contributors":"[{\"id\":\"a41c05df-55bf-44dc-9b5f-6e53858b0a77\",\"add\":2655,\"del\":111},{\"id\":\"35809032-c270-45a6-adab-a7e7a63da25b\",\"add\":2,\"del\":2}]"}