B4X 程式語言基於 BASIC 語言,但進行了現代化和簡化,讓它更適合現代應用程式的開發。B4X 的語法簡單、易讀、且直觀,非常適合初學者。同時,它又具備強大的功能,足以支援複雜的專案。
B4X 語言的基礎構成包括關鍵字、變數、運算子和控制結構。它不像其他語言那樣依賴於大括號或分號,而是以縮排和換行來劃分程式結構。這讓程式碼更容易閱讀和維護。
基本的語法結構如下:
• Sub 與 End Sub:定義一個子程序。子程序是可以被重複使用的程式碼塊。
• If…Then…Else:條件判斷結構。
• For…Next、Do…While、Do…Until:循環結構。
在 B4X 中,變數是用來存儲資料的名稱容器。B4X 語言支援的主要資料型態包括:
• Boolean: 用於存儲 True 或 False 值。
• Int: 整數型態,範圍在 -2,147,483,648 到 2,147,483,647 之間。
• Long: 大範圍整數型態。
• Float: 單精度浮點數,適合表示小數。
• Double: 雙精度浮點數,比 Float 更精確。
• String: 字符串,用於存儲文本。
• Array: 陣列,可以存放多個相同類型的值。
B4X 語言中的變數宣告使用 Dim 關鍵字,後接變數名稱和選擇性的型態。例如:
basic
程式碼範例
Dim x As Int
Dim name As String
Dim isActive As Boolean
如果不指定型態,B4X 將自動根據賦予的值來推斷型態。變數宣告後,可以通過賦值來存放資料:
basic
程式碼範例
x = 10
name = "John"
isActive = True
B4X 也支援複合資料型態如列表(List)和字典(Map),它們在實際開發中非常實用。列表是一種有序的集合,而字典則是一種鍵值對集合:
basic程式碼
Dim numbers As List
numbers.Initialize
numbers.Add(1)
numbers.Add(2)
Dim dict As Map
dict.Initialize
dict.Put("key1", "value1")
dict.Put("key2", "value2")
B4X 提供了豐富的控制結構,允許開發者靈活地控制程式的執行流程。這些控制結構包括條件語句、循環語句和選擇語句等。
1. 條件語句:最基本的條件語句是 If...Then...Else,用於根據特定條件執行不同的程式碼塊。例如:
basic
程式碼範例
Dim score As Int = 85
If score >= 90 Then
Log("優秀")
Else If score >= 60 Then
Log("及格")
Else
Log("不及格")
End If
這裡,根據分數的不同,程式會輸出不同的評價。
2. 循環語句:B4X 支援多種循環語句來處理重複操作,如 For...Next、Do...While、和 Do...Until。
• For...Next:適合用於已知次數的循環:
basic程式碼範例
For i = 1 To 5
Log(i)
Next
這段程式會輸出1到5的數字。
• Do...While 和 Do...Until:用於未知次數的循環,根據條件決定是否繼續執行:
basic
程式碼範例
Dim count As Int = 0
Do While count < 3
Log(count)
count = count + 1
Loop
這段程式會輸出0到2的數字。
3. 選擇語句 (Select Case):用於多條件的選擇語句,類似於多重 If...Else:
basic程式碼範例
Dim grade As Char = "B"
Select grade
Case "A"
Log("優秀")
Case "B"
Log("良好")
Case "C"
Log("中等")
Case Else
Log("需努力")
End Select
這段程式會根據 grade 的值輸出對應的訊息。
以下範例程式展示了如何在 B4X 中使用基本的語法、變數、資料型態,以及控制結構來實作一個簡單的計算機應用程式。該應用程式接受兩個整數輸入,然後執行加法或減法操作,並顯示結果。
basic程式碼範例
Sub Process_Globals
' 全域變數在這裡宣告
End Sub
Sub Globals
' 活動(Activity)變數宣告
Private edtNumber1 As EditText
Private edtNumber2 As EditText
Private lblResult As Label
Private btnAdd As Button
Private btnSubtract As Button
End Sub
Sub Activity_Create(FirstTime As Boolean)
' 設定介面佈局
Activity.LoadLayout("Layout1")
' 初始化UI元件
edtNumber1.Initialize("edtNumber1")
edtNumber2.Initialize("edtNumber2")
lblResult.Initialize("")
btnAdd.Initialize("btnAdd")
btnSubtract.Initialize("btnSubtract")
' 設定按鈕文字
btnAdd.Text = "加"
btnSubtract.Text = "減"
' 設定UI元件佈局
Activity.AddView(edtNumber1, 10dip, 10dip, 80%x, 60dip)
Activity.AddView(edtNumber2, 10dip, 80dip, 80%x, 60dip)
Activity.AddView(btnAdd, 10dip, 150dip, 80dip, 60dip)
Activity.AddView(btnSubtract, 100dip, 150dip, 80dip, 60dip)
Activity.AddView(lblResult, 10dip, 220dip, 100%x - 20dip, 60dip)
End Sub
Sub btnAdd_Click
' 取得輸入值並執行加法
Dim num1 As Int = edtNumber1.Text
Dim num2 As Int = edtNumber2.Text
Dim result As Int = num1 + num2
lblResult.Text = "結果: " & result
End Sub
Sub btnSubtract_Click
' 取得輸入值並執行減法
Dim num1 As Int = edtNumber1.Text
Dim num2 As Int = edtNumber2.Text
Dim result As Int = num1 - num2
lblResult.Text = "結果: " & result
End Sub
範例解說
• 這個簡單的計算機應用程式允許用戶輸入兩個整數,然後選擇加法或減法來計算結果。
• Activity_Create 子程序負責設定介面佈局和初始化各個 UI 元件。
• btnAdd_Click 和 btnSubtract_Click 子程序分別處理加法和減法運算,並將結果顯示在標籤 lblResult 中。
參考網址
https://www.b4x.com/b4a.html
https://www.b4x.com/teach.html