跳去內容

資料類型

出自維基百科,自由嘅百科全書

資料類型,英文:data type,喺電腦科學上係某件電腦資料會有嘅一個特性,大致可以理解為係話俾個編譯器或者直譯器知,個設計者打算點樣用呢份資料。

基本概論

[編輯]
睇埋:程式語言同資料

常見嘅資料類型包括以下呢啲,呢啲資料類型,Python 等嘅好多主流程式語言都會支援。

  • 整數 integer:指該件資料表示緊一個整數。
  • 浮點數 float:指該件資料表示緊一個可以係小數嘅實數。
  • 字符 character:指該件資料表示緊一個文字等非數字嘅符號。
  • 布林 Boolean:指該件資料表示緊一個真假值,當中好多時都係真用 1 代表,而假則用 0 代表。

舉個簡化嘅例子,想像依家電腦收到個訊號,00001,若果呢個訊號標明咗係整數資料,噉部電腦就知呢段訊號代表緊 1 呢個數值,但如果個訊號標明咗係布林資料,噉呢段訊號所代表嘅係真確。因此,搞清楚資料類型對電腦嘅正常運作嚟講好重要。

程式語言

[編輯]

喺寫程式嗰陣,每個變數同常數都會有佢嘅資料類型,亦有程式語言係曉自動噉探測件資料嘅類型,例子有 Python。如果用家嘗試將一個類型唔啱嘅數值,加落去一件資料嗰度-例如個程式嘅開頭講明咗 x 呢個變數屬於整數,但程式半路出現 x = "Hello",即係將 x 設做 "Hello" 呢條字串,噉嘅碼,喺多數程式語言中都會搞到個程式出錯[1][2]。

C++

[編輯]

喺 C++ 入便,用家設定變數嗰陣,一定要指明個變數係邊種資料類型。一旦定咗類型,就冇得隨便改,編譯器喺程式行之前,會檢查類型係咪正確。

#include <iostream>
#include <string>

int main() {
    int myNumber = 10;          // 必須指明係 int (整數)
    float myFloat = 5.5;        // 必須指明係 float (浮點數)
    std::string myText = "Hi";  // 必須指明係 string (字串)

    // 如果嘗試寫 myNumber = "Hello"; 喺編譯嗰陣就會報錯
    return 0;
}

Python

[編輯]

相比之下,Python 就係一種動態程式語言。用家寫程式嗰陣唔洗預先宣告資料類型,Python 嘅直譯器會喺程式行到去嗰行hong4嘅時候,自動根據個數值嚟「推斷」個變數係乜嘢類型。

# Python 會自動探測資料類型
my_number = 10          # Python 自動當佢係整數 (int)
my_float = 5.5          # Python 自動當佢係浮點數 (float)
my_text = "Hello"       # Python 自動當佢係字串 (str)

# 你甚至可以喺程式中途將唔同類型嘅數值加落去同一個變數
my_variable = 100       # 依家係整數
my_variable = "Now I am a string"  # 依家變咗字串,Python 唔會報錯

Swift

[編輯]
import Foundation

var myNumber: Int = 10        // 必須指明係 Int (整數)
var myFloat: Float = 5.5      // 必須指明係 Float (浮點數)
var myText: String = "Hi"     // 必須指明係 String (字串)

// 如果嘗試寫 myNumber = "Hello" 會喺編譯時報錯

Javascript

[編輯]
let myNumber = 10;     // 不需要指明型別
let myFloat = 5.5;
let myText = "Hi";

// JavaScript 係動態型別,可以咁做:
myNumber = "Hello";   // 唔會即時報錯,但可能導致 bug

Java

[編輯]
public class Main {
    public static void main(String[] args) {
        int myNumber = 10;        // 必須指明係 int (整數)
        float myFloat = 5.5f;     // float 要加 f
        String myText = "Hi";     // 必須指明係 String (字串)

        // 如果寫 myNumber = "Hello"; 會編譯錯誤
    }
}
#include <stdio.h>

int main() {
    int myNumber = 10;        // 必須指明係 int (整數)
    float myFloat = 5.5;      // 必須指明係 float (浮點數)
    char myText[] = "Hi";     // 字串用 char array

    // 如果寫 myNumber = "Hello"; 會編譯錯誤
    return 0;
}

PHP

[編輯]
<?php

$myNumber = 10;        // 不需要指明型別(整數)
$myFloat = 5.5;        // 浮點數
$myText = "Hi";        // 字串

// PHP 係動態型別,可以改變變數類型
$myNumber = "Hello";   // ✅ 唔會報錯,但可能導致 bug

?>

睇埋

[編輯]

引咗

[編輯]
  1. ↑ Shaffer, C. A. (2011). Data Structures & Algorithm Analysis in C++ (3rd ed.). Mineola, NY: Dover. 1.2.
  2. ↑ Cleaveland, J. Craig (1986). An Introduction to Data Types. Addison-Wesley.