Java - Chương 2: Toán tử và kiểu dữ liệu

Các từ khóa thường gặp. Định danh. Biến và phạm vi của biến. Các kiểu dữ liệu cơ sở. Các toán tử và biểu thức. Ép kiểu dữ liệu.

pptx38 trang | Chia sẻ: thuychi16 | Lượt xem: 768 | Lượt tải: 0download
Bạn đang xem trước 20 trang tài liệu Java - Chương 2: Toán tử và kiểu dữ liệu, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
Chương 2Toán tử & Kiểu dữ liệuChương 2: Toán tử & Kiểu dữ liệuCác từ khóa thường gặp.Định danh.Biến và phạm vi của biến.Các kiểu dữ liệu cơ sở.Các toán tử và biểu thức.Ép kiểu dữ liệu.Từ khóaTừ khóaTừ khóa là những từ mà ý nghĩa của nó đã được Java định nghĩa sẵn.Từ khóa cho các kiểu dữ liệu cơ bản: byte, short, int, long, float, double, char, boolean.Từ khóa cho phát biểu lặp: do, while, for, break, continue.Từ khóa cho phát biểu rẽ nhánh: if, else, switch, case, default, break.Từ khóaTừ khóa đặc tả đặc tính một method: private, public, protected, final, static, abstract, synchronized.Hằng (literal): true, false, null.Từ khóa liên quan đến method: return, void.Từ khoá liên quan đến package: package, import.Từ khóa cho việc quản lý lỗi: try, catch, finally, throw, throws.Từ khóa liên quan đến đối tượng: new, extends, implements, class, instanceof, this, super.Quy ước đặt tênPhươ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(),Tên lớp: Viết hoa ký tự đầu của mỗi từ Ví dụ: ComputerAreaTên hằng: Viết hoa tất cả các ký tự Ví dụ: PIBiếnBiến là vùng nhớ dùng để lưu trữ các giá trị của chương trình. 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.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.Biến phân biệt chữ hoa và chữ thườngBiếnCách khai báo: ; = ;Ví dụ: int radius; int area = 5;Gán giá trị cho biến: = ; 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.Biến cục bộ: là biến chỉ có thể truy xuất trong khối lệnh nó khai báo.Biến100101102103104105106myVariableTên biếnGiá trịĐịa chỉVí dụ:int x;x = 20;int y = 10;int z = x+y;char c;float p, q;Biếnpublic 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íchCó 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 Kiểu dữ liệu cơ sởSố nguyên: byte, short, int, longSố thực: float, doubleBooleanKí tự: CharKiểu dữ liệu tham chiếuMảng (Array), Chuỗi (String)Lớp (Class)Kiểu giao tiếp (interface).Các kiểu dữ liệu cơ sởCác kiểu dữ liệu cơ sởKiểu số nguyênBốn kiểu số nguyên khác nhau là: byte, short, int, long.Kiểu mặc định của các số nguyên là kiểu int.Không có kiểu số nguyên không dấu.VD: int x = 0; long y=100; int a=1, b, c;Kiểu số nguyênKhô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");}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ênMột số lưu ý đối với các phép toán trên số nguyên: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.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.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)Gồm kiểu float và doubleKiểu float có kích thước 4 byte và giá trị mặc định là 0.0fKiểu double có kích thước 8 byte và giá trị mặc định là 0.0dKhai 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: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.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.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)Có kích thước là 2 bytes.Chỉ dùng để biểu diễn các ký tự trong bộ mã Unicode Kiểu char có thể tất cả: 216 = 65536 ký tự khác nhau, từ '\u0000' đến '\uFFFF‘.Giá trị mặc định là null. Kiểu luận lý (boolean)Chỉ nhận hai giá trị: true hoặc falseGiá trị mặc định: false Không thể chuyển thành kiểu nguyên và ngược lại.HằngHằng là một giá trị bất biến trong chương trình.Tên hằng được đặt theo qui ước giống như tên biến.Cấu trúc: final = Ví dụ final int i=100; final char a='a';HằngVớ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.Hằng số nguyên: Long thêm l hoặc LHằng số thực: Float thêm f hoặc F, Double thêm d hoặc D.Ví dụ: final long l=100l; final float f=34.123F; final double d=12.1213d;HằngHằng Booean: có 2 hằng boolean là true, falseHằng chuỗi: là tập hợp các ký tự đặt giữa hai dấu nháy “”. Một chuỗi không có ký tự nào là một hằng chuỗi rỗng.VD: “Hello World”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ằngHằng ký tự: là 1 ký tự đơn nằm giữa 2 dấu ngoặc đơn.VD: final char a='a';Một số hằng ký tự đặc biệtLệnh và khối lệnhMỗi câu lệnh kết thúc bằng dấu (;)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 {}Khối lệnh có thể lồng nhau.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ệnhVí 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ọcToán tử trên bitToán tử quan hệ và logicToán tử gánToán tửVí dụGiải thích=int c=3, d=5, c=4;+=c+=7c=c+7-=d-=4d=d-4*=e*=5e=e*5/=f/=3f=f/3%=g%=9g=g%9Toán tử ép kiểuKhi 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.Chuyển kiểu dữ liệu này sang kiểu dữ liệu khác.Toán tử ép kiểuCú pháp: = (kiểu_dữ_liệu) ;É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 tinVD: int a = 10; float b = a;É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) fNumToán tử điều kiệnCú pháp ? : 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ênThứ 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ênBiểu thức gánCú pháp: = ;Tính giá trị , sau đó đưa giá trị vào cho ô nhớ của Kiểu của phải tương thích với kiểu của 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); } }