Ngày nay, cùng với sự vươn lên của đất nước, hòa vào đó Công nghệ thông tin là một ngành đã có những bước phát triển mạnh mẽ không ngừng và nó đã trở thành chiếc chìa khóa dẫn đến thành công cho nhiều cá nhân, tổ chức. Với những ứng dụng của mình, công nghệ thông tin đã góp phần mang lại nhiều lợi ích mà không ai có thể phủ nhận được. Đặc biệt là trong lĩnh vực quản lý kinh tế, công nghệ thông tin đã góp phần tạo ra sự thay đổi nhanh chóng cho bộ mặt xã hội. Trong quá trình thực hiện đề tài nhóm đã gặp phải không ít khó khăn và trở ngại, tuy nhiên, với sự giúp đỡ của bạn bè, cùng sự hướng dẫn tận tình, chỉ bảo cặn kẽ của giảng viên Ths. Nguyễn Văn Tỉnh, cuối cùng chúng em cũng đã cố gắng hoàn thành đề tài này với tất cả sự cố gắng và nỗ lực. Chúng em xin được gửi lời cảm ơn tới những người bạn đã góp ý và giúp đỡ nhóm, và đặc biệt là cảm ơn thầy, người đã giúp chúng tôi xác định được những yêu cầu và mục tiêu đề tài, truyền dạy các kĩ năng nghiệp vụ cũng như hướng dẫn cho chúng tôi cách thức thực hiện đề tài..
BỘ CÔNG THƯƠNG TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP HÀ NỘI KHOA CÔNG NGHỆ THÔNG TIN - - BÁO CÁO BTL ĐỒ ÁN CHUYÊN NGÀNH CNPM Đề tài : Tìm Hiểu JAVA Và Xây Dựng Game Mario Giảng viên hướng dẫn : Ths Nguyễn Văn Tỉnh Nhóm thực : Nhóm 21 Mai Huy Cảnh Ngô Văn An Trần Văn Tam Hà Nội, tháng 11 năm 2015 LỜI CẢM ƠN Ngày nay, với vươn lên đất nước, hòa vào Công nghệ thông tin ngành có bước phát triển mạnh mẽ không ngừng trở thành chìa khóa dẫn đến thành công cho nhiều cá nhân, tổ chức Với ứng dụng mình, công nghệ thông tin góp phần mang lại nhiều lợi ích mà không phủ nhận Đặc biệt lĩnh vực quản lý kinh tế, công nghệ thông tin góp phần tạo thay đổi nhanh chóng cho mặt xã hội Trong trình thực đề tài nhóm gặp phải không khó khăn trở ngại, nhiên, với giúp đỡ bạn bè, hướng dẫn tận tình, bảo cặn kẽ giảng viên Ths Nguyễn Văn Tỉnh, cuối chúng em cố gắng hoàn thành đề tài với tất cố gắng nỗ lực Chúng em xin gửi lời cảm ơn tới người bạn góp ý giúp đỡ nhóm, đặc biệt cảm ơn thầy, người giúp xác định yêu cầu mục tiêu đề tài, truyền dạy kĩ nghiệp vụ hướng dẫn cho cách thức thực đề tài Do kiến thức thực tế hiểu biết hạn chế nên trình hoàn thành báo cáo không tránh khỏi sai sót, nhóm chúng em mong góp ý đóng góp thầy bạn để nhóm hoàn thiện tập lớn tốt Chúng em xin chân thành cảm ơn! Nội Dung MỞ ĐẦU Đề tài Tên đề tài: - Tìm hiểu Java Xây dựng Game Mario Lý chọn đề tài - Hiện nay, ngành Công nghệ thông tin có bước phát triển nhanh chóng ứng dụng lĩnh vực sống phạm vi toàn giới nói chung việt nam nói riêng Công nghệ thông tin phần thiếu sống văn minh, góp phần đẩy mạnh công công nghiệp hóa đại hóa đất nước Việc ứng dụng thành khoa học công nghệ vào đời sống, công tác thiết yếu Ứng dụng công nghệ thông tin kết hợp với truyền thông hóa xem yếu tố mang tính định hoạt động công ty, tổ chức, đóng vai trò quan trọng thiếu Công nghệ thông tin truyền thông hóa góp phần làm thay đổi suy nghĩ, lối mòn tư người, giúp người động hơn, kết nối nhanh lúc nơi làm tăng mức độ hiệu quả, suất công việc - Java công nghệ xây dựng ứng dụng phần mềm có vị trí lớn năm cuối kỉ 20, đầu kỉ 21 Nó coi công nghệ mang tính cách mạng khả thi việc tạo ứng dụng có khả chạy thống nhiều tảng mà cần biên dịch lần Là ngôn ngữ bậc cao C, C++, Perl, SmallTalk, dùng để tạo ứng dụng để giải vấn đề số, xử lý văn bản, tạo trò chơi, nhiều thứ khác - Trong trình tìm hiểu chúng em thấy hứng thú với Bộ công cụ hỗ trợ việc tạo giao diện người dùng (GUI) Swing công cụ tiện ích, phần ngôn ngữ lập trình Java tổng thể hỗ trợ cho người dùng tạo cửa sổ windows, layout cho phần mềm, tạo control cho phép người dùng tương tác nên chúng em định sử dụng công cụ Java để xây dựng game Mario để thấy rõ khả mạnh mẽ Mục đích - mục tiêu đề tài Mục đích: - Nắm được kỹ kiến thức lập trình - Tìm hiểu lập trình hướng đối tượng java - Tìm hiểu công cụ Swing java để xây dựng game - Nắm bắt quy trình làm game hoàn chỉnh theo tiêu chuẩn Mục tiêu: - Vận Dụng tính chất lập trình Hướng Đối Tượng - Ứng dụng Swing vào việc xây dựng Game Mario Bố cục đề tài Nội dung gồm phần : Phần I: Mở đầu - Phần bao gồm thông tin đề tài như: + Tên đề tài + Mục đích + Lý để xây dựng đề tài Phần II: Nội dung (gồm chương) - Chương I: Tìm hiểu Java Chương nhóm tiền hành tìm hiểu ngôn ngữ lập trình hướng đối tượng Java Về phương pháp lập trình hướng đối tượng Java, công cụ hỗ trợ việc tạo giao diện người dùng, số thuộc tính cần dung java Swing phục vụ cho nhóm làm game Mario Chương II: Tìm hiểu quy trình làm game - Trong chương này, nhóm nêu quy trình làm game hoàn chỉnh: từ bắt đầu dự án sản phẩm kiểm tra đóng gói để sẵn sàng đưa thị trường phục vụ người dùng Chương III: Xây dựng game - Chương bao gồm kịch Game đối tượng xây dựng Game PHẦN I: TÌM HIỂU JAVA I Giới thiệu java Lịch sử java - Năm 1990, James Gosling, Bill Joy, Patrick Naughton (Sun MicroSystem) phát triển ngôn ngữ Oak (có nghĩa “Cây xồi”; bên quan ông - Gosling có trồng nhiều loại này) Năm 1995 đổi tên thành Java Ngày 27 tháng năm 2010, Sun bị hãng Oracle Corporation mua với giá US$7,4 tỷ, theo thỏa ước ký ngày 20 tháng 2009 Một tháng sau đó, Sun nhập với Oracle USA để trở thành Oracle America, Inc Java gì? - Là ngôn ngữ OOP đầy đủ, viết ứng dụng hướng thủ tục - Java Có thể giải họ toán ngôn ngữ lập trình khác Sử dụng chế: Thông dịch | Biên dịch Viết mã một, chạy nơi nào, lúc nào, mãi Đặc điểm java - Đơn giản ( simple) Tương tự C++ bỏ bớt đặc tính phức tạp C++ như: quản lý nhớ, pointer, overload toán tử, không dùng include, bỏ - struct, union Hướng đối tượng (OO) Mọi thứ Java đối tượng Phân tán (Distributed) Nhắm đến phân bố ứng dụng mạng, ứng dụng độc - lập platform Mạnh (Robust) Định kiểu mạnh, tường minh, kiểm tra lúc biên dịch kiểm tra thông dịch trước thực thi -> Giới hạn lỗi; kiểm tra truy xuất phần tử mảng, chuỗi lúc thực thi, kiểm tra ép kiểu run-time Có trình gom rác – - garbage collection- programmer không cần phải lo toan đến việc hủy đối tượng Bảo mật (Secure): Kiểm tra an toàn code trước thực thi, có nhiều mức kiểm tra bảo mật Môi trường thực thi an toàn Mức 1: Mức ngôn ngữ: Nhờ tính bao gói liệu OOP, không cho phép truy cập trực tiếp nhớ mà phải thông qua method Mức 2: Mức Compiler, kiểm tra an toàn cho code trước biên dịch Mức 3: Mức Interpreter, trước bytecode thực thi, kiểm tra - an toàn Mức 4: Mức Class, class trước nạp kiểm tra an toàn Hiệu xuất cao, đa luồng, linh động ….v….v Hình ảnh: mức độ an toàn ngôn ngữ JVM gì? - JVM- Java Virtual Machine : trung tâm Java - Là phần mềm giả lập máy tính : có tập lệnh định nghĩa tác vụ Các phiên JDK - JDK 1.0 (23 tháng 01, 1996) - JDK 1.1 (19 tháng 2, 1997) - JDK 1.1.5 (Pumpkin) 03 tháng 12, 1997 - JDK 1.1.6 (Abigail) 24 tháng 4, 1998 - JDK 1.1.7 (Brutus) 28 tháng 9, 1998 JDK 1.1.8 (Chelsea) 08 tháng 4, 1999 J2SE 1.2 (Playground) 08 tháng 12, 1998 J2SE 1.2.1 (không có) 30 tháng 3, 1999 J2SE 1.2.2 (Cricket) 08 tháng 7, 1999 - J2SE 1.3 (Kestrel) 08 tháng 5, 2000 - J2SE 1.3.1 (Ladybird) 17 tháng 5, 2001 - J2SE 1.4.0 (Merlin) 06 tháng 02, 2002 o J2SE 1.4.1 (Hopper) 16 tháng 9, 2002 o J2SE 1.4.2 (Mantis) 26 tháng 6, 2003 - J2SE (1.5.0) (Tiger) 30 tháng 9, 2004 - Java SE (còn gọi Mustang), công bố 11 tháng 12 năm 2006, thông tin http://java.sun.com/javase/6/ Các cập nhật đưa vào năm 2007, cập nhật đưa tháng năm 2008 - JDK 6.18, 2010 - Java SE (còn gọi Dolphin), tháng năm 2006 công bố ngày 28 tháng năm 2011 - JDK 8, 18 tháng năm 2014 - Phiên dự kiến tiếp theo: Java dự kiến đời năm 2016 II Tìm hiểu Java Khái niệm lớp đối tượng - Đối tượng (Object): vật,người,… cụ thể - Đối tượng = Properties + Methods - Lớp (class): Mô hình (template) mô tả cho nhóm đối tượng Đối tượng - hữu, thực thể (instance) class Một lớp lớp (derived class- lớp dẫn xuất, lớp thừa kế, lớp mở - rộng-extend) lớp khác -> Quan hệ cha-con Class Hierarchy- Phân cấp class:Cấu trúc lớp lớp (tree) Từ khóa cách đặt tên - Từ khóa cho kiểu liệu : 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óa đặc tả đặc tính method: private, public, protected, final, static, - abstract, synchronized, volatile, strictfp Hằng (literal): true, false, null Từ khóa liên quan đến method: return, void 10 - Constructor: + JTextField(): Tạo JTextField + JTextField(Document doc, String text, int columns): Tạo JTextField sử dụng mô hình lưu trữ văn với đoạn text số cột (coloumns) + JTextField(int columns): Tạo JTextField trống với độ rộng columns + JTextField(String text): Tạo JTextField với text cho trước + JTextField(String text, int columns): Tạo JTextField với text độ rộng cho trước - Common Methods: + void setEchoChar (char c) - ấn định ký tự thể (password) + void setText(String S) + String getText() + void setEditable(boolean b) + boolean isEditable() 36 JButton - JButton: đối tượng mà cho phép click chuột vào thực việc Ví dụ: tạo hành động cho jbutton package quyetdv.javaswing.components; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import javax.swing.JButton; import javax.swing.JFrame; import javax.swing.JLabel; public class JButtonDemo extends JFrame { private JLabel label; public JButtonDemo() { setSize(250, 100); setVisible(true); setLocation(500, 300); setResizable(false); setTitle("JButton Demo"); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); // Create label label = new JLabel("A JLabel"); add(label); // Create button JButton button = new JButton("Click me"); add(button, "North", 1); // add ActionListener button.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent arg0) { 37 // TODO: Do something here changeText(); } }); } public void changeText() { label.setText("Label after Click button"); } public static void main(String[] args) { JButtonDemo buttonDemo = new JButtonDemo(); } } Sau click button - Constructors + JButton() : Tạo Button text icon + JButton(Action a) : Tạo Button có thuộc tính lấy từ Action + JButton(Icon icon) : Tạo Button định icon + JButton(String text) : Tạo Button định text + JButton(String text, Icon icon) : Tạo Button định text icon - Common Methods + void setLabel(String) - đổi nhãn + String getLabel() - lấy nội dung nhãn Phần II: Quy trình làm game I Giới thiệu 38 - Hàng năm, có đến hàng triệu game dành cho tất dòng máy, từ trò chơi dành cho máy tính cấu hình cao đến loại game ứng dụng dành cho điện thoại hay smartphone Đã chơi trò chơi, bạn tự hỏi cách mà họ tạo game hay dở tệ này? Dù có hay hay không để làm lên game đòi hỏi nhiều công sức bỏ nhà thiết kế đội ngũ nhân viên phát triển Để khởi động việc làm game theo cách đắn để tránh bước sai lầm không đáng có cần phải nắm rõ quy trình Trước tiên phát triển trò chơi cộng tác, phối hợp - Phát triển trò chơi công việc kinh doanh khó khăn Nếu hướng việc làm chơi làm miễn để chơi Nhưng làm để bán thu lại lợi nhuận việc phát triển trò chơi lúc không đơn giản tí nào, tốn nhiều chi phí, thời gian nhân lực để hoàn thiện trò chơi thường đem lại mức lợi nhuận nhiều so với mong đợi Những trò chơi thành công thường cần có phối hợp chặt chẽ sáng tạo, kỹ thuật chiến lược kinh doanh Một cân tốt yếu tố chìa khóa để thành công yếu tố trội lên dự án game gặp vấn đề Thực tế cân đạt Sự khởi đầu - Một nhà thiết kế game tốt bắt nguồn từ điều đơn giản: Ý TƯỞNG Trò chơi bắt nguồn từ ý tưởng Ý tưởng có từ khắp nơi sống, từ điều nhỏ nhặt xung quanh công việc nội trợ, bếp núc đến vấn đề vô nóng bỏng trang mặt báo chiến tranh, khủng bố hay ý tưởng đến từ phim bom công chiếu giới Mọi thứ phát triển từ đó, Cho dù thiết lập nhỏ, nhân vật cấu trúc trò chơi, ý tưởng dạng thiết kế trò chơi qua vài biến hóa, chúng trở thách nhiệm vụ vô khó khăn, mà khiến cho game thủ vô thích thú để khám phá chơi 39 đến tận trò chơi Bước trả lời cho câu hỏi làm để thực nó? Nó thực thi nào? (Tất phụ thuộc vào tình hình - tài công ty) Người thực làm trò chơi mà chơi gọi developers (nhà phát triển) Những nhà phát hành lớn lại thường muốn lấy danh tiếng họ thường có đội ngũ phát triển riêng vai trò lớn nhà phát hành hỗ trợ Khi nhà phát triển bắt đầu dự án, điều họ cần làm đảm bảo nguồn đầu tư Cách phổ biến để làm điều chọn lấy nhà phát hành để họ đầu tư tiền, phân phối game đến tay người dùng thu lại lợi nhuận Quá trình xây dựng game hoàn chỉnh - Khi phát triển game, có người viết code ngay, có người dành thời gian tạo tài liệu thiết kế thật chi tiết, rõ giai đoạn phát triển game, từ ý tưởng kịch bản, thuộc tính nhân vật, phong cách chủ đạo cho đồ họa âm phân bố độ khó cho chơi Thông thường, tài liệu ban đầu xây dựng chi tiết thời gian phát triển nhanh, sản phẩm cuối có chất lượng tốt không khác biệt nhiều so với ý tưởng ban đầu 40 - Trong đội phát triển game thường có nhiều người, tối thiểu phải có - vị trí sau: Lập trình Thiết kế đồ họa Soạn nhạc hiệu ứng âm Viết kịch Kiểm tra đóng goi sản phẩm Nhiều người lầm tưởng ý tưởng cốt truyện thiết kế game Xây dựng cốt truyện phần nhỏ công việc nhà thiết kế game Bộ phận thiết kế game suy nghĩ khía cạnh game như: cốt truyện, góc quay, hệ thống điều khiển, vũ khí đồ vật, nhân vật, tốc độ chuyển, cấu trúc nhiệm vụ cá nhân, giao diện, hệ thống menu, gần thứ game Mọi chi tiết game phải viết bạn làm việc với nhà phát hành, họ muốn thông qua trước Điều giúp cho thiết kế - game trở tiết cập nhật liên tục suốt trình làm dự án Qua cần phải có tài liệu thật tốt để người có chung tiếng nói, hiểu mục tiêu chung phát triển tốt sản phẩm game II Tổng quát, phát triển game gồm giai đoạn: Giai đoạn tiền sản phẩm/ý tưởng - Ở giai đoạn này, thành viên phát triển ý tưởng, sau thống với - đội để xác định ý tưởng chủ đạo sản phẩm Qua giai đoạn này, ý tưởng cho lập trình, nội dung, thể loại game (action, puzzle, adventure, platform, sport, RPG ), phong cách đồ họa âm nhạc dần hình thành thể qua biểu đồ, đặc tả, thông số thử nghiệm, hình vẽ tay nhân vật (sketch), giai điệu nhạc lựa chọn thống xuyên suốt giai đoạn phát triển Đặc tả lập trình - Đây giai đoạn quan trọng trình thiết kế game Bạn bỏ nhiều thời gian cho giai đoạn lập trình, gỡ lỗi nhàn hạ Lập trình viên chuyên nghiệp hiểu lỗi xuất trình thiết kế thiệt hại nhiều so với lỗi phát giai đoạn 41 - Bạn cần giấy, bút hay chương trình văn với vài người khác chơi thử game Khi “chơi thử” cách ghi giấy, ưu/khuyết thiết kế lộ rõ bạn chỉnh sửa cảm thấy vừa ý Lập trình, đồ họa, nhạc, hiệu ứng âm Lập trình: - Với đặc tả có, dự tính thời lượng cho việc lập trình, tính toán ngày công kỹ để ước tính khối lượng công việc dễ theo dõi tiến độ Đồ họa (Art) : 42 - Bộ phận đồ họa chịu trách nhiệm cho phong cách hình ảnh game Có nhiều vai trò bên phận đồ họa tất bắt đầu với họa sỹ phác thảo Những phác thảo đơn giản vẽ sơ đầy đủ chi tiết màu sắc Họ thiết lập phong cách hình ảnh game đem lại cho thành viên lại đội ngũ đồ họa cảm hứng để tạo nhân vật - môi trường Họa sỹ phụ trách vẽ nhân vật phác thảo hình 2D sử dụng để tạo mô hình 3D Họa sỹ phụ trách vẽ môi trường vẽ thủ công texture mô hình để mang lại sống cho chơi Họa sỹ phụ trách mảng hiệu ứng hình ảnh tạo hình ảnh để thể vụ nổ, thời tiết, Họa sỹ phụ trách mảng hoạt hình tạo nhân vật hoạt họa riêng lẻ Sau kết hợp với mã - nguồn lập trình viên để hoạt động Mỗi qui trình đơn giản game đòi hỏi cộng tác bên Ví dụ, chí vài thứ đơn giản tạo nhân vật phải có tham gia phận Họa sỹ tạo chuỗi hình lặp thể hành động nhân vật lập trình viên đảm bảo nhân vật chuyển khoảng cách, tốc độ kích hoạt hành động bạn nhấn nút W Những thông số đặc tả định nhà thiết kế (designer) 43 Âm - Gần đến cuối giai đoạn sản xuất, nhà thiết kế âm tạo hiệu ứng âm thanh, nhạc thu âm giọng nói cần Việc thường để gần cuối thay đổi phổ biến phát triển game Nhà thiết kế âm tạo âm hiệu ứng để khớp với hành động game nhạc để tạo chiều sâu cho môi trường xung quanh Họ xếp diễn viên nam nữ để thu âm đoạn hội thoại Thiết kế âm thường đặt hàng làm từ bên đòi hỏi phải có thiết bị chuyên dụng trình thường hoàn tất vài tháng cuối trình sản xuất Thử nghiệm, kiểm định, đóng gói 44 - Bộ phận cuối nhúng tay vào qui trình phát triển trò chơi nhà kiểm định (testers) Bắt đầu việc kiểm định trò chơi bạn sớm việc tốt thực tế, trình thường diễn giai đoạn cuối Những nhà kiểm định họ chơi thử, cố gắng tìm báo cáo lỗi vào sở liệu Những người lại đội ngũ phát triển sửa lỗi họ giao game không lỗi nghiêm trọng, lúc trò chơi sẵn sàng để phát hành Quyết định ấn định ngày phát hành thường nhà quản lý kinh nghiệm nhà phát hành Đối với game cho hệ máy console, có thêm bước kiểm định phải vượt qua nữa, kiểm định yêu cầu kỹ thuật (technical requirement checklist) Ví dụ: bạn phát hành trò chơi PS3, bạn gửi trò chơi bạn tới Sony, họ kiểm định gửi lại yêu cầu thay đổi may mắn bạn vượt qua trình trò chơi bạn phát hành - Đóng gói: tùy vào mục đích phát triển game cho di động hay máy tính… phải “xuất” hay đóng gói cho dòng máy khác (do dòng máy khác phím nhấn, nhớ thư viện hỗ trợ… ) 45 PHẦN III: Xây Dựng Game I Phân tích đối tượng game Mario (Người chơi điều khiển) Đạn Boss - Nấm - Rùa Rùa di chuyển Rùa bay Rùa ném tiêu - Hoa dại - Nhím - Mây ném nhím Gift - Nấm tăng trưởng (Giúp Mario lơn 50%) - Nấm tăng mạngSao may mắn (Giúp Mario va chạm với boss không - sao) Bông hoa lấp lánh (Giúp Mario bắn đạn được) 46 II Biểu đồ Uc hệ thống 47 MoveLeft MoveDown MoveRight MoveUp Dame StartGame HightScore Player Sound Option GuidePlayGame Brightness Exit Tổng kết - Java ngôn ngữ OOP JVM trái tim Java JDK công cụ hỗ trợ lập trình Nắm kiến thức java : kiểu liệu,mảng… Các đối tượng swing Nắm bắt hiểu rõ quy trình làm game 48 Tài liệu tham khảo http://tutorialspoint.com/java/ http://java2s.com/ http://www.javapractices.com Introduced by javalobby.org http://www.onjava.com- O'Reilly's Java website New articles weekly http://java.sun.com- The official Java developer website - new articles posted 49 weekly http://www.developer.com/java- Java articles hosted by Gamelan.com http://www.java.net- The Java community website hosted by Sun Microsystems http://www.ibm.com/developerworks/java- IBM's Developerworks; the Java section http://www.javaworld.com- One of the originals Weekly updates of Java articles http://www.devx.com/java- Java articles hosted at DevX http://www.javadesktop.org- The desktop Java community hosted atJava.net http://www.jars.com- The Java review service Covers frameworks and applications http://www.jguru.com- A great source for Q&A style interaction in the community http://www.javaranch.com http://www.ibiblio.org/javafaq/javafaq.html- The comp.lang.java FAQ - questions asked, answered, and categorized from the comp.lang.java newsgroup http://java.sun.com/docs/books/tutorial/- The Official Java tutorial from Sun - very useful for almost any feature set https://quyetdo289.wordpress.com/?s=JFrame 50 [...]... và gán giá trị Cộng các giá trị của toán hạng bên trái vào toán += hạng bên phải và gán giá trị trả về vào toán hạng bên trái Vd: c+=a tương đương c =c+a -= Trừ và gán giá trị Trừ các giá trị của toán hạng bên trái vào toán toán hạng bên phải và gán giá trị trả về vào toán hạng bên trái.Vd: c -= a tương đương c = c – a Nhân và gán Nhân các giá trị của toán hạng bên trái với toán toán hạng bên phải và. .. gán giá trị trả về vào toán hạng bên trái Vd: c *= a tương đương c = c*a Chia và gán Chia giá trị của toán hạng bên trái cho toán toán hạng bên phải và gán giá trị trả về vào toán hạng bên trái D: c /= a tương đương c = c/a Lấy số dư và gán Chia giá trị của toán hạng bên trái cho toán toán hạng bên phải và gán giá trị số dư vào toán hạng bên trái Ví dụ c %= a tương đương c = c%a Toán tử Bit: Các toán... 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ụ 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 int var = 20; int p,q,r,s; p=q=r=s=var; 14 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... trị của toán hạng bên phải có lớn hơn hoặc bằng toán hạng bên trái haykhông Nhỏ hơn hoặc bằngKiểm tra giá trị của toán hạng bên phải có nhỏ hơn 13 hoặc bằng toán hạng bên trái haykhô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 Boolean Một - vài toán tử kiểu này được chỉ ra dưới đây Toán tử && | ^ ! - Mô tả Và (AND)Trả về một giá trị “Đúng” (True) nếu chỉ khi cả hai toán tử có giá... ‘s’ được gán cho ‘r’ và cứ tiếp như vậy - Thứ tự ưu tiên của các toán tử: Các biểu thức được viết ra nói chung gồm nhiều toán tử Thứ tự ưu tiên quyết định trật tự thực hiện các toán tử trên các biểu thức Bảng dưới đây liệt kê thứ tự thực hiện các toán tử trong Java Thứ tự Toán tử 1 2 Các toán tử đơn như +,-,++,– 3 4 Các toán tử số học và các toán tử dịch như *,/,+,-, Các toán tử quan hệ như >,=, < >=