Java for Tester (Bài 02) - Biến, Hằng số, Kiểu dữ liệu, Toán tử trong Java

Thứ Sáu, 12 Tháng Giêng 2018 lúc 11:41 CH

Trong bài học này chúng ta sẽ cùng tìm hiểu những khái niệm cơ bản nhất của Java nói riêng và của các ngôn ngữ lập trình nói chúng. Dó là những thành phần giúp người lập trình cài đặt các thuật toán, tính toán sử dụng bên trong chương trình.


1. Biến trong Java

Để một dữ liệu có thể được xử lý được, chúng phải được nạp (load) vào bộ nhớ của máy tính. Biến là một khái niệm chỉ đến tên của vùng nhớ chứa dữ liệu bên trong bộ nhớ để chương trình có thể truy cập (nhằm tái sử dụng).

Một biến trong Java được đặc trưng bởi 3 thành phần.

  1. Phạm vi của biến - Cho biết khả năng truy xuất của biến
  2. Kiểu dữ liệu của biến - Loại dữ liệu của vùng nhớ mà biến  tham chiếu (trỏ) tới
  3. Tên của biến - Là tên gọi của biến để các hàm, các đối tượng khác sử dụng, nó tuân thủ theo cách đặt tên của biến. 

Để khai báo một biến trong Java, chúng ta sử dụng cấu trúc sau:

[ Phạm vi của biến] kieu_du_lieu bien [ = giatri][, bien [= giatri] ...] ;

Phạm vi của biến: Là khả năng truy xuất của biến. Trong Java có 3 loại phạm vi tương ứng với 3 loại biến

  • Biến cục bộ (local): Là biến được khai báo sử dụng bên trong các hàm, thủ tục hoặc được khai báo bên ngoài các hàm thủ tục bên trong class với từ khóa private
  • Thuộc tính (biến của instance - đối tượng): Là biến được khai báo bên ngoài các thủ tục, hàm bên trong class với từ khóa public. Những biến này sẽ trở thành các thuộc tính của đối tượng từ lớp này.
  • Biến static (thuộc tính của lớp): Là các biến được khai báo với từ khóa static và được truy xuất trực tiếp qua lớp, không cần phải khởi tạo đối tượng. Các biến dạng này sẽ được khởi tạo khi chương trình bắt đầu, và được hủy khi chương trình kết thúc.

Kiểu dữ liệu: Kiểu dữ liệu là loại dữ liệu của vùng nhớ mà biến tham chiếu tới. Khi khai báo một biến ta phải chỉ ra kiểu dữ liệu để hệ điều hành cấp phát bộ nhớ và quyết định cái gì có thể dược lưu giữ trong bộ nhớ dành riêng cho biến đó.

Trong Java có 2 loại kiểu dữ liệu :

  • Kiểu dữ liệu nguyên thủy (Primitive)
  • Kiểu dữ liệu tham chiếu/đối tượng (non-primitive)

Các kiểu dữ liệu nguyên thủy trong Java

Kiểu dữ liệuGiá trị mặc địnhKích cỡ mặc định
booleanfalse1 bit
char'\u0000'2 byte
byte01 byte
short02 byte
int04 byte
long0L8 byte
float0.0f4 byte
double0.0d8 byte

Boolean: Là kiểu dữ liệu chỉ có 1 bit, lưu trữ một trong hai giá trị true hoặc false. Giá trị mặc định là false.

Ví dụ: boolean isvalid=fase;

Char: Là kiểu dữ liệu 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 bit)

Ví dụ: char chrKitu = 'a';

Byte: Dùng để lưu trữ kiểu số nguyên có kích thước 1 byte (8 bit) từ -128(2^7) đến 127 (2^7 -1). Giá trị mặc định là 0.

Ví dụ: byte number = 5;

Short: Là kiểu số nguyên (2 byte) lưu trữ dữ liệu có kiểu số nguyên. Giá trị nhỏ nhất là -32768 (-2^15) đến 32767(2^15-1). Giá trị mặc định của kiểu Short là 0.

Ví dụ: short t = 50, short z = -10;

Int: Là kiểu số nguyên 4byte (32bit) lưu trữ các số trong khoảng - 2,147,483,648.(-2^31) đến 2,147,483,647 (2^31 -1). Giá trị mặc định của kiểu int là 0.

Ví dụ: int a = 5, int b = -50

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ị nhỏ nhất là -9,223,372,036,854,775,808.(-2^63) và lớn nhất là 9,223,372,036,854,775,807. (2^63 -1). Giá trị mặc định là 0L.

Ví dụ: long a = 100000L, int b = -200000L

float: Dùng để lưu dữ liệu có kiểu số thực, kích cỡ 4 byte (32 bit). Giá trị mặc định là 0.0f. Kiểu Float không bao giờ được sử dụng cho các giá trị chính xác như currency.

Ví dụ: float usd = 22.5f

double: Được sử dụng để lưu dữ liệu có kiểu số thực có kích thước lên đến 8 byte. Là kiểu dữ liệu được sử dụng như là kiểu mặc định cho các giá trị decimal.  Cũng giống như kiểu float, kiểu double không bao giờ được sử dụng cho các giá trị chính xác như currency.

Ví dụ: double ct = 676.7


2. Ép kiểu trong Java

Ép kiểu trong java là việc gán giá trị của một biến có kiểu dữ liệu này tới biến khác có kiểu dữ liệu khác. Đây là một trong những hoạt động sẽ gặp thường xuyên trong khi phát triển một TestScript viết bằng Java.

Ví dụ:

float c = 55.8f;

int b = (int)c + 1;

Trong ví dụ trên, đầu tiên giá trị dấu phảy động c được đổi thành giá trị nguyên 55. Sau đó nó được cộng với 1 và kết quả là giá trị 56 được lưu vào b.

Trong Java có 2 loại ép kiểu dữ liệu

  • Nới rộng (widening): Là 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.
  • Thu hẹp (narrowwing): Là 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


3. Toán tử trong Java

Toán tử trong java là một ký hiệu được sử dụng để thực hiện một phép tính/chức năng nào đó. Java cung cấp các dạng toán tử sau:

  • Toán tử số học
  • 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, các toán hạng ký tự cho 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.

Giả sử chúng ta có biến số nguyên a = 10 và b = 20.

Toán tửMô tảVí dụ
+Trả về giá trị là tổng của hai toán hạng.
a + b sẽ là 30
-Trả về kết quả là hiệu của hai toán hạng.a - b sẽ là -10
*Trả về giá trị là tích của hai toán hạng.
a * b sẽ là 200
/Chia toán hạng trái cho toán hạng phải
b / a sẽ là 2
%Lấy phần dư của phép chia toán hạng trái cho toán hạng phải
b % a sẽ là 0
++Tăng giá trị của biến lên 1. Ví dụ a++ tương đương với a = a + 1a++ sẽ là 11
--Giảm giá trị của biến 1 đơn vị. Ví dụ a-- tương đương với a = a - 1
a-- sẽ là 9

Toán tử quan hệ

Các toán tử quan hệ được sử dụng 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 “true” hoặc “false”). 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 - Toán tử này 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 trái lớn hơn toán hạng bên phải hay không
<Nhỏ hơn - Kiểm tra giá trị của toán hạng bên trái có nhỏ hơn toán hạng bên phả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 trái có lớn hơn hoặc bằng toán hạng bên phải hay không
<=Nhỏ hơn hoặc bằng - Kiểm tra gái trị của toán hạng bên trái có nhỏ hơn hoặc bằng toán hạng bên phải hay không

Các toán tử logic

Các toán tử logic làm việc với các toán hạng có kiểu Boolean. 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ả
&&Toán tử và (AND)  - Trả về một giá trị “Đúng” (True) nếu chỉ khi cả hai toán tử có giá trị “True”
||Toán tử hoặc (OR) - Trả về giá trị “True” nếu ít nhất một giá trị là True
^Toán tử 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 tử phủ định (NOT) - 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 xác định là True
  •     Biểu thức 3: Là giá trị trả về nếu xác định là False

Ví dụ:

public class Test {
    public static void main(String[] args) {
        int a = 20;
        int b = 3;
 
        String s = (a % b == 0) ? "a chia het cho b" : "a khong chia het cho b";
        System.out.println(s);
    }
}


Kết quả: a khong chia het cho b

Toán tử gán

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ụ:

int var = 20;

int p,q,r,s; 

p=q=r=s=var;

Trong ví dụ trên, đoạn lệnh sau gán một giá trị cho biến var và giá trị này lại được gán cho nhiều biến trên một dòng lệnh đơn.

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.

HỌC Ở TESTMASTER NHƯ NÀO?

  • Tham gia học trên lớp
    Mỗi khóa học, học viên sẽ học tập trung trên lớp dưới sự hướng dẫn của các chuyên gia trong lĩnh vực kiểm thử đến từ FPT Software
  • Tự học lại trên giáo trình điện tử
    Mỗi bài học sẽ có giáo trình điện tử để học viên có thể học lại bất cứ khi nào, bất cứ nơi đâu
  • Tham gia làm dự án thực tế
    Sau khi trang bị đầy đủ các kiến thức, học viên được tham gia vào các dự án thực tế để tích lũy kinh nghiệm làm việc
  • Cấp chứng chỉ & đi làm
    Kết thúc khóa học, học viên sẽ được đánh giá cấp chứng chỉ và hỗ trợ việc làm. Hỗ trợ thực tập, làm đồ án cho sinh viên