java hướng dẫn cơ bản

53
Java SE Java bản Giáo trình

Upload: nguyen-van-hung

Post on 03-Feb-2016

12 views

Category:

Documents


0 download

DESCRIPTION

những hướng dẫn đơn giản giúp tìm hiểu java

TRANSCRIPT

Page 1: java hướng dẫn cơ bản

Java SE – Java cơ bản Giáo trình

Page 2: java hướng dẫn cơ bản

JAVA CORE CƠ BẢN

Lập trình hƣớng đối tƣợng 2

Mô tả và quyền truy cập đối tƣợng 3

4

5

Các toán tử và phép gán

Điều khiển luồng, ngoại lệ

4 Các lớp cơ bản của Java API

7 Objects , danh sách và Nested Class

6

Các thành phần cơ bản của java 1

Page 3: java hướng dẫn cơ bản

CHƢƠNG 1

CÁC THÀNH PHẦN CƠ BẢN

CỦA JAVA

Page 4: java hướng dẫn cơ bản

BỘ TỪ KHÓA JAVA

abstract continue for new switch

assert default goto package synchronized

boolean do if private this

break double implements protected throw

byte else import public throws

case enum instanceof return transient

catch extends int short try

char final interface static void

class finally long strictfp volatile

const float native super while

Page 5: java hướng dẫn cơ bản

BỘ TỪ KHÓA JAVA

Các từ khóa khái báo quyền truy cập.

Các từ khóa khai báo cho class, method,

variable

Từ khóa điều khiển luồng dữ liệu

Từ khóa bắt lỗi

Từ khóa đóng gói, sử dụng thƣ viện

Từ khóa kiểu dữ liệu nguyên thủy

Từ khóa tham chiếu đến đối tƣợng

Các từ khóa khác

Page 6: java hướng dẫn cơ bản

BỘ TỪ KHÓA JAVA

Các từ khóa khái báo quyền truy cập.

Page 7: java hướng dẫn cơ bản

BỘ TỪ KHÓA JAVA

Các từ khóa khai báo cho class, method,

variable

abstract class extends final implements

native new interface static synchronized

strictfp transient

Page 8: java hướng dẫn cơ bản

BỘ TỪ KHÓA JAVA

Từ khóa điều khiển luồng dữ liệu

break continue case default do

else for if switch instance of

return while

Page 9: java hướng dẫn cơ bản

BỘ TỪ KHÓA JAVA

Từ khóa bắt lỗi

try catch finally throws assert

Page 10: java hướng dẫn cơ bản

BỘ TỪ KHÓA JAVA

Từ khóa đóng gói, sử dụng thƣ viện

package import

Page 11: java hướng dẫn cơ bản

BỘ TỪ KHÓA JAVA

Từ khóa kiểu dữ liệu nguyên thủy

boolean byte char short int

long float double

Page 12: java hướng dẫn cơ bản

BỘ TỪ KHÓA JAVA

Từ khóa tham chiếu đến đối tƣợng

super this

Page 13: java hướng dẫn cơ bản

BỘ TỪ KHÓA JAVA

Các từ khóa khác

void enum const goto

Page 14: java hướng dẫn cơ bản

KIỂU DỮ LIỆU NGUYÊN THỦY

Các kiểu dữ liệu số nguyên

Các kiểu dữ liệu dấu chấm động

Kiểu dữ liệu đúng sai

Kiểu dữ liệu ký tự

Page 15: java hướng dẫn cơ bản

KIỂU DỮ LIỆU NGUYÊN THỦY

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

Kiểu dữ

liệu

Độ dài

(bit) Phạm vi biểu diễn giá trị

byte 8 -128 đến 127

short 16 -32768 đến 32767

Int 32 -2,147,483,648 đến +2,147,483,647

long 64 -9,223,372,036,854,775,808 đến

+9,223,372,036,854,775,807

float 32 -3.40292347E+38 đến

+3.40292347E+38

double 64 -1,79769313486231570E+308 đến

+1,79769313486231570E+308

Cách tính phạm vi kiểu dữ liệu số nguyên:

- Byte

- Short

- Int

- Long

Page 16: java hướng dẫn cơ bản

KIỂU DỮ LIỆU NGUYÊN THỦY

kiểu dữ liệu số nguyên

float f1 = (float) 23.456;//ép kiểu

float f2 = 23.456F;//sử dụng hậu tố F

double d1 = 1234.456; //mặc định

double d2 = 1234.456D;//tùy chọn để chỉ kiểu dữ liệu

kiểu dữ liệu dấu chấm động

int a = 017; // thêm ký tự 0 ở đầu để biểu diễn kiểu octal

int b = 0xA; // thêm ký tự 0x ở đầu để biểu diễn kiểu hexa

byte b = 127; // int tự động chuyển sang kiểu byte short s = 23; //kiểu int tự động chuyển sang kiểu short int i = 34; long l = 5000000000L;//thêm ký tự L để xác định kiểu long

System.out.println("017: " + 017); // kết quả là 15

System.out.println("0xA: " + 0xA); // kết quả là 10

Page 17: java hướng dẫn cơ bản

KIỂU DỮ LIỆU NGUYÊN THỦY

kiểu dữ liệu đúng sai

kiểu dữ liệu ký tự

boolean t = true;

boolean f = false;

boolean s = 0;//không đúng, không nhận giá trị number như C

char c = 'a';//tương ứng với giá trị 97 trong ascii char a = '@';//tương ứng với giá trị 64 trong ascii int i = a + 1;//char có thể tham gia phép tính kiểu int

char c = '\u01ff';//ký tự ǿ, giá trị 511

Unicode 16 bit

Biểu diễn ký tự đặc biệt dùng ký tự ‘\’ char c = '\n';// biểu diễn: \', \t, \"...

Page 18: java hướng dẫn cơ bản

CHƢƠNG 2

LẬP TRÌNH HƢỚNG ĐỐI TƢỢNG

Page 19: java hướng dẫn cơ bản

BẬC NGÔN NGỮ

Ngôn ngữ bậc cao - Hƣớng tới vấn đề

- Độc lập với hệ thống

Ngôn ngữ bậc thấp - Hƣớng tới hệ thống

- Không phản ánh vấn đề

Java , C#

Fortran, Cobol,

C++

C/C++

Asembler Machine

Page 20: java hướng dẫn cơ bản

MỤC TIÊU PHÁT TRIỂN

Page 21: java hướng dẫn cơ bản

HƢỚNG THỦ TỤC

Tập trung vào giải thuật, chia vấn đề thành các thủ

tục, chƣơng trình con

Bao gồm phƣơng thức và dữ liệu

2 loại dữ liệu

Dữ liệu địa phƣơng

Dữ liệu toàn cục

Là cầu nối giữa các thủ tục

=> dễ gây ra ngoại lệ không mong đợi,

làm chƣơng trình trở lên mong manh dễ

đổ vỡ.

Page 22: java hướng dẫn cơ bản

HƢỚNG DỮ LIỆU

Một nỗ lực sớm, đƣa ra để cải thiện lập trình hƣớng thủ tục

Bao gồm phƣơng thức và dữ liệu

Luồng dữ liệu

Ghép đầu vào dữ liệu tới đầu ra dữ liệu

Thiết kế cấu trúc dữ liệu trƣớc tiên

Thiết kế quy trình và chức năng sau

Ẩn dữ liệu

Đóng gói dữ liệu và thủ tục

Dữ liệu vẫn có phạm vi toàn cục nhƣng chỉ

đƣợc phép truy cập thông qua phƣơng thức.

Page 23: java hướng dẫn cơ bản

HƢỚNG ĐỐI TƢỢNG

Cách suy nghĩ mới phản ánh thế giới thực

Bao gồm phƣơng thức và dữ liệu đóng gói

trong đối tƣợng

Điểm khác nổi bật

Mọi thành phần đƣợc bản địa hóa

Liên kết phƣơng thức trong 1 đối tƣợng,

tách biệt với phƣơng thức của đối tƣợng

khác.

Hạn chế sử dụng dữ liệu toàn cục

Kiểu đối tƣợng trừu tƣợng.

Ẩn dữ liệu

Đóng gói dữ liệu và thủ tục

Dữ liệu vẫn có phạm vi toàn cục nhƣng

giới hạn phạm vi truy cập bằng từ khóa.

Page 24: java hướng dẫn cơ bản

HƢỚNG ĐỐI TƢỢNG

Kế thừa (inheritance)

Lớp con có tất cả thuộc tính

và phƣơng thức của lớp cha

Tính kế thừa là đặc tính thứ

2 của mô hình hƣớng đối

tƣợng.

Page 25: java hướng dẫn cơ bản

HƢỚNG ĐỐI TƢỢNG

Đa hình (polymorphism)

Nạp chồng (overload):

Phƣơng thức trùng tên nhƣng

khác tham số.

Page 26: java hướng dẫn cơ bản

HƢỚNG ĐỐI TƢỢNG

Đa hình (polymorphism)

Ghi đè (override):

Lớp kế thừa viết đè phƣơng

thức của lớp cha.

Page 27: java hướng dẫn cơ bản

CHƢƠNG 3

MÔ TẢ VÀ QUYỀN TRUY CẬP

ĐỐI TƢỢNG

Page 28: java hướng dẫn cơ bản

MÔ TẢ CLASS

File .java có thể chứa nhiều class

Thứ tự khai báo trong: package => import =>

tên class => nội dung class

Page 29: java hướng dẫn cơ bản

QUYỀN TRUY CẬP CLASS

Một class đƣợc khai báo với từ khóa public cho phép

tất các các class khác truy cập đƣợc đến nó

Truy cập mặc định: chỉ cho phép truy cập bởi các

class trong cùng package hoặc cùng source file với

nó.

Truy cập public: Một class đƣợc khai báo với từ

khóa public cho phép tất các các class khác truy

cập đƣợc đến nó.

Không áp dụng quyền truy cập protected, private với

class.

Page 30: java hướng dẫn cơ bản

KHAI BÁO KHÁC CỦA CLASS

Final class

Khi class đƣợc khai báo là final thì nó sẽ không

cho phép các class khác thừa kế từ nó nữa. Khai

báo final thƣờng dùng đề ngăn các method của

class gốc không bị overrid bởi các class khác

Abstract class

Một class abstract thì không thể dùng để tạo đối

tƣợng đƣợc, chỉ sử dụng để làm mẫu, và đƣợc

khai báo chi tiết tại các lớp con.

Page 31: java hướng dẫn cơ bản

CHƢƠNG 4

CÁC TOÁN TỬ VÀ PHÉP GÁN

Page 32: java hướng dẫn cơ bản

Các phép toán trong java

Page 33: java hướng dẫn cơ bản
Page 34: java hướng dẫn cơ bản
Page 35: java hướng dẫn cơ bản

CHƢƠNG 5

ĐIỀU KHIỂN LUỒNG, NGOẠI LỆ

Page 36: java hướng dẫn cơ bản

Các lệnh điều khiển

Điều khiển rẻ nhánh:

Mệnh đề if-else

Mệnh đề switch-case

Vòng lặp (Loops):

Vòng lặp while

Vòng lặp do-while

Vòng lặp for

Page 37: java hướng dẫn cơ bản

Lệnh if-else

if (condition)

{

action1 statements;

}

else

{

action2 statements;

}

Page 38: java hướng dẫn cơ bản

switch-case

switch (expression)

{

case 'value1': action1 statement(s);

break;

case 'value2': action2 statement(s);

break;

……

case 'valueN': actionN statement(s);

break;

default:default_action statement(s);

}

Page 39: java hướng dẫn cơ bản

While và do-while

while(condition)

{

action statements;

} ;

do

{

action statements;

} while(condition);

Page 40: java hướng dẫn cơ bản

Vòng lặp for

for(initialization statements;

condition; increment statements)

{

action statements;

:

:

}

Page 41: java hướng dẫn cơ bản

Điều khiển ngoại lệ

try { …. }

catch(Exception e1) { …. }

catch(Exception eN) { …. }

finally { …. }

Page 42: java hướng dẫn cơ bản

CHƢƠNG 6

CÁC LỚP CƠ BẢN CỦA JAVA

Page 43: java hướng dẫn cơ bản

java.util.String

Mỗi 1 ký tự string là 16 bit

String là bất biến, tức là khi sử dụng các

method cho string thi nó sẽ tạo ra đối tƣợng

và bộ nhớ mới

String đƣợc thiết kế là kiểu final, do đó không

ai có thẻ vi phạm câu trúc trên

Page 44: java hướng dẫn cơ bản

java.util.String

StringBuffer: Tính bất biến của String làm cho

đối tƣợng của string tăng nên khá nhanh, để tối

ƣu java cung cấp 2 lớp string khả biển là

StringBuffer, và StringBuilder //tinh bat bien

String x = "abc";

x.concat("def");

System.out.println("x = " + x);//output

is "x = abc"

//tinh kha bien

StringBuffer sb = new

StringBuffer("abc");

sb.append("def");

System.out.println("sb="+sb);//output is

"sb = abcdef"

Page 45: java hướng dẫn cơ bản

Lớp java.util.Math

abs()

ceil()

floor()

max(), min()

random()

round()

sin(), cos(), tan()

toDegrees()

sqrt()

toRadians()

Page 46: java hướng dẫn cơ bản

Lớp Wapper

Page 47: java hướng dẫn cơ bản

CHƢƠNG 7

KIỂU OBJECTS, KIỂU DANH

SÁCH, NESTED CLASS

Page 48: java hướng dẫn cơ bản

Các phƣơng thức của kiểu Object

Page 49: java hướng dẫn cơ bản

Kiểu danh sách

Page 50: java hướng dẫn cơ bản
Page 51: java hướng dẫn cơ bản

Nested Class

Class nằm bên trong class khác gọi là Nested

Class

Inner classes: Là Nested classes không đƣợc

khai báo static

Inner class có thể coi nhƣ một thuộc tính của

class: có thể truy cập tất cả các thuộc tính hay

phƣơng thức của OuterClass

InnerClass có thể đƣợc khai báo public, private,

protected

Page 52: java hướng dẫn cơ bản

Nested Class

Static nested classes: Là Nested classes đƣợc

khai báo static

Không đƣợc phép truy cập đến các thành phần khác

của OuterClass

Local Class: là class đƣợc định nghĩa trong

khối lệnh. Thông thƣơng local class đƣợc định

nghĩa bên trong một phƣơng thức

Local Class có quyền truy cập đến các thành phần

của OuterClass

Local Class còn có quyền truy cập đến các biến

đƣợc khai báo trong khối lệnh (phƣơng thức) chứa

nó, tuy nhiên biến này phải đƣợc khai báo final

Page 53: java hướng dẫn cơ bản