Java Core Lesson 3: Quy tắc đặt tên, kiểu dữ liệu và ép kiểu, toán tử, cấu trúc điều khiển và rẽ nhánh

Tram Ho

Java là một trong những ngôn ngữ lập trình phổ biến nhất hiện nay với rất nhiều ứng dụng trên khắp thế giới. Trong bài học này, chúng ta sẽ tìm hiểu về quy tắc đặt tên, kiểu dữ liệu và ép kiểu, toán tử, cấu trúc điều khiển và rẽ nhánh. Việc hiểu và sử dụng thành thạo các khái niệm này sẽ giúp bạn trở thành một lập trình viên Java giỏi. Hãy bắt đầu học các khái niệm này ngay bây giờ!

Quy tắc đặt tên

Trong Java, việc đặt tên cho biến, hằng, phương thức và lớp rất quan trọng và ảnh hưởng đến tính đồng nhất và dễ đọc của mã. Dưới đây là các quy tắc đặt tên cơ bản trong Java:

  1. Tên các biến và phương thức nên được bắt đầu bằng một chữ cái viết thường, và sau đó là các chữ cái tiếp theo viết hoa, không sử dụng khoảng trắng.

  1. Tên lớp nên được bắt đầu bằng một chữ cái viết hoa và nên sử dụng kiểu đặt tên CamelCase (tức là, các từ tiếp theo sẽ được viết hoa).

  1. Tên hằng số nên được viết hoa toàn bộ và các từ cách nhau bằng dấu gạch dưới (_).

  1. Tên gói (package) nên được viết bằng chữ thường, các từ cách nhau bằng dấu chấm.

  1. Tên các biến, phương thức, lớp và hằng số nên được đặt một cách có ý nghĩa và mô tả được nội dung.

  1. Tránh sử dụng các từ khóa (keywords) của Java làm tên biến, phương thức, lớp hoặc hằng số.

  1. Tránh sử dụng các ký tự đặc biệt như @, $, # trong tên biến, phương thức, lớp hoặc hằng số.

  1. Sử dụng tiếng Anh khi đặt tên biến, phương thức, lớp hoặc hằng số.

  1. Các tên phải có độ dài hợp lý, không quá ngắn hoặc quá dài.

Những quy tắc đặt tên này giúp cho mã của bạn trở nên dễ đọc và hiểu hơn, đồng thời cũng giúp cho mã của bạn đáp ứng các tiêu chuẩn lập trình Java.

Các kiểu dữ liệu và ép kiểu

Java là một ngôn ngữ lập trình có kiểu dữ liệu tĩnh, có nghĩa là bạn phải khai báo kiểu dữ liệu cho các biến trước khi sử dụng chúng.

  1. Dữ liệu nguyên thuỷ (primitive data types)

Có 8 kiểu dữ liệu nguyên thuỷ, được liệt kê trong bảng sau:

Kiểu dữ liệuSize (bits)Phạm viGiá trị mặc định
byte8-128 đến 1270
short16-32,768 đến 32,7670
int32-2,147,483,648 đến 2,147,483,6470
long64-9,223,372,036,854,775,808 đến 9,223,372,036,854,775,8070L
float321.4E-45 đến 3.4028235E380.0f
double644.9E-324 đến 1.7976931348623157E3080.0d
char160 đến 65,535‘u0000’
boolean1true hoặc false
  1. Wrapper Class

Wrapper Class là các lớp lớp đối tượng trong Java được sử dụng để biểu diễn các kiểu dữ liệu nguyên thủy (primitive data types) dưới dạng đối tượng. Các wrapper class cung cấp các phương thức để thao tác với các giá trị của kiểu dữ liệu nguyên thủy và chuyển đổi giữa các kiểu dữ liệu nguyên thủy khác nhau. Các wrapper class cũng được sử dụng trong các Collection Framework của Java, vì các collection framework chỉ làm việc với các đối tượng, không làm việc trực tiếp với các kiểu dữ liệu nguyên thủy.

Các wrapper class tương ứng với các kiểu dữ liệu nguyên thủy trong Java như sau:

Kiểu nguyên thủyWrapper class
byteByte
shortShort
intInteger
longLong
floatFloat
doubleDouble
charCharacter
booleanBoolean

Dưới đây là một số ví dụ về các wrapper class trong Java:

  1. Ép kiểu (Casting)

Ép kiểu (Casting) là quá trình chuyển đổi giữa các kiểu dữ liệu khác nhau trong Java. Việc ép kiểu có thể được thực hiện bằng cách sử dụng toán tử đúng kiểu hoặc bằng cách sử dụng các phương thức chuyển đổi của các wrapper class. Có hai loại ép kiểu trong Java:

  • Ép kiểu ngầm định (Implicit Casting): là quá trình chuyển đổi giá trị của kiểu dữ liệu có độ lớn nhỏ hơn sang kiểu dữ liệu có độ lớn lớn hơn mà không cần sử dụng toán tử đúng kiểu. Ví dụ:

  • Ép kiểu tường minh (Explicit Casting): là quá trình chuyển đổi giá trị của kiểu dữ liệu có độ lớn lớn hơn sang kiểu dữ liệu có độ lớn nhỏ hơn. Trong quá trình này, ta cần sử dụng toán tử đúng kiểu để thực hiện việc ép kiểu. Ví dụ:

Cần lưu ý rằng khi ép kiểu tường minh, giá trị của biến có thể bị mất mát nếu giá trị đó vượt quá phạm vi của kiểu dữ liệu đích.

Các toán tử

Trong Java, có nhiều loại toán tử để thực hiện các phép tính và các phép so sánh. Các toán tử này có thể được chia thành các nhóm như sau:

  1. Toán tử số học: được sử dụng để thực hiện các phép tính số học, bao gồm cộng (+), trừ (-), nhân (*), chia (/), chia lấy dư (%), tăng (++), giảm (–), và các phép tính liên quan khác.

Ví dụ:

  1. Toán tử gán: được sử dụng để gán giá trị cho một biến hoặc một biểu thức, bao gồm toán tử gán đơn (=) và các toán tử gán kết hợp với các toán tử số học khác.

Ví dụ:

  1. Toán tử logic: được sử dụng để thực hiện các phép tính logic, bao gồm phép AND (&&), phép OR (||), phép NOT (!), và các phép tính liên quan khác.

Ví dụ:

  1. Toán tử so sánh: được sử dụng để so sánh giá trị của hai biến hoặc biểu thức, bao gồm các phép so sánh bằng (==), khác (!=), lớn hơn (>), nhỏ hơn (<), lớn hơn hoặc bằng (>=), và nhỏ hơn hoặc bằng (<=).

Ví dụ:

  1. Toán tử bitwise: được sử dụng để thực hiện các phép tính bitwise trên các số nguyên, bao gồm phép AND (&), phép OR (|), phép XOR (^), phép NOT (~), và các phép tính liên quan khác.

Ví dụ:

  1. Toán tử di chuyển bit: được sử dụng để di chuyển các bit trong một số nguyên, bao gồm toán tử dịch trái (<<), toán tử dịch phải có dấu (>>), và toán tử dịch phải không dấu (>>>).

Ví dụ:

Cấu trúc điều khiển và rẽ nhánh

Trong Java, cấu trúc điều khiển và rẽ nhánh được sử dụng để thực hiện các phép kiểm tra và quyết định trong chương trình. Các cấu trúc này cho phép chương trình thực hiện các lệnh khác nhau tùy thuộc vào các điều kiện được xác định.

Có hai loại cấu trúc điều khiển trong Java: cấu trúc điều khiển rẽ nhánh (branching control structure) và cấu trúc điều khiển vòng lặp (looping control structure).

  1. Cấu trúc điều khiển rẽ nhánh bao gồm:
  • If statement: sử dụng để kiểm tra một điều kiện và thực hiện các lệnh khác nhau tùy thuộc vào kết quả của điều kiện đó.
  • If-else statement: cũng giống như If statement, nhưng nó có thêm một khối lệnh thực hiện khi điều kiện không đúng.
  • Switch statement: sử dụng để kiểm tra một biến hoặc một biểu thức và thực hiện các lệnh khác nhau tùy thuộc vào giá trị của biến đó.

Ví dụ về cấu trúc điều khiển rẽ nhánh:

  1. Cấu trúc điều khiển vòng lặp bao gồm:
  • For loop: sử dụng để lặp lại một khối lệnh một số lần nhất định.
  • While loop: sử dụng để lặp lại một khối lệnh trong khi một điều kiện cụ thể đúng.
  • Do-while loop: giống như While loop, nhưng với một khối lệnh được thực hiện ít nhất một lần trước khi kiểm tra điều kiện.

Ví dụ về cấu trúc điều khiển vòng lặp:

Trong bài viết này, chúng ta đã tìm hiểu về các kiểu dữ liệu, ép kiểu, các wrapper class và các toán tử trong Java. Chúng ta cũng đã xem xét các cấu trúc điều khiển, bao gồm các câu điều kiện và vòng lặp. Hi vọng những kiến thức này sẽ giúp bạn hiểu và phát triển các ứng dụng Java của mình một cách tốt hơn.

Chia sẻ bài viết ngay

Nguồn bài viết : Viblo