1. Trang chủ
  2. » Giáo Dục - Đào Tạo

Cơ Bản Về Lập Trình Java

25 457 0

Đ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

Định dạng
Số trang 25
Dung lượng 1,12 MB

Nội dung

l Mọi chương trình Java phải có ít nhất một lớp chứa phương thức main.. Tên lớp chứa phương thức main phải trùng với tên tệp chương trình.. l Cấu trúc chung của một chương trình Java: im

Trang 1

PHẦN I

CƠ BẢN VỀ LẬP TRÌNH JAVA

GV Ngô Công Thắng

Bộ môn Công nghệ phần mềm

Khoa Công nghệ thông tin

Bài giảng LT JAVA - Phần 1,Chươ ng 1 GV Ngô Công Thắng 2

Chương 1: Giới thiệu về Java

1 Lịch sử hình thành và phát triển

2 Các đặc điểm của Java

3 Các phiên bản của Java

4 Các bước viết và chạy thử một chương trình Java

5 Các thành phần của chương trình Java

6 Cấu trúc chung của một chương trình Java

1 Lịch sử hình thành và phát triển

l Java là một ngôn ng lập trình hướng đối được đang

được ưa chuộng

l Java là một ngôn ngữ mạnh ngang tầm với C++ So với

C++, Java “mềm dẻo và tao nhã” hơn.

l Java được công bố vào năm 1990, tác giả là James

Gosling và Sun Microsystems.

l Tên ban đầu là Oak (cây sồi)

l Java, 20/05/1995, Sun World

l HotJava: Trình duyệt Web hỗ trợ Java đầu tiên

l JDK Evolutions

l J2SE, J2ME, and J2EE

2 Các đặc điểm của Java

thông dịch mạnh mẽ bảo mật không phụ thuộc HĐH khả chuyển

hiệu quả cao

đa luồng linh động

Trang 2

Bài giảng LT JAVA - Phần 1,Chươ ng 1 GV Ngô Công Thắng 5

3 Các phiên bản của Java

l Java Standard Edition (J2SE)

J2SE có thể được dùng để phát triển các ứng dụng hoặc các applet độc lập phía client (client-side).

l Java Enterprise Edition (J2EE)

J2EE có thể được dùng để phát triển các ứng dụng phía server (server-side) như các Java servlet và Java ServerPages

l Java Micro Edition (J2ME)

J2ME có thể được sử dụng để phát triển các ứng dụng cho các thiết bị di động như ĐTDĐ.

l Các chương trình ví dụ trong môn học Lập trình Java viết trên J2SE.

4 Các bước viết và chạy thử một

chương trình Java

soạn thảo text hoặc trong IDE.

Quá trình tạo và chạy một chương trình java

bytecode

Tạo/Sửa Source Code

Compile Source Code vd: javac Welcome.java

Run Bytecode vd: java Welcome Bytecode Source Code

Nếu có lỗi

Trang 3

Bài giảng LT JAVA - Phần 1,Chươ ng 1 GV Ngô Công Thắng 9

Một chương trình Java đơn giản

// Chuong trinh dua ra dong chu Welcome to Java!

l Chú ý: Đặt tên tệp phải trùng với tên lớp, khi gõ

lệnh biên dịch từ DOS thì tên tệp phải giống hệt

tên lớp (cả hoa và thường).

Bài giảng LT JAVA - Phần 1,Chươ ng 1 GV Ngô Công Thắng 10

Tạo, biên dịch, chạy chương trình

trên DOS

l Soạn thảo chương trình:

l Soạn thảo chương trình (Notepad, Wordpad…)

l Ghi tệp với tên có đuôi java

Ví dụ: Ghi tệp Welcome.java vào thư mục C:\javapro

Thiết lập biến môi trường

Java từ bất kỳ thư mục nào trong DOS ta

phải thiết lập biến môi trường PATH như

sau:

l Kích phải chuột vào My Computer ->

Properties -> Advanced -> Environment

Variables

l Chọn biến Path -> Edit -> Gõ thêm đường

dẫn tới thư mục Bin của JDK Ví dụ:

C:\Program Files\Java\jdk1.6.0_02\bin

Thiết lập biến môi trường

Trang 4

Bài giảng LT JAVA - Phần 1,Chươ ng 1 GV Ngô Công Thắng 13

Thiết lập biến môi trường

Bài giảng LT JAVA - Phần 1,Chươ ng 1 GV Ngô Công Thắng 14

5 Các thành phần của một chương trình Java

l Comments (Chú giải, như C++)

l Reserved words (Từ khóa)

l Modifiers (Như C++, ví dụ: public, private, static)

l Statements (Câu lệnh, như C++)

l Blocks (Khối lệnh, như C++)

method, nó là điểm khởi đầu khi thực hiện

chương trình.

public static void main(String[ ] args)

l Trình thông dịch Java coi chương trình Java như một lớp.

l Mọi chương trình Java phải có ít nhất một lớp chứa phương thức main Tên lớp chứa phương thức main phải trùng với tên tệp chương trình.

l Cấu trúc chung của một chương trình Java:

import Thư viện lớp (package);//#include của C++

public class TenLop //Ten lop nay la ten tep ctrinh {

public static void main(String[] args) {

//Các lệnh của chương trình Java để ở đây }

//Dinh nghia cac phuong thuc khac }

Trang 5

Bài giảng LT JAVA - Phần 1,Chươ ng 1 GV Ngô Công Thắng 17

6 Cấu trúc chung của

sẵn trong hệ thống Java để có thể tái sử dụng.

JOptionPane.showMessageDialog(null, "Welcome

to Java!", "Example 1.2 Output",

JOptionPane.INFORMATION_MESSAGE);

Trang 6

Bài giảng LT JAVA - Phần 1,Chương 2 GV Ngô Công Thắng 1

Chương 2 Các kiểu dữ liệu cơ bản

I Các kiểu dữ liệu cơ bản

II Khai báo biến và hằng

III Biểu thức

IV Chuyển đổi kiểu dữ liệu

V Vào/Ra dữ liệu với Java

Bài giảng LT JAVA - Phần 1,Chương 2 GV Ngô Công Thắng 2

Chương 2 Các kiểu dữ liệu cơ bản

I Các kiểu dữ liệu cơ bản

Giống các kiểu dữ liệu số của C++

I.1 Các kiểu dữ liệu số

Trang 7

Bài giảng LT JAVA - Phần 1,Chương 2 GV Ngô Công Thắng 5

I.2 Kiểu ký tự

l Giống như C++, được định nghĩa với từ khóa

char

l Kiểu char có kích thước 2 byte Một biến char có

thể chứa cả ký tự ASCII và ký tự Unicode.

l Kiểu char có thể dùng như kiểu số.

l Hằng ký tự là một ký tự đặt giữa 2 dấu phẩy

trên Ví dụ: ‘A’

l Hằng xâu ký tự là một dãy ký tự bất kỳ đặt giữa

hai dấu nháy kép Ví dụ: “DHNN1”

Bài giảng LT JAVA - Phần 1,Chương 2 GV Ngô Công Thắng 6

I.3 Kiểu logic (boolean)

logic được định nghĩa với tên chuẩn là

boolean, chỉ có 2 giá trị là true và false.

C++.

I.4 Kiểu xâu ký tự

l Khác với C++, Java đưa vào kiểu dữ liệu xâu ký

tự Kiểu xâu ký tự được định nghĩa với tên chuẩn là String Thực ra kiểu xâu ký tự là một lớp đối tượng xâu có sẵn trong Java.

l Khi khai báo biến xâu ký tự có thể khởi tạo bằng một hằng xâu ký tự.

String st = “DHNN1”;

l Có thể dùng phép toán + và += để ghép nhiều xâu ký tự, ghép xâu ký tự với dữ liệu không phải xâu ký tự (dữ liệu số).

Trang 8

Bài giảng LT JAVA - Phần 1,Chương 2 GV Ngô Công Thắng 9

Bài giảng LT JAVA - Phần 1,Chương 2 GV Ngô Công Thắng 10

II Khai báo biến và hằng

cho biến giống như C++ Ví dụ:

int a=100;

thể Cú pháp khai báo hằng như sau:

final TenKieu TenHang = GiaTri;

Ví dụ: final double PI=3.14159;

III Biểu thức

C++.

phép toán trong một biểu thức giống C++.

IV Chuyển đổi kiểu dữ liệu

động, quy tắc chuyển đổi kiểu tự động giống C++.

Trang 9

Bài giảng LT JAVA - Phần 1,Chương 2 GV Ngô Công Thắng 13

V Vào/Ra dữ liệu với Java

1 Lấy dữ liệu vào từ bàn phím

2 Đưa dữ liệu ra màn hình

3 Ví dụ:

Bài giảng LT JAVA - Phần 1,Chương 2 GV Ngô Công Thắng 14

V.1 Lấy dữ liệu vào từ bàn phím

phương thức showInputDialog() của lớp JOptionPane, phương thức này cho phép

ta nhập dữ liệu qua hộp thoại.

tự => dùng biến xâu để chứa dữ liệu nhập vào, sau đó chuyển xâu ký tự thành kiểu

V.1 Lấy dữ liệu vào từ bàn phím

giá trị số nguyên ta dùng phương thức parseInt của lớp Integer.

int intV = Integer.parseInt(intString);

giá trị số thực ta dùng phương thức parseDouble của lớp Double.

double doubleV = Double.parseDouble(doubleString);

Trang 10

Bài giảng LT JAVA - Phần 1,Chương 2 GV Ngô Công Thắng 17

V.2 Đưa dữ liệu ra màn hình

phương thức showMessageDialog() của

lớp JOptionPane, phương thức này cho

phép ta đưa dữ liệu qua hộp thoại.

phép + hoặc += để nối xâu ký tự các các

giá trị kiểu dữ liệu cơ bản.

V.2 Đưa dữ liệu ra màn hình

l Để định dạng dữ liệu đưa ra màn hình ta dùng

phương thức format() của lớp String, phương

thức này định dạng các dữ liệu thành xâu ký tự

và trả về xâu ký tự đã định dạng đó.

String st = String.format ( Hằng xâu chứa các tác tử định dạng, Các dữ liệu );

l Các tác tử định dạng bắt đầu bằng dấu % theo

sau là các chữ cái biểu thị loại dữ liệu sẽ định

dạng Ví dụ: %b định dạng giá trị logic thành

false hoặc true, %d định dạng các số nguyên,…

V.2 Đưa dữ liệu ra màn hình

“Ha Noi” Xâu ký tự

%b

Ví dụ Loại dữ liệu định dạng

Tác tử định dạng

Trang 11

Bài giảng LT JAVA - Phần 1,Chương 2 GV Ngô Công Thắng 21

V.2 Đưa dữ liệu ra màn hình

l Có thể xác định độ rộng và độ chính xác ngay

sau dấu %, giữa độ rộng và độ chính xác có một

dấu chấm Độ rộng là số khoảng trống dành cho

dữ liệu, mỗi khoảng trống chứa được một ký tự

rộng của nó, để căn trái ta thêm dấu trừ ngay sau dấu % Ví dụ %-10d => Số nguyên có độ rộng 10, được căn trái.

V.3 Ví dụ

hình chữ nhật biết hai cạnh a, b.

Trang 12

Bài giảng LT JAVA - Phần 1,Chương 3 GV Ngô Công Thắng 1

Chương 3 Các lệnh điều khiển

II.1 Lệnh lặp với số lần lặp xác định for

II.2 Lệnh với số lần lặp không xác định

II.2.1 Lệnh lặp kiểm tra điều kiện trước while

II.2.2 Lệnh lặp kiểm tra điều kiện sau do-while

III Lệnh break và continue

Bài giảng LT JAVA - Phần 1,Chương 3 GV Ngô Công Thắng 2

Chương 3 Các lệnh điều khiển

chấm Nhãn lệnh được đặt trước câu lệnh Người ta thường đánh nhãn cho các lệnh lặp.

Chương 3 Các lệnh điều khiển

Trang 13

Bài giảng LT JAVA - Phần 1,Chương 3 GV Ngô Công Thắng 5

Chương 3 Các lệnh điều khiển

chương trình

xếp 3 số này theo chiều tăng dần.

năm dương lịch Cho biết tháng trong năm đó có

bao nhiêu ngày.

theo công thức:

1 2

1 )

1

( 7

1 5

1 3

1 1

− + +

− +

Bài giảng LT JAVA - Phần 1,Chương 3 GV Ngô Công Thắng 6

Chương 3 Các lệnh điều khiển

Trang 14

Bài giảng LT JAVA - Phần 1,Chương 4 GV Ngô Công Thắng 1

Chương 4 Phương thức (Method)

4.1 Giới thiệu về phương thức

Bài giảng LT JAVA - Phần 1,Chương 4 GV Ngô Công Thắng 2

4.1 Giới thiệu về phương thức

l Tất cả các chương trình con trong Java đều thuộc một lớp nào đó, chúng được gọi là các phương thức (hàm thành viên trong C++).

l Khác với C++, các phương thức trong Java phải

đị nh nghĩa ngay trong khai báo lớp.

l Cú pháp định nghĩa phương thức giống định nghĩa hàm thành viên trong C++.

l Cú pháp gọi phương thức giống cú pháp gọi hàm thành viên trong C++.

4.2 Tạo phương thức

so với C++ ở chỗ là có thể có thêm các từ

khóa modifier trước kiểu trả về.

Modifier KieuTraVe TenPThuc(DS cac tham so)

else return num2;

Trang 15

Bài giảng LT JAVA - Phần 1,Chương 4 GV Ngô Công Thắng 5

4.3 Sử dụng phương thức

phương thức.

số hình thức hay gọi tắt là tham số.

các tham số được gọi tham số thực sự

hay đối số.

Bài giảng LT JAVA - Phần 1,Chương 4 GV Ngô Công Thắng 6

4.3 Sử dụng phương thức

chứa định nghĩa phương thức thì lời gọi phương thức chỉ có tên phương thức cùng các đối số đặt trong ngoặc tròn.

cú pháp gọi như sau:

TenDoiTuong.TenPThuc(Cac doi so) Hoặc

TenLop.TenPThuc(Cac doi so) //nếu PThuc là tĩnh

4.4 Truyền đối số theo giá trị

phương thức chỉ có một kiểu là truyền đối

số theo giá trị.

4.5 Chồng phương thức

hàm trong C++: Các phương thức có tên giống nhau nhưng danh sách các tham số khác nhau.

trình biên dịch dựa vào kiểu đối số để xác định hàm được gọi.

Trang 16

Bài giảng LT JAVA - Phần 1,Chương 4 GV Ngô Công Thắng 9

4.6 Biến cục bộ

trong phương thức (giống biến tự động

phương thức của lớp Math.

phương thức tĩnh (static) nên lời gọi phương thức phải gắn với tên lớp Ví dụ:

4.7 Các phương thức của lớp

Math

sin(x) Cho sinx

cos(x) Cho cosx

tan(x) Cho tgx

asin(x) Cho arcsinx

acos(x) Cho arccosx

atan(x) Cho arctgx

toRadians(degrees) Đổi độ sang rad

toDegrees(radians) Đổi rad sang độ

Trong đó x có đơn vị là radian.

sqrt(x) Căn bậc 2 của x

l Các hàm làm tròn gồm có:

ceil(x) Làm tròn x lên số nguyên gần nhất floor(x) Làm tròn x xuống số nguyên gần nhất rint(x) Làm tròn x tới số nguyên gần nhất, nếu x ở

giữa hai số nguyên thì làm tròn thành số chẵn round(x) Làm tròn x

Trang 17

Bài giảng LT JAVA - Phần 1,Chương 4 GV Ngô Công Thắng 13

ngẫu nhiên lớn hơn hoặc bằng 0 và nhỏ

hơn 1 Để có số ngẫu nhiên nằm giữa a

và a+b (trừ a + b) ta dùng công thức sau:

l Phân tán phần mềm thuận tiện

l Bảo vệ các thành viên của lớp

4.8.1 Quy ước đặt tên gói

l Trong các gói có thể lại chứa các gói khác.

Ví dụ: java.lang.Math cho biết lớp Math nằm

trong gói lang, gói lang nằm trong gói java Tổ

chức các gói theo kiểu này sẽ đảm bảo các tên

gói không bị trùng nhau.

l Nếu muốn đóng gói các lớp để đưa lên Internet

cho mọi người sử dụng thì phải chọn một tên

duy nhất, người ta thường lấy đảo ngược của

tên miền Internet làm tiền tố của tên gói.

Ví dụ: Tên miền của ĐHNN1 là hau1.edu.vn thì

đặt tên gói là vn.edu.hau1.TenGoi

l Theo quy ước đặt tên gói dùng chữ thường.

4.8.2 Thư mục chứa các gói

l Java yêu cầu cấu trúc thư mục chứa gói phải tương ứng với tên gói.

Ví dụ: với tên gói là vn.edu.hau1.mypackage thì phải tạo cấu trúc thư mục là \vn\edu\hau1\mypackage

l Để Java tìm được nơi đặt cây thư mục gói thì biến môi trường classpath phải xác định thư mục chứa cậy thư mục gói.

Ví dụ: nếu cây thư mục gói đặt trong thư mục c:\javapro thì classpath = ;c:\javapro

Dấu xác định thư mục hiện tại luôn ở trong classpath.

Trang 18

Bài giảng LT JAVA - Phần 1,Chương 4 GV Ngô Công Thắng 17

4.8.3 Đặt các lớp vào trong các gói

dịch.

package tengoi;

package vn.edu.hau1.mypackage;

Bài giảng LT JAVA - Phần 1,Chương 4 GV Ngô Công Thắng 18

4.8.3 Đặt các lớp vào trong các gói

l Các lớp phải được khái báo là puplic để các chương trình khác có thể dùng được Nếu muốn chứa nhiều lớp trong một gói thì phải

để mỗi lớp trên một file riêng vì trên một file chỉ được phép có một lớp public.

l Các file class có thể nén thành một file, để sử dụng các lớp trong file nén này thì trong classpath phải chứa đường dẫn tới file nén.

1

2 1 2

Trang 19

Bài giảng LT JAVA - Phần 1,Chương 4 GV Ngô Công Thắng 21

Bài tập chương 4

chữ số trong một số nguyên Ví dụ: số

nguyên 234 có tổng các chữ số bằng 2 + 3 + 4 = 9.

Trang 20

Bài giảng LT JAVA - Phần 1,Chương 5 GV Ngô Công Thắng 1

Bài giảng LT JAVA - Phần 1,Chương 5 GV Ngô Công Thắng 2

5.1 Khai báo và định nghĩa

biến mảng

5.1.1 Khai báo biến mảng 5.1.2 Tạo mảng (định nghĩa mảng) 5.1.3 Kích thước và giá trị mặc định của mảng

5.1.4 Truy nhập phần tử mảng

5.1.1 Khai báo biến mảng

l Cú pháp khai báo biến mảng:

KieuDuLieu[ ] TenBienMang;

l Khác với C++, việc khai báo biến mảng trong

Java không tạo ra mảng, tức là không cấp phát

vùng nhớ cho mảng, nó chỉ tạo ra một biến mà

sau này có thể dùng để tham chiếu tới mảng.

l Biến mảng thực chất là biến tham chiếu Về bản

chất biến tham chiếu giống như con trỏ.

l Ví dụ: double[ ] a;

5.1.2 Tạo mảng (định nghĩa mảng)

tử new để tạo ra mảng (giống cấp phát mảng động trong C++) theo cú pháp sau:

TenBienMang = new KieuDuLieu[KichThuoc];

Ví dụ: a = new double[10];

phần tử và gán tham chiếu tới TenBienMang.

Trang 21

Bài giảng LT JAVA - Phần 1,Chương 5 GV Ngô Công Thắng 5

5.1.2 Tạo mảng (định nghĩa mảng)

phát bộ nhớ động => Mảng trong Java

luôn là mảng động.

giải phóng các vùng nhớ không còn được

tham chiếu được thực hiện tự động bởi

JVM Người lập trình không phải lo việc

giải phóng các vùng nhớ được cấp phát

động bởi toán tử new

Bài giảng LT JAVA - Phần 1,Chương 5 GV Ngô Công Thắng 6

5.1.2 Tạo mảng (định nghĩa mảng)

tạo mảng và gán tham chiếu tới biến mảng trong một lệnh:

KieuDuLieu[ ] TenBienMang = new KieuDuLieu[KichThuoc];

Ví dụ: double[ ] myList = new double[10];

double[] myList = new double[5];

reference

myList

Trang 22

Bài giảng LT JAVA - Phần 1,Chương 5 GV Ngô Công Thắng 9

5.1.3 Kích thước và giá trị

mặc định của mảng

có một biến cho biết kích thước của mảng:

TenBienMang.length

Ví dụ: myList.length cho biết kích thước của

mảng myList là 5

ban đầu bằng 0 đối với mảng số, bằng

‘\u0000’ đối mảng char và bằng false đối

với mảng boolean.

Bài giảng LT JAVA - Phần 1,Chương 5 GV Ngô Công Thắng 10

5.1.4 Truy nhập phần tử mảng

biến mảng ta có thể truy nhập trực tiếp các phần tử của mảng thông qua tên biến mảng và chỉ số truy nhập đặt trong ngoặc vuông (giống như C++).

đến KichThuoc - 1

5.2 Copy mảng

cho nhau, tuy nhiên khi gán hai biến mảng

chỉ có giá trị tham chiếu được gán còn nội

dung mảng không được gán Do đó, sau

lệnh gán, cả hai biến mảng cùng tham

Ngày đăng: 18/10/2015, 10:01

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w