Cú pháp khai báo biến:
dataType varName;
Trong đó, dataType là kiểu dữ liệu của biến, varName là tên biến. Trong Java, việc đặt tên biến phải tuân theo các quy tắc sau:
• Chỉ được bắt đầu bằng một kí tự(chữ), hoặc một dấu gạch dưới , hoặc một kí tự dollar
• Không có khoảng trắng giữa tên
• Bắt đầu từ kí tự thứ hai, có thể dùng các kí tự(chữ), chữ số, dấu dollar, dấu gạch dưới
• Không trùng với các từ khoá
• Có phân biệt chữ hoa chữ thường
2. Phạm vi hoạt động của biến
Một biến có phạm vi hoạt động trong toàn bộ khối lệnh mà nó được khai báo. Một khối lệnh bắt đầu bằng dấu “{” và kết thúc bằng dấu “}”:
• Nếu biến được khai báo trong một cấu trúc lệnh điều khiển, biến đó có phạm vi hoạt động trong khối lệnh tương ứng.
• Nếu biến được khai báo trong một phương thức (Không nằm trong khối lệnh nào), biến đó có phạm vi hoạt động trong phương thức tương ứng: có thể được sử dụng trong tất cả các khối lệnh của phương thức.
• Nếu biến được khai báo trong một lớp (Không nằm trong trong một phương thức nào), biến đó có phạm vi hoạt động trong toàn bộlớp tương ứng: có thể được sử dụng trong tất cả các phương thức của lớp.
3. Kiểu dữ liệu
Trong Java, kiểu dữ liệu được chia thành hai loại:
• Các kiểu dữ liệu cở bản
• Các kiểu dữ liệu đối tượng
a. Kiểu dữ liệu cở bản
Java cung cấp các kiểu dữ liệu cở bản như sau:
byte: Dùng để lưu dữ liệu kiểu số nguyên có kích thước một byte (8 bít). Phạm vi biểu diễn giá trị từ-128 đến 127. Giá trị mặc định là 0.
char: Dùng để lưu dữ liệu kiểu kí tự hoặc số nguyên không âm có kích thước 2 byte (16 bít). Phạm vi biểu diễn giá trị từ 0 đến u\ffff. Giá trị mặc định là 0.
boolean: Dùng để lưu dữ liệu chỉ có hai trạng thái đúng hoặc sai (độ lớn chỉ có 1 bít). Phạm vi biểu diễn giá trị là {“True”, “False”}. Giá trị mặc định là False.
short: Dùng để lưu dữ liệu có kiểu số nguyên, kích cỡ2 byte (16 bít). Phạm vi biểu diễn giá trị từ- 32768 đến 32767. Giá trị mặc định là 0.
int: Dùng để lưu dữ liệu có kiểu số nguyên, kích cỡ4 byte (32 bít). Phạm vi biểu diễn giá trị từ-2,147,483,648 đến 2,147,483,647. Giá trị mặc định là 0.
float: Dùng để lưu dữ liệu có kiểu số thực, kích cỡ 4 byte (32 bít). Giá trị mặc định là 0.0f.
double: Dùng để lưu dữ liệu có kiểu số thực có kích thước lên đến 8 byte. Giá trị mặc định là 0.00d
long: Dùng để lưu dữ liệu có kiểu số nguyên có kích thước lên đến 8 byte. Giá trị mặc định là 0l.
4. Kiểu dữ liệu đối tượng
Trong Java, có 3 kiểu dữ liệu đối tượng:
Array: Một mảng của các dữ liệu cùng kiểu
class: dữ liệu kiểu lớp đối tượng do người dùng định nghĩa. Chứa tập các thuộc tính và phương thức.
interface: dữ liệu kiểu lớp giao tiếp do người dùng định nghĩa. Chứa các phương thức của giao tiếp.
Ép kiểu (Type casting)
Ví dụ, nhiều khi gặp tình huống cần cộng một biến có dạng integer với một biến có dạng float.
Để xử lý tình huống này, Java sử dụng tính năng ép kiểu (type casting) của C/C++. Đoạn mã sau đây thực hiện phép cộng một giá trị dấu phẩy động (float) với một giá trị nguyên (integer).
float c = 35.8f;
int b = (int)c + 1;
Đầu tiên giá trị dấu phảy động c được đổi thành giá trị nguyên 35. Sau đó nó được cộng với 1 và kết quả là giá trị36 được lưu vào b.
Trong Java có hai loại ép kiểu dữ liệu:
• Nới rộng (widening): quá trình làm tròn số từ kiểu dữ liệu có kích thước nhỏ hơn sang kiểu có kích thước lớn hơn. Kiểu biến đổi này không làm mất thông tin. Ví dụ chuyển từ int sang float. Chuyển kiểu loại này có thế được thực hiện ngầm định bởi trình biên dịch.
• Thu hẹp (narrowwing): quá trình làm tròn số từ kiểu dữ liệu có kích thước lớn hơn sang kiểu có kích thước nhỏ hơn. Kiểu biến đổi này có thể làm mất thông tin như ví dụ ở trên.
Chuyển kiểu loại này không thể thực hiện ngầm định bởi trình biên dịch, người dùng phải thực hiện chuyển kiểu tường minh.
5. Các toán tử
Java cung cấp các dạng toán tử sau:
• Toán tử số học
• Toán tử bit
• Toán tử quan hệ
• Toán tử logic
• Toán tử điều kiện
• Toán tử gán
Toán tử số học
Các toán hạng của các toán tử số học phải ởdạng số. Các toán hạng kiểu boolean không sử dụng được, song các toán hạng ký tự do phép sử dụng loại toán tử này. Một vài kiểu toán tử được liệt kê trong bảng dưới đây.
Toán
tử
|
Mô tả
|
+
|
Cộng.
Trả về
giá trị tổng hai toán hạng
|
-
|
Trừ
Trả về
kết quả của phép trừ.
|
*
|
Nhân
Trả về
giá trị là tích hai toán hạng.
|
/
|
Chia
Trả về
giá trị là thương của phép chia
|
%
|
Phép
lấy modul
Giá
trị trả về là phần dư của phép chia
|
++
|
Tăng
dần
Tăng
giá trị của biến lên 1. Ví dụ a++ tương đương với a = a + 1
|
--
|
Giảm
dần
Giảm
giá trị của biến 1 đơn vị. Ví dụ a-- tương đương với a = a - 1
|
+=
|
Cộng
và gán giá trị
Cộng
các giá trị của toán hạng bên trái vào toán hạng bên phải và gán giá trị trả
về vào toán hạng bên trái. Ví dụ c += a tương đương c = c + a
|
-=
|
Trừ và
gán giá trị
Trừ các
giá trị của toán hạng bên trái vào toán toán hạng bên phải và gán giá trị trả
về vào toán hạng bên trái. Ví dụ c -= a tương đương với c = c – a
|
*=
|
Nhân
và gán
Nhân
các giá trị của toán hạng bên trái với toán toán hạng bên phải và gán giá trị
trả về vào toán hạng bên trái. Ví dụ c *= a tương đương với c = c*a
|
/=
|
Chia
và gán
Chia
giá trị của toán hạng bên trái cho toán toán hạng bên phải và gán giá trị trả
về vào toán hạng bên trái. Ví dụ c /= a tương đương với c = c/a
|
%=
|
Lấy số
dư và gán
Chia
giá trị của toán hạng bên trái cho toán toán hạng bên phải và gán giá trị số dư
vào toán hạng bên trái. Ví dụ c %= a tương đương với c = c%a
|
Toán tử Bit
Các toán tử dạng bit cho phép ta thao tác trên từng bit riêng biệt trong các kiểu dữ liệu nguyên thuỷ.
Toán
tử
|
Mô tả
|
~
|
Phủ định
bit (NOT)
Trả về
giá trị phủ định của một bít.
|
&
|
Toán
tử AND bít
Trả về
giá trị là 1 nếu các toán hạng là 1 và 0 trong các trường hợp khác
|
|
|
Toán
tử OR bít
Trả về
giá trị là 1 nếu một trong các toán hạng là 1 và 0 trong các trường hợp khác
|
^
|
Toán
tử Exclusive OR bít
Trả về
giá trị là 1 nếu chỉ một trong các toán hạng là 1 và trả về 0 trong các trường
hợp
khác.
|
>>
|
Dịch
sang phải bít
Chuyển
toàn bộ các bít cuả một số sang phải một vị trí, giữ nguyên dấu của số âm.
Toán
hạng bên trái là số bị dịch còn số bên phải chỉ số vị trí mà các bít cần dịch.
|
<<
|
Dịch
sang trái bít
Chuyển
toàn bộ các bít cuả một số sang trái một vị trí, giữ nguyên dấu cuả số âm.
Toán
hạng bên trái là số bị dịch còn số bên phải chỉ số vị trí mà các bít cần dịch.
|
Các toán tử quan hệ
Các toán tử quan hệ kiểm tra mối quan hệ giữa hai toán hạng. Kết quả của một biểu thức có dùng các toán tử quan hệ là những giá trị Boolean (logic “đúng” hoặc “sai”). Các toán tử quan hệ được sử dụng trong các cấu trúc điều khiển.
Toán
tử
|
Mô tả
|
=
=
|
So
sánh bằng
Toán
tử này kiểm tra sự tương đương của hai toán hạng
|
!=
|
So
sánh khác
Kiểm
tra sự khác nhau của hai toán hạng
|
>
|
Lớn
hơn
Kiểm
tra giá trị của toán hạng bên phải lớn hơn toán hạng bên trái hay không
|
<
|
Nhỏ hơn
Kiểm
tra giá trị của toán hạng bên phải có nhỏ hơn toán hạng bên trái hay không
|
>=
|
Lớn
hơn hoặc bằng
Kiểm
tra giá trị của toán hạng bên phải có lớn hơn hoặc bằng toán hạng bên trái
hay
không
|
<=
|
Nhỏ hơn
hoặc bằng
Kiểm
tra giá trị của toán hạng bên phải có nhỏ hơn hoặc bằng toán hạng bên trái
hay
không
Toán
hạng bên trái là số bị dịch còn số bên phải chỉ số vị trí mà các bít cần dịch.
|
Các toán tử logic
Các toán tử logic làm việc với các toán hạng Boolean. Một vài toán tử kiểu này được chỉ ra dưới đây
Toán
tử
|
Mô tả
|
&&
|
Và
(AND)
Trả về
một giá trị“Đúng” (True) nếu chỉ khi cả hai toán tử có giá trị“True”
|
||
|
Hoặc
(OR)
Trả về
giá trị“True” nếu ít nhất một giá trị là True
|
^
|
XOR
Trả về
giá trị True nếu và chỉ nếu chỉ một trong các giá trị là True, các trường hợp
còn lại cho giá trị False (sai)
|
!
|
Toán
hạng đơn tử NOT. Chuyển giá trị từ True sang False và ngược lại.
|
Các toán tử điều kiện
Toán tử điều kiện là một loại toán tử đặc biệt vì nó bao gồm ba thành phần cấu thành biểu thức điều kiện. Cú pháp:
<biểu thức 1> ? <biểu thức 2> : <biểu thức 3>;
• biểu thức 1: Biểu thức logic. Trả trả về giá trị True hoặc False
• biểu thức 2: Là giá trị trả về nếu
• biểu thức 3: Là giá trị trả về nếu
Toán tử gán (=) dùng để gán một giá trị vào một biến và có thể gán nhiều giá trị cho nhiều biến cùng một lúc. Ví dụ đoạn lệnh sau gán một giá trịcho biến varvà giá trịnày lại được gán cho nhiều biến trên một dòng lệnh đơn.
int var = 20;
int p,q,r,s;
p=q=r=s=var;
Dòng lệnh cuối cùng được thực hiện từ phải qua trái. Đầu tiên giá trị ở biến var được gán cho ‘s’, sau đó giá trị của ‘s’ được gán cho ‘r’ và cứ tiếp như vậy
Các biểu thức được viết ra nói chung gồm nhiều toán tử. thứ tự ưu tiên quyết định trật tự thực hiện các toán tử trên các biểu thức. Bảng dưới đây liệt kê thứ tự thực hiện các toán tử trong Java.
Toán
tử
|
Mô tả
|
1
|
Các
toán tử đơn như+,-,++,--
|
2
|
Các
toán tử số học và các toán tử dịch như*,/,+,-,<<,>>
|
3
|
Các
toán tử quan hệ như>,<,>=,<=,= =,!=
|
4
|
Các
toán tử logic và Bit như&&,||,&,|,^
|
5
|
Các
toán tử gán như=,*=,/=,+=,-=
|
Để thay đổi thứ tự ưu tiên trên một biểu thức, bạn có thể sử dụng dấu ngoặc đơn ():
• Phần được giới hạn trong ngoặc đơn được thực hiện trước.
• Nếu dùng nhiều ngoặc đơn lồng nhau thì toán tử nằm trong ngoặc đơn phía trong sẽ thực thi trước, sau đó đến các vòng phía ngoài.
• Trong phạm vi một cặp ngoặc đơn thì quy tắc thứ tự ưu tiên vẫn giữ nguyên tác dụng.
0 Comment to "[Java] Các kiểu dữ liệu và toán tử cơn bản trên Java"
Post a Comment