Thứ Bảy, 2 tháng 2, 2008

Ngôn ngữ lập trình Java - Chương 1

Ngôn Ngữ Lập Trình Java

Chương này cho chúng ta thấy một cái nhìn tổng quát về ngôn ngữ lập trình Java ở mức độ tóm lược. Như chúng ta đã biết mọi ngôn ngữ lập trình đều cung cấp cho chúng ta cách sử dụng biến, cung cấp các kiểu dữ liệu cơ sở và các cấu trúc cơ bản như cấu trúc lặp, điều kiện,… Java cũng không ngoại lệ, do đó ở chương 3 này cung cấp cho chúng ta các khái niệm sau:

·Biến số: cách khai báo

·Kiểu dữ liệu: chuyển kiểu, hằng kí tự

·Toán tử trong Java

·Cấu trúc điều kiện

·Cấu trúc mảng

·Cấu trúc lặp

Giới thiệu về biến số

Như mọi ngôn ngữ lập trình khác, biến là một vùng nhớ được sử dụng để lưu trữ dữ liệu tạm thời trong lúc chạy chương trình. Java hỗ trợ cách khai báo biến như trong ngôn ngữ C.

Khai báo biến trong ngôn ngữ Java

int x; //khai bao bien x la kieu so nguyen

int y; //khai bao bien y la kieu so nguyen

x = 10; //gan gia tri bang 10 cho bien x

int z = 20 //khai bao bien nguyen z va gan gia tri cho no la 20

Kiểu dữ liệu

Java cung cấp 2 kiểu dữ liệu:

Kiểu dữ liệu cơ sở - Primitive type

Kiểu dữ liệu có tham chiếu – Reference types

Reference types bao gồm các kiểu sau:

Mảng (array)

Lớp (class)

Giao diện (interface)

Primitive type là kiểu dữ liệu đã được xác định trong ngôn ngữ bao gồm các nhóm sau: int (số nguyên), float (số thực dấu chấm động), character (kí tự) và boolean (chứa 2 giá trị true, false)

Kiểu

Kích thước

Giá trị nhỏ nhất

Giá trị lớn nhất

byte

8 bits

-256

255

short

16 bits

-32,768

32,767

int

32 bits

-2,147,483,648

2,147,483,647

long

64 bits

-9,223,372,036,854,775,808

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

Type variavble;

Khai báo biến trong Java

Ví dụ:

int x;

float y;

short z;

Chuyển kiểu

Có 2 loại chuyển kiểu

·Chuyển kiểu hẹp: chuyển từ kiểu dữ liệu có phạm vi rộng sang kiểu dữ liệu có phạm vi hẹp hơn (long à int), cách chuyển kiểu này thường làm mất thông tin về độ rộng cũng như độ chính xác của biến

·Chuyển kiểu rộng: chuyển từ kiểu dữ liệu có phạm vi hẹp sang kiểu dữ liệu có phạm vi rộng hơn (int à long), có độ an toàn cao hơn loại trên

Từ

Chuyển thành

byte

short, int, long, float, double

short

int, long, float, double

char

int, long, float, double

Int

long, float, double

long

float, double

float

double

Các hằng kí tự đặc biệt

Chuỗi

Ý nghĩa

\b

Xóa lùi

\t

Tab ngang

\n

Xuống hàng

\f

Đẩy trang

\r

Dấu enter

\”

Nháy kép

\’

Nháy đơn

\\

Số ngược

\uxxx

Kí tự unicode

Toán tử trong Java

Java chia các toán tử thành 2 loại:

Toán tử 1 ngôi: chỉ cần 1 toán hạng, tạo ra sự thay đổi giá trị trực tiếp trên toán hạng đó (VD: a++)

Toánt tử 2 ngôi: cần 2 toán hạng, tạo ra sự thay đổi giá trị từ 2 toán hạng đó (VD: a+b, a-b)

Toán tử

Phép toán

Ví dụ

Giải thích

=

Phép gán

a = 10

Gán cho a giá trị 10

==

So sánh bằng

a == b

So sánh a == b không, kết quả trả về True nếu bằng, ngược lại False

!=

Không bằng

a != b

Tương tử “==” nhưng trả về True nếu không bằng, ngược lại False

&&

AND

a && b


?:

Chuỗi điều kiện

a ? exp1 : exp2

Nếu a đúng thì làm exp1, ngược lại làm exp2

||

OR

a || b


<

Bé hơn

a <>


<=

Bé hơn hoặc bằng

a <= b


>

Lớn hơn

a > b


>=

Lớn hơn hoặc bằng

a >= b


+

Cộng

a + b


-

Trừ

a - b


*

Nhân

a * b


/

Chia

a / b


%

Lấy phần dư

a % b

VD: 10 % 3 = 1

<<

Dịch trái bit

a <<>


>>

Dịch phải bit

a >> b


>>>

Dịch phải bit, điền vào bit trống giá trị 0

a >>> b


&

AND trên bit

a & b

4 & 2 = 1 (4=100, 2 = 010)

|

OR trên bit

a | b

4 | 2 = 7

^

XOR trên bit

a ^ b

4 ^ 2 = 6

+=


a += 3

a = a + 3

-=


a -= 3

a = a - 3

*=


a *= 3

a = a * 3

/=


a /= 3

a = a / 3

&=


a &= b

a = (a & b)

|=


a |= b

a = (a | b)

^=


a ^= b

a = (a ^ b)

%=


a %= b

a = (a % b)

<<=


a <<= b

a = (a <<>

>>=


a >>= b

a = (a >> b)

>>>=


a >>>= b

a = (a >>> b)

Cấu trúc điều kiện

Cấu trúc If:

If (<điều kiện 1>)

else If (<điều kiện 2>)

Else

Lưu ý: nếu khối lệnh gồm nhiều lệnh cần đặt trong cặp dấu {}

Ví dụ:

int a = 10;

int b = 20;

if (a>b)

System.out.print("A > B");

else

System.out.print("A <>);

Ví dụ:

int a = 10;

int b = 20;

if (a>b){

System.out.println(a);

System.out.println(b);

System.out.print("A > B");

}else{

System.out.println(a);

System.out.println(b);

System.out.print("A <>);

}

Cấu trúc switch…

Switch {

Case :

;

break;

Case :

;

break;

default :

;

}

Ví dụ:

int a = 8;

switch (a){

case 2:

System.out.println("Thu hai");

break;

case 3:

System.out.println("Thu ba");

break;

case 4:

System.out.println("Thu tu");

break;

case 5:

System.out.println("Thu nam");

break;

case 6:

System.out.println("Thu sau");

break;

case 7:

System.out.println("Thu bay");

break;

case 8:

System.out.println("Chu nhat");

break;

}

Cấu trúc lặp

Cấu trúc for:

for (int i=0; i<10;>

System.out.println(i);

Cấu trúc while:

int i = 0;

while (i<10){

System.out.println(i);

i++;

}

Cấu trúc do…while:

int i = 0;

do{

System.out.println(i);

i++;

}while (i<10);

Cấu trúc mảng (array)

Khai báo mảng:

Cặp ngoặc vuông đặt sau tên biến

Cặp ngoặc vuông đặt sau kiểu dữ liệu

Ví dụ:

int [] arr;

int arr[];

Cấp phát array

Sau khi khai báo, array cần được cấp phát vùng nhớ. Đặc biệt trong Java, kích thước của mảng không được xác định ngay khi khai báo mà cần dùng từ khóa new

int arr[10]; //trinh bien dich se bao loi

int arr[] = new int[100]; //khai bao va cap phat

int arr[]; //khai bao truoc

arr = new int[100]; //sau do cap phat

Khỏi tạo giá trị ban đầu cho array

int arr[] = {1,2,3,5,4,6};

char arr[] = {‘a’, ‘b’, ‘c’}

String arr[] = {“phung”, “khac”, “huy”}

Truy cập các phần tử trong array

Các phần tử array trong Java được đánh số từ 0, phần tử cuối cùng một mảng gồm n phần tử sẽ có số thứ tự là n-1. Để truy cập một phần tử của mảng ta viết theo dạng sau:

ten_mang[index]

lưu ý: trong các ngôn ngữ khác như C xem chuỗi kí tự là một mảng kí tự nhưng trong Java điều này không đúng nữa, Java xem String là một lớp riêng biệt và được cung cấp sẵn các phương thức cho phép cắt ghép chuỗi, tìm kiếm,….

0 nhận xét: