Giáo trình Java cơ bản - Chương 2: Toán tử và kiểu dữ liệu
Bạn đang xem 20 trang mẫu của tài liệu "Giáo trình Java cơ bản - Chương 2: Toán tử và kiểu dữ liệu", để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên
Tài liệu đính kèm:
- giao_trinh_java_co_ban_chuong_2_toan_tu_va_kieu_du_lieu.pdf
Nội dung text: Giáo trình Java cơ bản - Chương 2: Toán tử và kiểu dữ liệu
- Chương 2 Toán tử & Kiểu dữ liệu
- Chương 2: Toán tử & Kiểu dữ liệu o Các từ khóa thường gặp. o Định danh. o Biến và phạm vi của biến. o Các kiểu dữ liệu cơ sở. o Các toán tử và biểu thức. o Ép kiểu dữ liệu.
- Từ khóa
- Từ khóa o Từ khóa là những từ mà ý nghĩa của nó đã được Java định nghĩa sẵn. o Từ khóa cho các kiểu dữ liệu cơ bản: byte, short, int, long, float, double, char, boolean. o Từ khóa cho phát biểu lặp: do, while, for, break, continue. o Từ khóa cho phát biểu rẽ nhánh: if, else, switch, case, default, break.
- Từ khóa o Từ khóa đặc tả đặc tính một method: private, public, protected, final, static, abstract, synchronized. o Hằng (literal): true, false, null. o Từ khóa liên quan đến method: return, void. o Từ khoá liên quan đến package: package, import. o Từ khóa cho việc quản lý lỗi: try, catch, finally, throw, throws. o Từ khóa liên quan đến đối tượng: new, extends, implements, class, instanceof, this, super.
- Quy ước đặt tên o Phương thức: - Bắt đầu bằng ký tự thường. - Từ đầu tiên viết thường, viết hoa ký tự đầu tiên của các từ còn lại. - VD: timMax, area(), readFile(), o Tên lớp: Viết hoa ký tự đầu của mỗi từ Ví dụ: ComputerArea o Tên hằng: Viết hoa tất cả các ký tự Ví dụ: PI
- Biến o Biến là vùng nhớ dùng để lưu trữ các giá trị của chương trình. o Mỗi biến gắn liền với một kiểu dữ liệu và một định danh duy nhất gọi là tên biến. o Tên biến thông thường là một chuỗi các ký tự, ký số. - Tên biến phải bắt đầu bằng một chữ cái, một dấu gạch dưới (_) hay dấu $. - Tên biến không được trùng với các từ khóa . - Tên biến không có khoảng trắng ở giữa tên. o Biến phân biệt chữ hoa và chữ thường
- Biến o Cách khai báo: ; = ; o Ví dụ: int radius; int area = 5; o Gán giá trị cho biến: = ; o Biến toàn cục (công cộng - public): là biến có thể truy xuất ở khắp nơi trong chương trình, thường được khai báo dùng từ khóa public, hoặc đặt chúng trong một class. o Biến cục bộ: là biến chỉ có thể truy xuất trong khối lệnh nó khai báo.
- Biến Tên biến myVariable Giá trị Địa chỉ 100 101 102 103 104 105 106 • Ví dụ: int x; x = 20; int y = 10; int z = x+y; char c; float p, q;
- Biến public class MyClass{ int i; // biến thành viên (toàn cục) int first(){ int j = 1; // biến cục bộ // i, j có thể truy cập từ đây return j; } int second(){ int j = 2; // biến cục bộ // i, j có thể truy cập từ đây return j; } }
- Chú thích o Có 2 cách chú thích: // Chú thích trên 1 dòng /* Chú thích trên nhiều dòng */ public class MyClass{ int i; // biến thành viên (toàn cục) int first(){ int j = 1; /* biến cục bộ i, j có thể truy cập từ đây */ return j; } }
- Các kiểu dữ liệu o Kiểu dữ liệu cơ sở . Số nguyên: byte, short, int, long . Số thực: float, double . Boolean . Kí tự: Char o Kiểu dữ liệu tham chiếu . Mảng (Array), Chuỗi (String) . Lớp (Class) . Kiểu giao tiếp (interface).
- Các kiểu dữ liệu cơ sở Kiểu luận lý boolean Kiểu ký tự char byte Kiểu cơ sở short Kiểu nguyên int Kiểu số long float Kiểu thực double
- Các kiểu dữ liệu cơ sở
- Kiểu số nguyên o Bốn kiểu số nguyên khác nhau là: byte, short, int, long. o Kiểu mặc định của các số nguyên là kiểu int. o Không có kiểu số nguyên không dấu. o VD: int x = 0; long y=100; int a=1, b, c;
- Kiểu số nguyên o Không thể chuyển biến kiểu int và kiểu boolean như trong ngôn ngữ C/C++ boolean b = false; if (b == 0){ System.out.println("Xin chao"); } o Lúc biên dịch, đoạn chương trình trên sẽ báo lỗi vì chúng ta không được so sánh biến kiểu boolean với biến kiểu int.
- Kiểu số nguyên Một số lưu ý đối với các phép toán trên số nguyên: o Nếu hai toán hạng kiểu long thì kết quả là kiểu long. Một trong hai toán hạng không phải kiểu long sẽ được chuyển thành kiểu long trước khi thực hiện phép toán. o Nếu hai toán hạng đầu không phải kiểu long thì phép tính sẽ thực hiện với kiểu int. o Các toán hạng kiểu byte hay short sẽ được chuyển sang kiểu int trước khi thực hiện phép toán.
- Kiểu dấu chấm động (kiểu thực) o Gồm kiểu float và double o Kiểu float có kích thước 4 byte và giá trị mặc định là 0.0f o Kiểu double có kích thước 8 byte và giá trị mặc định là 0.0d o Khai báo và khởi tạo giá trị cho các biến kiểu dấu chấm động: float x = 100.0/7; double y = 1.56E6;
- Kiểu dấu chấm động (kiểu thực) Một số lưu ý với các phép toán trên số dấu chấm động: o Nếu mỗi toán hạng đều có kiểu dấu chấm động thì phép toán chuyển thành phép toán dấu chấm động. o Nếu có một toán hạng là double thì các toán hạng còn lại sẽ được chuyển thành kiểu double trước khi thực hiện phép toán. o Biến kiểu float và double có thể ép chuyển sang kiểu dữ liệu khác (trừ kiểu boolean).
- Kiểu ký tự (Char) o Có kích thước là 2 bytes. o Chỉ dùng để biểu diễn các ký tự trong bộ mã Unicode o Kiểu char có thể tất cả: 216 = 65536 ký tự khác nhau, từ '\u0000' đến '\uFFFF‘. o Giá trị mặc định là null.
- Kiểu luận lý (boolean) o Chỉ nhận hai giá trị: true hoặc false o Giá trị mặc định: false o Không thể chuyển thành kiểu nguyên và ngược lại.
- Hằng o Hằng là một giá trị bất biến trong chương trình. o Tên hằng được đặt theo qui ước giống như tên biến. o Cấu trúc: final = o Ví dụ final int i=100; final char a='a';
- Hằng o Với các kiểu như long, float, double chúng ta cần phải thêm hậu tố tương ứng vào sau giá trị biến. o Hằng số nguyên: Long thêm l hoặc L o Hằng số thực: Float thêm f hoặc F, Double thêm d hoặc D. o Ví dụ: final long l=100l; final float f=34.123F; final double d=12.1213d;
- Hằng o Hằng Booean: có 2 hằng boolean là true, false o Hằng chuỗi: là tập hợp các ký tự đặt giữa hai dấu nháy “”. o Một chuỗi không có ký tự nào là một hằng chuỗi rỗng. o VD: “Hello World” o Hằng chuỗi không phải là kiểu dữ liệu cơ sở nhưng vẫn được khai báo và sử dụng trong chương trình.
- Hằng o Hằng ký tự: là 1 ký tự đơn nằm giữa 2 dấu ngoặc đơn. o VD: final char a='a'; o Một số hằng ký tự đặc biệt
- Lệnh và khối lệnh o Mỗi câu lệnh kết thúc bằng dấu (;) o Các câu lệnh có thể nối lại với nhau tạo thành một khối lệnh. Khối lệnh đặt trong cặp dấu {} o Khối lệnh có thể lồng nhau. o Bên trong một khối lệnh có thể chứa một hay nhiều lệnh hoặc chứa các khối lệnh khác.
- Lệnh và khối lệnh • Ví dụ 1: private int timGiaTriMax(int a, int b){ int max = a; if ( b > max) { max = b; } return max; } • Ví dụ 2: public class HelloWorld{ public static void main(String args[]){ System.out.print("Hello World!!!"); }}
- Toán tử số học
- Toán tử trên bit Toán tử Ý nghĩa & AND | OR ^ XOR > Dịch phải >>> Dịch phải và điền 0 vào bit trống ~ Bù bit
- Toán tử quan hệ và logic Toán tử Ý nghĩa == So sánh bằng != So sánh khác > So sánh lớn hơn = So sánh lớn hơn hay bằng <= So sánh nhỏ hơn hay bằng || OR (biểu thức logic) && AND (biểu thức logic) ! NOT (biểu thức logic)
- Toán tử gán Toán tử Ví dụ Giải thích = int c=3, d=5, c=4; += c+=7 c=c+7 -= d-=4 d=d-4 *= e*=5 e=e*5 /= f/=3 f=f/3 %= g%=9 g=g%9
- Toán tử ép kiểu o Khi gặp phải sự không tương thích kiểu dữ liệu chúng ta phải tiến hành chuyển đổi kiểu dữ liệu cho biến hoặc biểu thức. o Chuyển kiểu dữ liệu này sang kiểu dữ liệu khác.
- Toán tử ép kiểu o Cú pháp: = (kiểu_dữ_liệu) ; o Ép kiểu rộng (ngầm định) - Từ kiểu nhỏ sang kiểu lớn. - Không mất mát thông tin - VD: int a = 10; float b = a; o Ép kiểu hẹp (tường minh) - Từ kiểu lớn sang kiểu nhỏ. - Có khả năng mất mát thông tin. - VD: float fNum = 2.2; int iCount = (int) fNum
- Toán tử điều kiện o Cú pháp ? : o VD1: Tìm số lớn nhất: int a, b, max; a = 8; b = 10; max = a >b ? A: b;
- Thứ tự ưu tiên o Thứ tự ưu tiên từ trái qua phải và từ trên xuống dưới như bảng sau:
- Thứ tự ưu tiên
- Biểu thức gán o Cú pháp: = ; o Tính giá trị , sau đó đưa giá trị vào cho ô nhớ của o Kiểu của phải tương thích với kiểu của o Ví dụ: i = j = 10;
- Ví dụ về phép toán import java.lang.*; import java.io.*; class VariableDemo{ static int x, y; public static void main(String[] args){ x = 10; y = 20; int z = x+y; System.out.println("x = " + x); System.out.println("y = " + y); System.out.println("z = x + y =" + z); System.out.println("So nho hon la so:" + Math.min(x, y)); char c = 80; System.out.println("ky tu c la: " + c); } }