Tự học Java

- 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ự (Unicode), ký số.

- Tên biến phải bắt đầu bằng một chữ cái hoặc một dấu gạch dưới hay dấu dollar.

- Tên biến không có khoảng trắng ở giữa tên.

- Trong java, biến có thể được khai báo ở bất kỳ nơi đâu trong chương trình.

- Tên biến không được trùng với các từ khóa trong Java. (Ví dụ từ khóa : abstract, assert, boolean, break, byte, case, catch, char, class, const, continue, default, do, double, else, enum, extends final, finally, float, for,goto, if , implements , import, instanceof, int, interface, long, native, new, package, private, protected, public, return, short , static, strictfp, super, switch, synchronized, this throw, throws, transient, try, void, volatile, while.)

 

docx50 trang | Chuyên mục: Java | Chia sẻ: dkS00TYs | Lượt xem: 6436 | Lượt tải: 1download
Tóm tắt nội dung Tự học Java, để xem tài liệu hoàn chỉnh bạn click vào nút "TẢI VỀ" ở trên
 vào IDE là ok!
Bài tập về nhà:Đọc hiểu và code lại các ví dụ!Đọc thêm: Tạo 1 đối tượng Java đầu tiên của bạn
Bài 14: Phương thức (method) trong Java
1, Khái niệm: Hàm hay phương thức (method) trong Java là khối lệnhthực hiện các chức năng, các hành vi xử lý của lớp lên vùng dữliệu. Trong lập trình cấu trúc, các bạn đã làm quen với khái niệm hàm, thủ tục.Trong lập trình hướng đối tượng, chúng ta sẽ hạn chế gọi như vậy, hãyquen gọi chúng là phương thức, nó liên quan đến tính hướng đối tượng trong Java!2, Khai báo phương thức:
PHP:
   (){;} 
Để xác định quyền truy xuất của các đối tượng khác đối vớicác phương thức của lớp người ta thường dùng các tiền tố sau:- public: phương thức có thể truy cập được từ bên ngoàilớp khai báo.- protected: có thể truy cập được từ lớp khai báo vànhững lớp dẫn xuất từ nó.- private: chỉ được truy cập bên trong bản thân lớp khaibáo.- static: phương thức lớp dùng chung cho tất cả các thểhiện của lớp, có nghĩa là phương thức đó có thể đượcthực hiện kể cả khi không có đối tượng của lớp chứaphương thức đó.- final: phương thức có tiền tố này không được khai báochồng ớ các lớp dẫn xuất.- abstract: phương thức không cần cài đặt (không cóphần source code), sẽ được hiện thực trong các lớp dẫnxuất từ lớp này.- synchoronized: dùng để ngăn các tác động của các đốitượng khác lên đối tượng đang xét trong khi đang đồngbộ hóa. Dùng trong lập trình miltithreads.- : có thể là kiểu void, kiểu cơ sở hay một lớp.- : đặt theo qui ước giống tên biến.- : có thể rỗngChú ý:- Thông thường trong một lớp các phương thức nên đượckhai báo dùng từ khóa public, khác với vùng dữ liệu thường làdùng tiền tố private vì mục đích an toàn.- Những biến nằm trong một phương thức của lớp là các biếncục bộ (local) và nên được khởi tạo sau khi khai báo.Xem thêm video blog StudyAndShare
Ví dụ 1: Tạo 1 lớp học sinh gồm các thuộc tính: họ tên, lớp, điểm toán, lý, hóa.Tính điểm trung bình, tính xếp loại học lực!** Phân tích: Ở đây tính điểm trung bình của 3 môn, như vậy phương thức tính điểmcó 3 đối số truyền vào và trả về 1 giá trị là số thực.Tính xếp loại học lực, đối số vào là 1 biến thực duy nhất, phương thức này trả về 1 chuỗilà xếp loại: yếu, trung bình, khá hoặc giỏi.Code như sau:
PHP:
package javademoandroidvn; class HocSinh {     public String hoTen, lop;    public float toan, ly, hoa;     public float diemTB(float toan, float ly, float hoa) {         return (float) (toan + ly + hoa) / 3;    }     public String xepLoai(float diemTB) {        if (diemTB >= 8 && diemTB = 6.5f && diemTB = 5.0f && diemTB = 0.0f && diemTB < 5) {            return "yếu";        }        return "Nhập sai!";    }} public class JavaDemoAndroidVn {     public static void main(String[] args) {        HocSinh a = new HocSinh();        a.hoTen = "Vu Van T";        a.lop = "At7a";        a.toan = 8.0f;        a.ly = 9.0f;        a.hoa = 10.0f;         System.out.println("Thông tin: ");        System.out.println("Họ tên: " + a.hoTen + " - Lớp: " + a.lop);        System.out.println("Toán: " + a.toan + " Lý:" + a.ly + " Hóa: " + a.hoa);        System.out.println("Điểm trung bình: " + a.diemTB(a.toan, a.ly, a.hoa));        System.out.println("Xếp loại " + a.xepLoai(a.diemTB(a.toan, a.ly, a.hoa)));    }} 
Ví dụ 2: Gán chiều dài, chiều rộng hình chữ nhật, hiện lên màn hình kích thước đó.Tính diện tích và chu vi hình chữ nhật theo cách viết code hướng đối tượng!** Phân tích: Các hình chữ nhật có 2 thuộc tính là chiều dài và chiều rộng.- Để hiện lại chiều dài, chiều rộng , ta dùng 1 phương thức show, không có giá trị trả về, nhưngcó giá trị biến đầu vào là chiều dài và chiều rộng hình chữ nhật!- Để tính diện tích và chu vi, ta tạo 2 phương thức dienTich, chuVi với 2 biến vào (đối số vào)là chiều rộng, chiều dài.- Để hiện giá trị diện tích và chu vi, ta dùng 1 phương thức showKetQua, với 2 đối sốthực nhập vào là chu vi, diện tích hình tròn.- Cuối bài, thử tạo 1 phương thức show ra chữ ký kết thúc bài, sẽ không có đối số nào!Nó chỉ hiện ra 1 dòng ký tự.Code như sau:
PHP:
package javademoandroidvn; class HCN {     public float chieuDai;    public float chieuRong;     public void showChieuDai(float dai, float rong) {        System.out.println("Hình chữ nhật có kích thước: ");        System.out.println("Chiều dài: " + dai);        System.out.println("Chiều rộng: " + rong);    }     public float chuVi(float dai, float rong) {        return (dai + rong) * 2;    }     public float dienTich(float dai, float rong) {        return dai * rong;    }     public void showKetQua(float cv, float dt) {        System.out.println("Chu vi hình chữ nhật là: " + cv);        System.out.println("Diện tích hình chữ nhật là " + dt);    }     public void showChuKy() {        System.out.println("Kết thúc bài tính toán hình chữ nhật, xin chào, hẹn gặp lại bạn ở bài tiếp theo!");    }} public class JavaDemoAndroidVn {     public static void main(String[] args) {        HCN a = new HCN();        a.chieuDai = 6.0f;        a.chieuRong = 10.0f;        a.showChieuDai(a.chieuDai, a.chieuRong);        a.showKetQua(a.chuVi(a.chieuDai, a.chieuRong), a.dienTich(a.chieuDai, a.chieuRong));        a.showChuKy();    }}
Bài tập về nhà:Bài 1: Tạo lớp hàng hóa gồm: tên hàng, mã hàng, giá hàng, số lượng.Nếu mua vào khoảng 8h -> 17h hàng ngày , được giảm giá 5%Tạo phương thức tính tổng tiền.Tạo 1 đối tượng, nhập các giá trị từ màn hình console.In toàn bộ thông tin đơn hàng ra ngoài màn hình console gồm:tên, mã, giá, số lượng, thời gian mua.
Bottom of Form
Bài 15: Phương thức setter và getter trong Java
Ở bài 12 mình có viết chú ý 1 điều như này:
Thông thường để an toàn cho vùng dữ liệu của các đối tượng người ta tránh dùng tiền tố public, mà thường chọn tiền tố private để ngăn cản quyền truy cập đến vùng dữ liệu của một lớp từ các phương thức bên ngoài lớp đó.
Ở các ví dụ trước, các thuộc tính mình thường để public , chương trình chạy, nhưng đó không phải là cách ổn. Nếu chuyển về private, mà bạn vẫn truy cập các thuộc tính như các bài ví dụ trước thì sẽ lỗi như này:
Vậy làm như nào để truy cập các thuộc tính của đối tượng để private?1, Biến thisĐầu tiên bạn cần hiểu biến này là gì?Biến this là một biến ẩn tồn tại trong tất cả các lớp trong ngôn ngữ java. Một class trong Java luôn tồn tại một biến this, biến this được sử dụng trong khi chạy và tham khảo đến bản thân lớp chứa nó.2, Phương thức setterMục đích của phương thức setter là chúng ta dùng nó để truy cập vào thuộc tính của đối tượng và gán giá trị cho các thuộc tính của đối tượng! Tên gọi, hay cách bạn đặt tên phương thức này là tùy bạn, nó cũng vẫn chạy nhưng theo style code lập trình viên thường làm thì nó sẽ thường là set....Ví dụ 1: 
PHP:
package javademoandroidvn; class HocSinh {     private String hoTen;    private String lop;    private float diemTb;     public void setHoTen(String hoTen1) { //hoTen1 là biến cục bộ nhập vào, thường để trùng tên thuộc tính như các hàm setter phía dưới        this.hoTen = hoTen1;    }     public void setLop(String lop) {        this.lop = lop;    }     public void setDiemTb(float diemTb) {        this.diemTb = diemTb;    }} public class JavaDemoAndroidVn {     public static void main(String[] args) {        HocSinh a = new HocSinh();        a.setHoTen("Vu Van T");        a.setLop("At7a");        a.setDiemTb(7.5f);    }} 
2, Phương thức getterCũng tương tự như phương thức setter, nó cũng dùng để truy cập vào các thuộc tínhcủa đối tượng, nhưng ngược lại setter, phương thức getter sẽ trả về các thuộc tính của đối tượng!Ví dụ 2: 
PHP:
package javademoandroidvn; class HocSinh {     private String hoTen;    private String lop;    private float diemTb;     public void setHoTen(String hoTen1) { //hoTen1 là biến cục bộ nhập vào, thường để trùng tên thuộc tính như các hàm setter phía dưới        this.hoTen = hoTen1;    }     public void setLop(String lop) {        this.lop = lop;    }     public String getHoTen() {        return hoTen;    }     public String getLop() {        return lop;    }     public float getDiemTb() {        return diemTb;    }     public void setDiemTb(float diemTb) {        this.diemTb = diemTb;    }} public class JavaDemoAndroidVn {     public static void main(String[] args) {        HocSinh a = new HocSinh();        a.setHoTen("Vu Van T");        a.setLop("At7a");        a.setDiemTb(7.5f);         System.out.println("Họ tên: " + a.getHoTen());        System.out.println("Lớp: " + a.getLop());        System.out.println("Điểm Tb: " + a.getDiemTb());    }} 
Các bạn nên xem video sau của blog StudyAndShare để hiểu hơn!
3, Cách tự chèn các phương thức getter và setter:Khi bạn mới code java thì chưa nên dùng cách này, thực sự hiểu getter và setter rồi thì mới nên dùng.Ở cả 2 IDE phổ biến đều hỗ trợ tự chèn các phương thức getter và setter. Với những bài khi khai báo nhiều biến, dùng tính năng này sẽ rất tiện!Với Netbeans:Bạn nháy chuột phải lên vị trí soạn thảo code, chọn Insert CodeSau đó sẽ hiện ra 1 menu nhỏ, bạn chọn getter, setter hoặc getter and setter tùy mục đích bạn dùng!Bạn sẽ thấy Netbeans tự sinh code cho các phương thức đó!
Với Eclipese:Bạn vào Source --> Generate Getter and Setter rồi chọn biến cần tạo phươngthức getter và setter là được!
Bài tập về nhà:Bài 1: Tạo package nhân sự, trong có 2 class là sinh viên và giảng viênClass sinh viên gồm các thuộc tính: họ tên, lớp học, điểm toán, lý, hóa.Class giảng viên gồm các thuộc tính: họ tên, lớp dạy, năm sinh, lương.Tạo đối tượng học sinh a.Tạo đối tượng giảng viên b.Các giá trị của thuộc tính a và b nhập vào từ bàn phím.Xử lý dữ liệu báo ra thông tin của a và b, tính và báo ra điểm trung bình của a,xếp loại học lực, báo b có dạy a hay không!Các thuộc tính để private, sử dụng phương thức getter, setter.Lập trình hướng đối tượng!
Bottom of Form

File đính kèm:

  • docxTự học Java.docx
Tài liệu liên quan