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

Post on 03-Feb-2016

12 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

DESCRIPTION

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

TRANSCRIPT

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

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

CHƢƠNG 1

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

CỦA JAVA

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

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

BỘ TỪ KHÓA JAVA

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

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

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

BỘ TỪ KHÓA JAVA

Từ khóa bắt lỗi

try catch finally throws assert

BỘ TỪ KHÓA JAVA

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

package import

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

BỘ TỪ KHÓA JAVA

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

super this

BỘ TỪ KHÓA JAVA

Các từ khóa khác

void enum const goto

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ự

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

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

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, \"...

CHƢƠNG 2

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

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

MỤC TIÊU PHÁT TRIỂ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ỡ.

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.

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.

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.

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ố.

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.

CHƢƠNG 3

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

ĐỐI TƢỢNG

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

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.

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.

CHƢƠNG 4

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

Các phép toán trong java

CHƢƠNG 5

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

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

Lệnh if-else

if (condition)

{

action1 statements;

}

else

{

action2 statements;

}

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);

}

While và do-while

while(condition)

{

action statements;

} ;

do

{

action statements;

} while(condition);

Vòng lặp for

for(initialization statements;

condition; increment statements)

{

action statements;

:

:

}

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

try { …. }

catch(Exception e1) { …. }

catch(Exception eN) { …. }

finally { …. }

CHƢƠNG 6

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

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

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"

Lớp java.util.Math

abs()

ceil()

floor()

max(), min()

random()

round()

sin(), cos(), tan()

toDegrees()

sqrt()

toRadians()

Lớp Wapper

CHƢƠNG 7

KIỂU OBJECTS, KIỂU DANH

SÁCH, NESTED CLASS

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

Kiểu danh sách

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

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

top related