1. Trang chủ
  2. » Luận Văn - Báo Cáo

Luận văn: Thực tập lập trình game dựa trên công nghệ java module

62 740 0
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Luận văn: Thực tập lập trình game dựa trên công nghệ java module
Trường học Trung Tâm Tin Học - Đại Học Khoa Học Tự Nhiên TP. HCM
Chuyên ngành Kỹ thuật phần mềm
Thể loại đề cương chi tiết khóa học
Năm xuất bản 2014
Thành phố Hồ Chí Minh
Định dạng
Số trang 62
Dung lượng 9,86 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Mục tiêu Sau khi hoàn thành module 1 , học viên sẽ có khả năng:  Nắm vững khái niệm cơ bản trong ngôn ngữ lập trình JAVA  Thiết kế giao diện windows forms đơn giản  Làm việc với tập

Trang 1

227 Nguyễn Văn Cừ – Quận 5 – Tp Hồ Chí Minh

Tel: 8351056 – Fax 8324466 – Email: ttth@hcmus.edu.vn

ĐỀ CƯƠNG CHI TIẾT

KHĨA HỌC LẬP TRÌNH CƠNG NGHỆ JAVA

Module 1: Java cơ bản

Trang 2

Mục tiêu

Sau khi hoàn thành module 1 , học viên sẽ có khả năng:

 Nắm vững khái niệm cơ bản trong ngôn ngữ lập trình JAVA

 Thiết kế giao diện windows forms đơn giản

 Làm việc với tập tin, mảng

 Lập trình hướng đối tượng cơ bản

 Đưa dịch vụ vào sử dụng trong ứng dụng windows forms

 Xây dựng ứng dụng nhỏ

 Lập trình có phong cách, phối hợp làm việc nhóm tốt, quản lý thời gian hiệu quả

Đối tượng học viên

 Học sinh, đã tốt nghiệp PTTH (chương trình LTV dành cho HV)

 Sinh viên các trường Đại học, Cao đẳng, Trung cấp có kiến thức lập trình cơ bản (chương trình LTV dành cho SV)

Phần mềm sử dụng

 Windows 7.0

 Eclipse (plugin Windows Builder Pro)

Phân bố bài giảng

1 Tổng quan - Môi trường làm việc

2 Kiểu dữ liệu cơ sở

Trang 3

 Giới thiệu ứng dụng Java

 Tổng quan về lập trình (Programming) , chương trình (Program), ngôn ngữ lập trình

(Programming Language), ngôn ngữ trung gian của Java (Byte code)

 Lịch sử phát triển của Java

 Môi trường phát triển ứng dụng

 Giới thiệu về Eclipse

 Các thành phần của Eclipse

 Cài đặt Eclipse và Plugin

 Xây dựng ứng dụng đầu tiên

 Cấu trúc chương trình viết bằng Java

 Xây dựng và thực thi chương trình viết bằng Java

Trang 4

BÀI 2: KIỂU DỮ LIỆU CƠ SỞ

Mục tiêu

Kết thúc bài học này, học viên sẽ có khả năng:

- Sử dụng các kiểu dữ liệu cơ sở

- Nắm được cú pháp ngôn ngữ Java trong lập trình ứng dụng

- Ôn lại các toán tử, các cấu trúc điều khiển, cách xử lý lỗi

Dàn bài

 Kiểu dữ liệu và chuyển đổi kiểu dữ liệu

 Kiểu cơ sở

 Kiểu tham chiếu

 Cơ chế chuyển đổi kiểu dữ liệu

 Biến và hằng số

 Khái niệm biến

 Khái niệm hằng số

 Quy ước đặt tên biến và hằng số

 Cú pháp khai báo biến và hằng số

 Các xử lý trên kiểu String

 Khái niệm kiểu String, các phương thức xử lý trên String

 Lớp StringBuilder

 Lớp StringTokenizer

Trang 5

BÀI 3: GIAO DIỆN 1

Trang 6

BÀI 4: XỬ LÝ TẬP TIN

Mục tiêu

Kết thúc bài học này, học viên có thể thao tác trên tập tin để đọc và xử lý nội dung tập tin

Dàn bài

 Tổng quan về I/O Stream

 Khái niệm về I/O Stream

 Đọc dữ liệu nhị phân với Byte Stream

 Đọc dữ liệu ký tự với Character Stream

 Sử dụng vùng đệm trong xử lý đọc ghi dữ liệu với Buffered Stream

 Đọc ghi dữ liệu theo định dạng với Scanning và Formating

 Xử lý đọc ghi dữ liệu với Data Stream

 Xử lý đọc ghi các đối tượng với Object Stream

 Tổng quan về làm việc với tập tin (File I/O)

 Làm việc với đường dẫn tập tin

 Kiểm tra tồn tại tập tin

 Tạo mới, xóa, di chuyển tập tin

Trang 8

BÀI 6: GIAO DIỆN 2

Trang 9

BÀI 7: ĐỐI TƯỢNG

 Xây dựng lớp đối tượng

 Tạo lớp và đối tượng

 Biến thực thể, các chỉ định từ truy xuất: public, private, protected, default

 Phương thức khởi tạo

Trang 12

Mục lục

Mục tiêu 2

Đối tượng học viên 2

Phần mềm sử dụng 2

Phân bố bài giảng 2

DÀN Ý CHI TIẾT 3

BÀI 1: TỔNG QUAN - MÔI TRƯỜNG LÀM VIỆC 3

Mục tiêu 3

Dàn bài 3

BÀI 2: KIỂU DỮ LIỆU CƠ SỞ 4

Mục tiêu 4

Dàn bài 4

BÀI 3: GIAO DIỆN 1 5

Mục tiêu 5

Dàn bài 5

BÀI 4: XỬ LÝ TẬP TIN 6

Mục tiêu 6

Dàn bài 6

BÀI 5: MẢNG CƠ SỞ 7

Mục tiêu 7

Dàn bài 7

BÀI 6: GIAO DIỆN 2 8

Mục tiêu 8

Dàn bài 8

BÀI 7: ĐỐI TƯỢNG 9

Mục tiêu 9

Dàn bài 9

BÀI 8: SỬ DỤNG DỊCH VỤ 10

Mục tiêu 10

Dàn bài 10

BÀI 9: TỔNG KẾT 11

Mục tiêu 11

Dàn bài 11

Mục lục 12

Trang 13

BÀI 1: Tổng quan – Môi trường làm việc

- Xem slide module 1 – bài 1 – mục 1

d Ngôn ngữ trung gian của Java

- Xem slide module 1 – bài 1 – mục 1

2 Lịch sử phát triển của Java

- Xem slide module 1 – bài 1 – mục 1

3 Môi trường phát triển ứng dụng

a Giới thiệu Eclipse

- Xem slide module 1 – bài 1 – mục 2

Trang 14

b Các thành phần của Eclipse

- Xem slide module 1 – bài 1 – mục 2

c Cài đặt Eclipse & plugin

- Cài đặt Eclipse

Xem slide module 1 – bài 1 – mục 2

- Cài đặt Plugin

Xem slide module 1 – bài 1 – mục 2

4 Xây dựng và thực thi chương trình viết bằng Java

a Cấu trúc chương trình viết bằng Java

- Xem slide module 1 – bài 1 – mục 3

b Xây dựng và thực thi chương trình

- Xem slide module 1 – bài 1 – mục 3

c Tạo Project

- File > New > Java Project > nhập tên của Project > chọn vị trí lưu trữ hoặc để vị trí mặc định > Finish

- Cấu trúc Project:

- Xem slide module 1 – bài 1 – mục 3

d Tạo một ứng dụng trên Console

- Chọn Project chứa ứng dụng > src > New > Class > nhập tên của class > Finish

- Ví dụ: Tạo ứng dụng xuất câu chào như sau:

- Source

Trang 15

e Tạo một ứng dụng Windows Form:

- Chọn Project chứa ứng dụng > src > New > Others… > chọn JFrame

> nhập tên của ứng dụng > Finish

- Ví dụ: Tạo ứng dụng xuất câu chào như sau:

- Hướng dẫn:

+ Khai báo biến:

private static final String CAU_CHAO = "Chào bạn %s, chào mừng bạn đến với ngôn ngữ lập trình Java.";

Trang 16

BÀI 2: Kiểu dữ liệu cơ sở

1 Kiểu dữ liệu và chuyển đổi kiểu dữ liệu

- Xem slide module 1 – bài 2 – mục 1

Cơ chế chuyển đổi kiểu dữ liệu

- Xem slide module 1 – bài 2 – mục 1

2 Biến và hằng số

a Khái niệm biến

- Xem slide module 1 – bài 2 – mục 1

b Khái niệm hằng số

- Xem slide module 1 – bài 2 – mục 2

c Quy ước đặt tên biến và hằng số

- Tên biến có thể gồm các ký tự chữ, ký tự số, dấu gạch dưới ‘_’, và dấu ‘$’

- Tên biến phải bắt đầu bằng ký tự chữ

- Tên biến không được trùng với từ khóa và từ dành riêng của Java

- Tên biến có phân biệt chữ hoa – thường

- Nếu tên biến chỉ gồm một từ đơn, tên biến nên viết chữ thường

- Nếu tên biến gồm nhiều từ, ký tự đầu của từ đầu viết thường, ký tự đầu của mỗi từ kế tiếp viết hoa

d Cú pháp khai báo biến và hằng số

- Khai báo biến

- Xem slide module 1 – bài 2 – mục 2

- Khai báo hằng

Trang 17

- Xem slide module 1 – bài 2 – mục 2

3 Các toán tử

a Toán tử gán

b Toán tử số học

c Toán tử một ngôi

Trang 18

kq= a == b ? true: false; // kq=false

f Toán tử tiền tố, hậu tố

Trang 19

- Các toán tử tăng (++) và giảm ( ) được sử dụng để làm tiền tố và hậu tố Trong trường hợp tiền tố, các toán tử tăng hoặc giảm được đặt trước biến kiểu dữ liệu đơn giản

g Độ ưu tiên toán tử

- Tính kết hợp và độ ưu tiên toán tử

Trang 20

4 Các câu lệnh điều kiện

- Cho phép chúng ta thay đổi luồng thi hành của chương trình dựa vào các biểu thức điều kiện

- Các câu lệnh điều kiện:

- Lưu đồ

- Ví dụ:

Xét kết quả học tập: nếu điểm trung bình >=5: kết quả là “Đậu”

double dtb;

Trang 21

else{

// Khối lệnh B }

Trang 22

- Là các câu lệnh if else if nối đuôi

- Điều kiện sẽ được kiểm tra tuần tự từ đầu đến cuối

Trang 23

d Câu lệnh switch – case

- Câu lệnh switch – case được dùng để thay thế cho câu lệnh if – else –

// câu lệnh;

break;

default:

Trang 24

//câu lệnh;

}

- Ví dụ

Nhập vào tháng, năm, tìm số ngày tối đa của tháng

int thang, nam;

// nhập giá trị cho thang, nam

Trang 26

- Cú pháp

do{

// Khối lệnh lặp }

while (Điều kiện lặp);

Trang 27

for (biểu thức khởi tạo biến đếm;

điều kiện lặp;

biểu thức tăng/giảm giá trị biến đếm){

// Khối lệnh lặp }

d Câu lệnh nhảy: break, continue

- Cho phép thay đổi thứ tự thi hành của chương trình

- break:

+ Kết thúc 1 chuỗi lệnh trong câu lệnh switch

+ Thoát khỏi vòng lặp

Trang 28

6 Các xử lý trên kiểu String

- Khái niệm: Là lớp quản lý dữ liệu văn bản có

nội dung không thay đổi được

String s1 = “New Year”;

// Tính chiều dài chuỗi

Trang 29

int len = s.length(); // 6

// Nối chuỗi s1 vào chuỗi s: tương đương s + s1

s.concat(s1); // Happy New Year

// Lấy một ký tự tại vị trí số 8 của s

char result = s.charAt(8); // e

s.replace(s1, s2); // New New Year

// Loại bỏ các khoảng trắng thừa của chuỗi s3

String s3 = “ Hello Bi ”;

s3.trim();// Hello Bi

// Tạo chuỗi con s4 từ chuỗi s từ vị trí số 6

String s4 = s.substring(6); // New Year

a Lớp StringBuilder

- Xem slide module 1 – bài 2 – mục 3

- Các phương thức

Trang 30

+ Xem slide module 1 – bài 2 – m ục 3

- reverse(): Đảo ngược chuỗi trong đối tượng đang có, có kết quả trả

về là một tham chiếu đến đối tượng này

b Lớp StringTokenizer

- Chia chuỗi thành các chuỗi con

- Các hàm khởi tạo của lớp StringTokenizer

+ Xem slide module 1 – bài 2 – m ục 3

Trang 32

BÀI 3: Giao diện 1

1 Giới thiệu

- Các điều khiển (thể hiện) là các đối tượng dành cho người dùng tương tác với chương trình để thực hiện một công việc nào đó, hoặc xem một nội dung

2 Các điều khiển và thể hiện

- Mỗi điều khiển được sử dụng là một lớp điều khiển nằm trong thư viện Swing – GUI của Java

Trang 33

g JFileChooser

- Xem slide module 1 – bài 3 – mục 2

- Ví dụ: Tạo một file chooser

JButton button = new JButton("Select File");

button.addActionListener(new ActionListener() {

public void actionPerformed(ActionEvent ae) {

JFileChooser fileChooser = new JFileChooser();

int returnValue = fileChooser.showOpenDialog(null);

Trang 34

BÀI 4: Xử lý tập tin

1 Tổng quan về I/O Stream

a Khái niệm về I/O Stream

- Xem nội dung module 1 – bài 4 – mục 1

b Đọc dữ liệu nhị phân với Byte Stream

- Xem nội dung module 1 – bài 4 – mục 1

- Đọc dữ liệu với Byte Stream

int i; s="";

try(FileInputStream in=

new FileInputStream("C:/BTJV/Test.txt")){ while ((i=in.read()) !=-1)

s+=(char)i;

ta1.setText(s);

}

catch (FileNotFoundException ex1){

JOptionPane.showMessageDialog(null,"Khong tim thay tap tin"); }

catch (IOException ex2){

Trang 35

c Đọc dữ liệu ký tự với Character Stream

- Luồng ký tự (Character Stream) hỗ trợ đọc ghi luồng ký tự Unicode

- Tất cả các lớp luồng ký tự đều là lớp con cả Reader và Writer

- Đọc dữ liệu với Character Stream

Trang 36

}

catch (FileNotFoundException ex1){

JOptionPane.showMessageDialog(null,"Khong tim thay tap tin"); }

catch (IOException ex2){

- Ghi dữ liệu với Character Stream

//String[] ss={"Xin chào","Chào mừng đến với lập trình Java"};

Trang 37

d Sử dụng vùng đệm trong xử lý đọc ghi dữ liệu với Buffered Stream

- Xem nội dung module 1 – bài 4 – mục 1

while ((chuoi=in.readLine())!=null)

s+=chuoi;

ta1.setText(s);

}

catch (FileNotFoundException ex1){

JOptionPane.showMessageDialog(null,"Khong tim thay tap tin"); }

catch (IOException ex2){

Trang 38

e Đọc ghi dữ liệu theo định dạng với Scanning và Formating

- Chuyển đổi định dạng dữ liệu trong quá trình đọc ghi dữ liệu

+ Scanner: phân tách dữ liệu thành các thẻ bài

+ Formatting: tổng hợp dữ liệu thành định dạng người dùng có thể xử lý

- Đọc dữ liệu

s="";

try (Scanner sc=new Scanner(new BufferedReader(

new FileReader("C:/BTJV/Test3.txt")))){

Trang 39

while (sc.hasNext())

s+=sc.next();

ta1.setText(s);

}

catch (FileNotFoundException ex1){

JOptionPane.showMessageDialog(null,"Khong tim thay tap tin"); }

Trang 40

- Hỗ trợ đọc ghi các giá trị thuộc kiểu cơ sở và String theo định dạng nhị phân

- Ghi dữ liệu

double[] gia = { 19.99, 9.99, 15.99 };

int[] soLuong = { 12, 8, 13};

String[] moTa = {“Áo thun",“Túi xách",“Balo“};

try(DataOutputStream out = new DataOutputStream(

Trang 41

catch (FileNotFoundException ex1){

JOptionPane.showMessageDialog(null,"Khong tim thay tap tin"); }

catch (EOFException ex){ }

g Xử lý đọc ghi các đối tượng với Object Stream

- Hỗ trợ đọc ghi các đối tượng

- Các đối tượng phải thực thi interface Serializabless

Trang 42

JOptionPane.showMessageDialog(null,"Ghi file thành công"); }

2 Tổng quan về làm việc với tập tin, thư mục

a Làm việc với đường dẫn tập tin, thư mục

- Xem nội dung module 1 – bài 4 – mục 2

b Kiểm tra tồn tại tập tin, thư mục

Trang 43

Path p=Paths.get("1.jpg");

if (Files.exists(p))

JOptionPane.showMessageDialog(null,"Có tập tin"); else

JOptionPane.showMessageDialog(null,"Không có tập tin");

c Kiểm tra truy xuất đến tập tin

- Tập tin cho phép đọc: Files.isReadable(path)

- Tập tin cho phép ghi: Files.isWritable(path)

d Xóa tập tin

- Xem nội dung module 1 – bài 4 – mục 2

e Di chuyển tập tin, thư mục

- Sao chép tập tin, thư mục:

Files.copy(fileNguon,fileDich,REPLACE_EXISTING);

- Di chuyển tập tin, thư mục:

Files.move(fileNguon,fileDich,REPLACE_EXISTING);

Trang 44

BÀI 5: Mảng cơ sở

1 Khái niệm mảng

- Xem slide module 1 – bài 5 – mục 1

2 Các kiểu mảng

- Xem slide module 1 – bài 5 – mục 1

3 Mảng một chiều và các thao tác xử lý cơ bản trên mảng một chiều

a Khai báo và khởi tạo mảng một chiều

- Xem slide module 1 – bài 5 – mục 2

b Các thao tác cơ bản trên mảng một chiều

- Xem slide module 1 – bài 5 – mục 2

c Mảng String

Trang 45

String[] list = { “JAVA”, “C#”, “PHP”};

for (int i=0;i< list.length;i++)

// Sao chép mảng array1 sang array2

int[] arr2 = Arrays.copyOf(arr1, 6); // 10 10 10 10 10 0

Trang 46

BÀI 6: Giao diện 2

1 Các điều khiển và thể hiện

- Xem slide module 1 – bài 6 – mục 1

- Kiểm tra xem điều khiển nào trong ButtonGroup đang được chọn Enumeration elements = group.getElements();

Trang 47

- Xem slide module 1 – bài 6 – mục 1

- Ví dụ: Tạo menu item có thể xác định sự thay đổi trạng thái

JMenuItem item = new JMenuItem("Label") {

public void menuSelectionChanged(boolean isSelected) {

Trang 48

BÀI 7: Đối tượng

1 Tổng quan lập trình hướng đối tượng

a Khái niệm lập trình hướng đối tượng

Đặc điểm của lập trình hướng đối tượng

- Xem slide module 1 – bài 7 – mục 1

Ưu điểm của lập trình hướng đối tượng

- Xem slide module 1 – bài 7 – mục 1

b Các đặc trưng cơ bản của lập trình hướng đối tượng

- Xem slide module 1 – bài 7 – mục 1

2 Xây dựng lớp đối tượng

a Tạo lớp và đối tượng

- Xem slide module 1 – bài 7 – mục 2

Trang 49

public double a,b,c;

}

c Các chỉ định từ truy xuất:

- Xem slide module 1 – bài 7 – mục 2

d Phương thức khởi tạo

- Xem slide module 1 – bài 7 – mục 2

e Phương thức tính toán xử lý

- Xem slide module 1 – bài 7 – mục 2

- Ví dụ:

Khai báo phương thức tính

chu vi cho lớp tam giác

class TamGiac{

// biến thực thể public double a,b,c;

// hàm dựng mặc định public TamGiac() { }

// phương thức tính chu vi public double tinhChuVi(){

return a+b+c;

}

}

- Ví dụ

Tính chu vi tam giác

TamGiac t=new TamGiac();

t.a=2;t.b=3;t.c=4;

Trang 50

System.out.printf(“Tam giac (%f,%f,%f)”, t.a,t.b, t.c);

System.out.printf(“Chu vi tam giac: %f”, t.tinhChuVi()); Truyền tham số cho phương thức

- Xem slide module 1 – bài 7 – mục 2

Truyền tham chiếu

public static void Swap(MyClass

a,MyClass b){

MyClass

temp=a;a=b;b=temp;

}

public static void main(String args[]){

MyClass a=new MyClass(1);

MyClass b=new MyClass(2);

System.out.printf(“a=%d, b=%d”,a.x,b.x);

Trang 51

Swap(a,b);

System.out.printf(“a=%d, b=%d”,a.x,b.x);

}

- Ví dụ:

Truyền tham chiếu

public static void Swap(MyClass a,MyClass b){

MyClass temp=new MyClass(a);

a.x=b.x;b.x=temp.x;

}

public static void main(String args[]){

MyClass a=new MyClass(1);

MyClass b=new MyClass(2);

System.out.printf(“a=%d, b=%d”,a.x,b.x);

Swap(a,b);

System.out.printf(“a=%d, b=%d”,a.x,b.x);

}

Phương thức có tham số thay đổi

- Xem slide module 1 – bài 7 – mục 2

Ngày đăng: 22/04/2014, 16:15

TỪ KHÓA LIÊN QUAN

w