Bảng 4.1 sẽ mô tả ngắn gọn các toán tử đột biến mức phương thức (hay còn gọi là các toán tử đột biến truyền thống) thực thi trong MuJava. Các toán tử được xem xét cho MuJava bao gồm việc sửa đổi các biểu thức bằng cách thêm, thay thế hoặc xóa các toán tử nguyên thủy. MuJava chứa 6 loại toán tử nguyên thủy:
1. Toán tử số học 2. Toán tử quan hệ 3. Toán tử điều kiện 4. Toán tử chuyển dịch 5. Toán tử logic
6. Toán tử gán
MuJava sử dụng 12 toán tử đột biến mức phương thức. Trong đó, một số toán tử có các dạng short-cut. Vì vậy, nó được chia thành nhị nguyên (binary), đơn nguyên (unary) và short-cut.
Bảng 4.1- Các toán tử đột biến mức phương thức cho MuJava
a) Toán tử số học
Các toán tử số học thực hiện các phép tính số học trên tất cả các đối số op (là các nguyên và số thực có dấu phẩy động). Các toán tử số học sử dụng trong Java là:
Các phép toán hai ngôi (nhị nguyên): op + op, op - op, op * op, op / op, op % op
Các phép toán một ngôi (đơn nguyên): +op, -op Short-cut: op++, ++op, op--, --op
Các toán tử số học sử dụng trong MuJava được giải thích như sau: AORB/ AORU / AORS: Thay thế toán tử số học
Loại Toán tử Mô tả
Số học
AORB AORU AORS
Thay thế toán tử số học (nhị nguyên) Thay thế toán tử số học (đơn nguyên) Thay thế toán tử số học (short-cut) AOIU
AOIS
Thêm toán tử số học (đơn nguyên) Thêm toán tử số học (short-cut) AODU
AODS
Xóa toán tử số học (đơn nguyên) Xóa toán tử số học (short-cut) Quan hệ ROR Thay thế toán tử quan hệ
Điều kiện
COR Thay thế toán tử điều kiện COI Thêm toán tử điều kiện COD Xóa toán tử điều kiện
Chuyển dịch SOR Thay thế toán tử chuyển dịch
Logic
LOR Thay thế toán tử logic LOI Thêm toán tử logic LOD Xóa toán tử logic
Các toán tử này thay thế các toán tử số học nhị nguyên, đơn nguyên, short- cut bằng các toán tử nhị nguyên, đơn nguyên, short-cut khác tương ứng.
AOIU/AOIS: Thêm toán tử số học
Các toán tử này thêm toán tử số học đơn nguyên và short-cut tương ứng. AODU/AODS: Xóa toán tử số học
Các toán tử này xóa các toán tử số học đơn nguyên và short-cut tương ứng.
b) Toán tử quan hệ
Các toán tử quan hệ so sánh giá trị của hai toán hạng op. Các toán tử quan hệ sử dụng trong Java: op > op, op >= op, op < op, op <= op, op == op, op != op
Các toán tử quan hệ sử dụng trong MuJava được giải thích như sau: ROR: Thay thế toán tử quan hệ
Toán tử này thay thế các toán tử quan hệ bằng các toán tử quan hệ khác.
c) Toán tử điều kiện
Các toán tử điều kiện hoặc các toán tử bitwise thực hiện các phép tính trên các giá trị nhị phân của các toán hạng. Các toán tử điều kiện được sử dụng trong Java là:
Các toán tử điều kiện hai ngôi: op && op, op ||op, op & op, op | op và ^ (bitwise XOR)
Toán tử điều kiện một ngôi: !op COR: Thay thế toán tử điều kiện
Toán tử này thay thế các toán tử điều kiện hai ngôi bằng các toán tử điều kiện hai ngôi khác.
COI: Thêm toán tử điều kiện
Toán tử này thêm các toán tử điều kiện một ngôi. COD: Xóa toán tử điều kiện
Toán tử này xóa các toán tử điều kiện một ngôi.
d) Toán tử chuyển dịch
Các toán tử chuyển dịch sử dụng trong Java: op >> op, op << op, op >>> op Các toán tử chuyển dịch sử dụng trong MuJava được giải thích như sau: SOR: Thay thế toán tử chuyển dịch
Toán tử này thay thế các toán tử chuyển dịch hai ngôi bằng toán tử chuyển dịch hai ngôi khác.
e) Toán tử logic
Các toán tử logic thực hiện các phép so sánh logic để thu được kết quả Boolean cho các câu lệnh so sánh. Các toán tử logic sử dụng trong Java là:
Toán tử logic hai ngôi: op & op, op |op, op ^ op Toán tử logic một ngôi: ~op
Các toán tử logic sử dụng trong MuJava được giải thích như sau: LOR: Thay thế toán tử logic
Toán tử này thay thế các toán tử logic hai ngôi bằng các toán tử logic hai ngôi khác.
LOI: Thêm toán tử logic
Toán tử này thêm các toán tử logic một ngôi khác. LOD: Xóa toán tử logic
Toán tử này xóa các toán tử logic một ngôi khác.
f) Toán tử gán
Các toán tử gán sử dụng trong Java là :
Short –cut : op += op, op -= op, op *= op, op /= op, op %= op, op &= op, op |= op, op ^= op, op <<= op, op >>= op, op >>>= op
Các toán tử gán sử dụng trong MuJava được giải thích như sau: ASRS: Thay thế toán tử gán
Toán tử này thay thế toán tử gán short-cut bằng toán tử gán short-cut khác.