✨Câu lệnh switch

Câu lệnh switch

Trong các ngôn ngữ lập trình máy tính, câu lệnh switch hay câu lệnh chuyển đổi (tiếng Anh: 'switch statement') là một loại cơ chế điều khiển lựa chọn để cho phép giá trị của một biến hay biểu thức thay đổi luồng điều khiển của một chương trình thực thi thông qua tìm kiếm và ánh xạ.

Chức năng của câu lệnh switch có gì đó tương tự với câu lệnh if được sử dụng trong ngôn ngữ lập trình như C/C++, C#, Visual Basic.NET, Java và tồn tại trong hầu hết các ngôn ngữ lập trình mệnh lệnh cấp cao như Pascal, Ada, C/C++, C#, Visual Basic.NET, Java, và trong nhiều loại ngôn ngữ khác, dùng các từ khóa như switch, case, selectinspect.

Câu lệnh switch có hai biến thể: một là switch có cấu trúc như trong Pascal, vốn thực thi chính xác trong một nhánh, và switch không cấu trúc như trong C, với chức năng như một loại goto. Các lý do chính để dùng switch bao gồm cải thiện sự rõ ràng bằng cách giảm thiểu sự lặp lại của mã nguồn, và (nếu heuristic cho phép) cũng cho phép những tiềm năng để thực thi nhanh hơn thông qua tối ưu hóa trình biên dịch trong nhiều trường hợp.

Lịch sử

Trong bài viết Introduction to Metamathematics năm 1952, Stephen Kleene đã chính thức chứng minh rằng hàm CASE (là hàm IF-THEN-ELSE ở dạng đơn giản nhất) là một hàm đệ quy nguyên tố (primitive recursive function), trong đó ông định nghĩa khái niệm definition by cases theo cách sau:

:"#F. The function φ defined thus :: φ(x1 , ... , xn ) = :::φ1(x1 , ... , xn ) if Q1(x1 , ... , xn ), ::: . . . . . . . . . . . . :::φm(x1 , ... , xn ) if Qm(x1 , ... , xn ), :::φm+1(x1 , ... , xn ) otherwise,

Cú pháp điển hình

👁️ 1 | 🔗 | 💖 | ✨ | 🌍 | ⌚
Trong các ngôn ngữ lập trình máy tính, **câu lệnh switch** hay **câu lệnh chuyển đổi** (tiếng Anh: **'switch statement**') là một loại cơ chế điều khiển lựa chọn để cho phép giá trị của
Mô tả Factory method bằng [[Unified Modeling Language|UML]] **Factory method**, đầy đủ là **Factory method pattern**, là thiết kế mẫu hướng đối tượng trong việc thiết kế phần mềm cho máy tính, nhằm giải quyết
**_The Elder Scrolls V: Skyrim_** là một trò chơi điện tử nhập vai hành động thế giới mở do Bethesda Game Studios phát triển và được Bethesda Softworks phát hành. Đây là phần thứ năm
**Cú pháp ngôn ngữ (lập trình) C** là tập hợp các quy tắc nhằm xác định cách thức để viết và dịch trong ngôn ngữ lập trình C. :Thí dụ:
 // Dòng này sẽ
**Mục đích** Định nghĩa và bao bọc các thuật toán có cùng mục đích trong những lớp có giao diện chung. Làm cho sự thay đổi thuật toán trở nên linh động và độc lập
Trong lập trình máy tính, đặc biệt là khi sử dụng mô phạm lập trình mệnh lệnh, **assertion** (có thể dịch là **xác quyết**) là một vị ngữ (tức hàm có giá trị Boolean lên
**_Animal Crossing: New Horizons_** là một trò chơi mô phỏng xã hội ra mắt năm 2020 do Nintendo phát triển và phát hành cho Nintendo Switch; đây là phần chính thứ năm trong loạt _Animal
**_Assassin's Creed Odyssey_** là một trò chơi nhập vai hành động do Ubisoft Quebec phát triển và Ubisoft xuất bản. Đây là phần chính thứ mười một trong loạt _Assassin's Creed_ và kế thừa _Assassin's
phải|nhỏ|402x402px|[[Mã nguồn của một chương trình máy tính đơn giản được viết bằng ngôn ngữ lập trình C. Khi được biên dịch và chạy, nó sẽ cho kết quả "Hello, world!".]] **Ngôn ngữ lập trình**
**Junos OS** (còn gọi là **Hệ điều hành Mạng Juniper**) là hệ điều hành dựa trên FreeBSD được sử dụng trong các bộ định tuyến phần cứng của hãng Juniper Networks. Đây là một
**_Final Fantasy IX_** là một trò chơi điện tử nhập vai do Squaresoft phát triển và phát hành cho hệ máy PlayStation vào năm 2000. Nó là tác phẩm thứ chín của dòng chính loạt
Trong lập trình máy tính, **Hợp ngữ** (hay **assembly**) thường được viết tắt là **asm** là bất kỳ ngôn ngữ lập trình cấp thấp nào có sự tương ứng rất mạnh giữa các tập lệnh
là một trò chơi nhập vai chiến thuật do Intelligent Systems và Nintendo R & D1 phát triển, Nintendo xuất bản cho Famicom. Đây là phần đầu tiên trong loạt _Fire Emblem _và xuất bản
**_Minecraft_** là trò chơi điện tử sandbox được phát triển và phát hành bởi Mojang Studio. Trò chơi được tạo bởi Markus "Notch" Persson bằng ngôn ngữ lập trình Java. Sau khi thử nghiệm một
là một trò chơi điện tử chặt và chém phiêu lưu hành động do PlatinumGames phát triển và Nintendo phát hành trên Wii U và Nintendo Switch. Đây là phần tiếp theo của _Bayonetta_ năm
**C** là một ngôn ngữ mệnh lệnh được phát triển từ đầu thập niên 1970 bởi Dennis Ritchie để dùng trong hệ điều hành UNIX. Từ đó, ngôn ngữ này đã lan rộng ra nhiều
**C++** (**C Plus Plus**, **CPP,** IPA: /siː pləs pləs/) là một ngôn ngữ lập trình đa năng bậc cao (high-level) được tạo ra bởi Bjarne Stroustrup như một phần mở rộng của ngôn ngữ lập
thumb|Minh họa mã nguồn [[Java (programming language)|Java với comment **mở đầu** được biểu thị bằng màu **đỏ** và comment **nội dòng** bằng màu **lục**. **Mã chương trình** là bằng màu **lam**.]]Trong lập
**Minecraft: Story Mode** là một trò chơi điện tử phiêu lưu trỏ và nhấp được xuất bản bởi Telltale Games, dựa trên trò chơi thế giới mở Minecraft. Trò chơi gồm năm tập, được phát
**_Ni no Kuni: Wrath of the White Witch_** là trò chơi điện tử nhập vai do hãng Level-5 và Studio Ghibli cùng phối hợp phát triển. Trò chơi phát hành cho PlayStation 3 ở Nhật
**_Outlast 2_** (cách điệu là **OUTLASTII**) là một trò chơi điện tử thuộc thể loại kinh dị sinh tồn góc nhìn thứ nhất được phát triển bởi studio Red Barrels. Đây là phần tiếp theo
**_Octopath Traveler_** là một trò chơi điện tử nhập vai theo lượt do Square Enix phát triển, phối hợp với Acquire. Tháng 7 năm 2018 trò chơi phát hành trên Nintendo Switch, tháng 6 năm
**_Crysis_** là trò chơi điện tử khoa học viễn tưởng bắn súng góc nhìn thứ nhất phát triển bởi Crytek (chi nhánh tại Frankfurt, Đức) và phát hành bởi Electronic Arts cho hệ điều hành
**_Valiant Hearts: The Great War_** (tạm dịch: _Trái Tim Quả Cảm: Cuộc Đại Chiến_) là một trò chơi giải đố, phiêu lưu được phát triển bởi Ubisoft Montpellier và được phát hành bởi Ubisoft. Trò
**_Mortal Kombat 11_** là phần thứ 11 của trò chơi điện tử đối kháng Mortal Kombat, do NetherRealm Studios sản xuất và Warner Bros. Interactive Entertainment phân phối. Game ra mắt ngày 23 tháng 4
là một series visual novel dành cho người lớn được phát triển bởi NEKO WORKs và phát hành bởi Sekai Project. Trò chơi đầu tiên trong series, Nekopara Vol. 1, được phát hành vào tháng
**Doom** là trò chơi máy tính thuộc thể loại FPS ra đời năm 1993 mang tính bạo lực và kinh dị rùng rợn. Cốt truyện lấy bổi cảnh ở một tương lai xa xôi. Khi
**_Steins;Gate_** là một visual novel phát triển bởi 5pb. và Nitroplus. Đây là game thứ 2 thuộc loạt _Science Adventure_, sau _Chaos;Head_. Cốt truyện theo chân một nhóm học sinh khi họ tìm ra và
**_Assassin's Creed IV: Black Flag_** là tên một game hành động phiêu lưu ẩn nấp lấy bối cảnh là một thế giới mở ở góc nhìn thứ ba được sản xuất vào năm 2013 và
**Mạng thiết bị di động** hay **mạng di động**, **mạng mobile** (tiếng Anh: _cellular network_, nghĩa là _mạng tế bào_) là một mạng vô tuyến bao gồm một số lượng các _tế bào vô tuyến_
là một loại tiểu thuyết tương tác với tính năng rõ rệt nhất là đồ họa tĩnh, thường sử dụng phong cách nghệ thuật của anime hoặc đôi khi là ảnh thật hay một số
là một visual novel nói về thời kỳ hậu tận thế được phát triển bởi hãng phần mềm Key, một thương hiệu thuộc Visual Art's chuyên sản xuất các visual novel, nơi đã cho ra
**Assassin's Creed: Revelations** là trò chơi điện tử hành động phiêu lưu lén lút, được phát triển và phát hành bởi Ubisoft. Game được bán ra cho XBOX 360 và Play Staion 3 vào tháng
Thế hệ thứ tám của máy chơi trò chơi điện tử bắt đầu vào năm 2012, gồm ba máy chơi trò chơi điện tử tại gia: Wii U phát hành vào năm 2012, dòng PlayStation
là một công ty kinh doanh hàng tiêu dùng điện tử và trò chơi điện tử đa quốc gia của Nhật Bản có trụ sở chính tại Kyoto. Công ty thành lập vào năm 1889
**Cisco IOS** (__'Internetwork Operating System) là hệ điều hành đa nhiệm được sử dụng rộng rãi trên các sản phẩm Router và Switch của hãng Cisco (Switch cũ hơn sử dụng CatOS). IOS hỗ trợ
**_Science Adventure_** là một chuỗi các trò chơi video tiểu thuyết trực quan khoa học viễn tưởng được phát triển bởi 5pb., Nitroplus và Chiyomaru Studio. Game đầu tiên trong _sê-ri_ là _Chaos;Head_, được phát
**Nối-chuyển** (Anh ngữ: _switching_), còn được gọi là **chuyển mạch**, là một kỹ thuật thông dụng trong việc thiết kế các mạng. Kỹ thuật này được dùng để định tuyến cho việc dẫn truyền dữ
**_Genshin Impact_** là một trò chơi hành động nhập vai sinh tồn phiêu lưu trong thế giới mở do miHoYo của Trung Quốc phát triển. Genshin Impact là IP được miHoYo phát triển tiếp nối
- còn được gọi là series **Câu chuyện của Ác ma** là một series Video âm nhạc sử dụng phần mềm tổng hợp giọng nói Vocaloid của Yamaha. Tới thời điểm hiện tại, series đã
Minh hoạ cách truyền thông tin của kỹ thuật [[Nối-chuyển mạch]] **Chuyển mạch vòng (**còn gọi là **chuyển mạch kênh)** hay ngắn gọn hơn **chuyển mạch** (**tiếng Anh** là **circuit-switching**), là một kỹ thuật nối-chuyển
**_Deus Ex_** là một trò chơi hành động nhập vai chủ đề cyberpunk — kết hợp các yếu tố của trò chơi bắn súng góc nhìn người thứ nhất và nhập vai — được phát
**Shantae** là series trò chơi điện tử platform do WayForward Technologies phát triển và phát hành, riêng tựa game đầu tiên vốn do Capcom phân phối. Nhân vật nữ chính cùng tên với series là
**Thư viện liên kết động** (tiếng Anh: Dynamic Link Library - viết tắt: **DLL**) là một thành phần của các phần mềm. Đặc điểm của nó là có tính khả chuyển cao, nhờ đó mà
**The Pirate Bay** (thường được viết tắt là **TPB**) là một website chia sẻ dữ liệu số, người dùng có thể tìm kiếm, tải dữ liệu qua Magnet link và file torrent, sử dụng giao
**TELNET** (viết tắt của Terminal network) là một giao thức mạng (_network protocol_) được dùng trên các kết nối với Internet hoặc các kết nối tại mạng máy tính cục bộ LAN. Tài liệu của
(), tên đầy đủ là , là thương hiệu nhượng quyền truyền thông được quản lý bởi The Pokémon Company, một tập đoàn Nhật Bản giữa Nintendo, Game Freak và Creatures. Bản quyền nhượng quyền
**OpenWrt** là một hệ điều hành /hệ điều hành nhúng dựa trên nhân Linux, và chủ yếu được sử dụng trên các thiết bị nhúng vào mạng lưới định tuyến đường truyền. Các thành phần
thumb|Các ngôn ngữ ở Hồng Kông Luật Cơ bản của Hồng Kông quy định tiếng Anh và tiếng Trung là hai ngôn ngữ chính thức của Hồng Kông. Trong thời kỳ thuộc địa của Anh,
thumb|481x481px|Một thiết kế đường ống của kiến trúc MIPS. Đường ống là một khái niệm quan trọng trong kiến trúc máy tính. Trong kỹ thuật máy tính, **kiến trúc máy tính** () là thiết kế