Nhập mụn Java

Một phần của tài liệu giáo trình về java 2008 (Trang 27)

I. Viết và thực hiện một chương trỡnh Java

I.1 Tỡm hiểu mó nguồn một chương trỡnh đơn giản

1. /* Day la chuong trinh vi du*/ 2. public class Vidu

3. {

4. public static void main(String[] args) 5. {

6. System.out.println("Hello, World!"); 7. }

8. }

Dũng 1: Dũng chỳ thớch trong một chương trỡnh Java. Trong khi lập trỡnh, ta cần chỳ ý viết cỏc dũng chỳ thớch để mụ tả về mó nguồn. Điều này rất quan trọng khi chương trỡnh lớn và gặp lỗi, cỏc dũng chỳ thớch giỳp ta nhanh chúng nhận ra vai trũ và ý nghĩa của từng đoạn code.

Cỏc chỳ thớch trong chương trỡnh Java được đặt trong cặp /* và */ khi cần chỳ thớch nhiều dũng hoặc để sau cặp // khi chỉ chỳ thớch một dũng. Tuy nhiờn cỏc cặp /* và */ hay được dựng hơn vỡ cỏc đoạn chỳ thớch này sẽ được tự động đưa vào tài liệu khi ta dựng cụng cụ javadoc để sinh tài liệu cho mó nguồn.

Dũng 2: Khai bỏo một lớp cú tờn Vidu.

Dũng 3. Cựng với dũng 8 tạo thành một cặp {} dựng để đỏnh dấu việc mở và đúng cho một khối lệnh, trong trường hợp này, tất cả cỏc lệnh nằm trong cặp này đều thuộc phạm vi của lớp Vidu.

Dũng 4: Khai bỏo hàm main. Trong Java, mọi chương trỡnh nếu cần thực thi đều bắt đầu từ hàm main. Trỡnh thụng dịch sẽ tỡm hàm main làm điểm khởi phỏt cho một ứng dụng Java.

Dũng 5 và 7 cũng là đỏnh dấu mở và đúng cho một khối lệnh thuộc hàm main.

Dũng 6: Cõu lệnh in ra màn hỡnh dũng chữ “Hello, World!”. Cỏc lệnh trong Java luụn được kết thỳc bởi dấu ;.

I.2. Thực hiện chương trỡnh Java.

Để thực hiện chương trỡnh Java trong vớ dụ trờn, ta thực hiện theo cỏc bước sau:

1. Dựng một trỡnh soạn thảo bất kỳ hoặc một IDE Java thỡ càng tốt để soạn chương trỡnh. 2. Ghi file vừa soạn với tờn Vidu.java. Ở đõy, tờn file phải bắt buộc là Vidu giống như tờn lớp trong chương trỡnh. Phần mở rộng cũng bắt buộc là .java để trỡnh biờn dịch Java biết đõy là file chứa mó nguồn Java. Giả sử ghi vào thư mục c:\JavaSample.

3. Gọi cửa sổ Command Line của Windows: Từ Menu Start, chọn Run và gừ vào lệnh “cmd”.

4. Từ dấu nhắc gừ lệnh:

javac c:\JavaSample\Vidu.java

Sau lệnh này, nếu chương trỡnh khụng cú lỗi cỳ phỏp, Java sẽ sinh ra một file mó bytecode cú tờn Vidu.class mặc định cũng nằm trong thư mục c:\JavaSample.

5. Từ dấu nhắc gừ lệnh:

Lệnh này sẽ thụng dịch file mó bytecode Vidu.class và in ra màn hỡnh dũng chữ “Hello, World!”.

Ở đõy, ta cần chỳ ý Windows khụng tự động hiểu cỏc lệnh javac, java. Tuy nhiờn, khi cài đặt Java ta đó đặt đường dẫn mặc định đến thư mục chứa cỏc lệnh này là

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

Trường hợp chưa đặt đường dẫn mặc định, ta phải gọi cỏc lệnh này với đường dẫn đầy đủ của nú.

I.3. Một số chỳ ý khi lập trỡnh Java

 Java phõn biệt chữ viết hoa và viết thường.  Hàm main phải nằm trong file gọi thực hiện  Tờn khai bỏo phải trựng với tờn tệp “Vidu.java”  Hàm main trong Java luụn luụn là static

 Trong Java tất cả hàm và thủ tục đều phải được đặt trong một lớp cụ thể.  Khụng được khai bỏo phương thức, hàm hay thủ tục bờn ngoài lớp.  Sử dụng phương thức (method) để thay thế cho hàm và thủ tục.

I.4. Cấu trỳc một chương trỡnh Java

/*Khai bao goi*/ package <tờn gúi>; /*Khai bao thu vien*/ import <tờn gúi thư viện>; /*Khai bao lop chua ham main*/ public class <tờn lớp>

{

/*Cỏc thuoc tinh cua lop */ ……………………. /*Cac phuong thuc*/ ……………………. /*Hàm main*/

public static void main(String[] args) {

// Cỏc lệnh trong hàm main }

}

/*Cac lop lien quan khac*/ class A { …………. } class B { …………. }

Cỏc thành phần trong một chương trỡnh Java gồm cú: 1. Khai bỏo gúi:

Cỳ phỏp: package <tờn gúi>.

Khai bỏo này là khụng bắt buộc với một chương trỡnh Java. Trong trường hợp ứng dụng gồm nhiều class và cần tổ chức cỏc class vào cỏc gúi riờng thỡ ta cần khai bỏo gúi. Trong chương trỡnh trờn, class Vidu sau khi biờn dịch sẽ được đặt trong gúi my.java. Tờn của gúi cú chứa cỏc dấu “.” chỉ sự bao gồm, ở đõy gúi “java” nằm trong gúi “my” và class Vidu nằm trong gúi “java”. Khi một chương trỡnh Java khỏc muốn truy cập tới lớp Vidu, nú cần truy cập theo đường dẫn gúi “my.java.Vidu”.

Thực ra, ý nghĩa quan trọng của gúi là việc tổ chức một cỏch logic cỏc lớp vào trong cỏc domain riờng để người phỏt triển ứng dụng dễ dàng truy cập. Trong hàng ngàn class được Java hỗ trợ trong cỏc gúi thư viện, chỳng đều được nhúm lại theo chức năng và mục đớch sử dụng với tờn gúi cú tớnh chất gợi ý. Nếu khụng làm như vậy, chỳng ta sẽ rất khú khăn để tỡm ra một class để sử dụng.

2. Nhập thư viện.

Cỳ phỏp: import <tờn thư viện>

Nếu cú khai bỏo này, khi sử dụng cỏc class nằm trong gúi theo <tờn thư viện> ta khụng cần viết đầy đủ tờn gúi mà chỉ cần viết tờn class. Java dựng ký từ “*” để ngụ ý việc nhập tất cả cỏc class trong <tờn thư viện>. Vớ dụ:

import my.java.Vidu; // Nhập duy nhất class Vidu trong gúi my.java

import my.java.*; // Nhập tất cả cỏc class cú trong gúi my.java, tất nhiờn là bao gồm cả class Vidu.

Sau đõy là một chương trỡnh vớ dụ sử dụng import: import java.util.Date; //Khai bỏo thư viện

/*Chương trỡnh in ra ngày thỏng hiện hành*/ public class Application {

public static void main(String[] args) {

Date date = new Date(); //tạo biến đối tượng thuộc class Date System.out.println(“Hụm nay "+date);

} }

Ở đõy, class Date đó được khai bỏo import nờn khụng cần khai bỏo đầy đủ “java.util.Date” tại dũng số 5.

3. Khai bỏo class, thuộc tớnh, hàm thành phần: Cỏc khai bỏo này sẽ được bàn chi tiết trong mục “Lập trỡnh hướng đối tượng trong Java”.

4. Khai bỏo hàm main: Khụng phải tất cả cỏc class trong Java đều chứa hàm main. Chỉ cú class được gọi thực thi đầu tiờn mới cần chứa hàm main.

5. Khai bỏo cỏc lớp khỏc: Thụng thường 1 file chương trỡnh Java chỳng ta chỉ khai bỏo 1 class. Tuy nhiờn khi class đú quỏ phức tạp chỳng ta cú thể tỏch ra thành cỏc class khỏc.

Trong số 5 phần trờn, tất cả cỏc class đều cú phần 3, cỏc phần cũn lại cú thể cú hoặc khụng tựy theo nhu cầu.

II. Cỏc kiểu dữ liệu trong Java II.1 Cỏc kiểu dữ liệu số nguyờn II.1 Cỏc kiểu dữ liệu số nguyờn

int 4 bytes Từ –2,147,483,648 đến 2,147,483, 647 short 2 bytes Từ –32,768 đến 32,767 long 8 bytes Từ –9,223,372,036,854,775,808 đến9,223,372,036,854,775,807 byte 1 byte Từ –128 đến 127 II.2 Cỏc kiểu số thực

Java cú 2 kiểu số thực dấu chấm động:

float 4 bytes Xấp xỉ ±3.40282347E+38F

double 8 bytes Xấp xỉ ±1.79769313486231570E+308

Số dấu chấm động cú thể nhận cỏc giỏ trị:  Vụ cực õm/dương.

 Số õm/dương.  Số 0.

 NaN (khụng là một số = 0.0/0.0f).

II.3 Kiểu ký tự (character)

Là kiểu dữ liệu về ký tự.

Một biến char sẽ cú một giỏ trị là một ký tự Unicode.

II.4 Kiểu logic (boolean)

Là kiểu dữ liệu chỉ cú hai giỏ trị true và false dựng để xỏc định kết quả một điều kiện. Chỳ ý: kiểu boolean khụng được thể hiện là 0 và 1.

II.5 Kiểu chuỗi

Java xem chuỗi là một đối tượng.

Biến đối tượng chuỗi thường được khai bỏo từ lớp String nằm trong gúi java.lang.String.

II.6 Chuyển đổi giữa cỏc kiểu số

byte short int

long

double

float char

III. Khai bỏo biến và hằng trong Java III.1 Quy tắc đặt tờn biến III.1 Quy tắc đặt tờn biến

Khi khai bỏo cỏc biến trong chương trỡnh Java, ta cần chỳ ý tuõn thủ cỏc điểm sau:  Chỉ bắt đầu bằng một ký tự (chữ), một dấu gạch dưới (_) hay một dấu dollard ($).  Khụng cú khoảng trống giữa tờn.

 Sau ký tự đầu, cú thể dựng cỏc ký tự (chữ), ký tự số, dấu dollard, dấu gạch dưới.  Khụng trựng với cỏc từ khoỏ.

III.2 Khai bỏo biến

Cỏc biến trong Java rơi vào hai trường hợp:

 Toỏn học: Cỏc biến cú kiểu nguyờn thủy của Java đều thuộc dạng này. Sau khi khai bỏo, biến được cấp phỏt một vựng nhớ cố định tựy theo kớch thước của kiểu dữ liệu của biến đú.

 Địa chỉ: Cỏc biến đối tượng được lưu ở dạng này. Biến chỉ lưu giỏ trị địa chỉ đầu của một vựng nhớ được cấp phỏt cho đối tượng.

Vớ dụ khai bỏo cho từng kiểu biến toỏn học: byte i; short j; int k; long x; float y; double z; char ch; boolean bQuit;

Cỏc biến địa chỉ thường sử dụng để lưu trữ cỏc địa chỉ mảng, con trỏ, đối tượng. Vớ dụ về khai bỏo biến kiểu địa chỉ:

String strHello; //khai bỏo một chuỗi

AudioClip music; // vớ dụ lớp của AudioClip Khởi động giỏ trị cho biến

Vớ dụ về khởi động biến ngay lỳc khai bỏo: byte i = 3; short j = 10; int k = 1; long x = 1234567L; float y = 1.25f; double z = 23.45d; char ch = „T‟; boolean bQuit = true;

String strHello = “Hello everybody”;

Ở đõy cần chỳ ý rằng khi khởi tạo giỏ trị cho cỏc kiểu số nờn xỏc định rừ kiểu dữ liệu của giỏ trị.

Cỏc giỏ trị mặc định

byte 0

short 0

long 0L; float 0.0f; double 0.0d;

char null;

boolean false; Cỏc biến dẫn suất null

III.3 Biến kiểu mảng

Khi cần làm việc với một tập cỏc giỏ trị cú cựng kiểu dữ liệu, ta cú thể sử dụng một biến mảng để lưu trữ chỳng.

Khai bỏo:

Một biến mảng được khai bỏo theo hai cỏch:  Sử dụng cặp ngoặc vuụng đặt sau tờn biến.  Sử dụng cặp ngoặc vuụng đặt sau kiểu dữ liệu. Vớ dụ:

int [] intArray; hoặc int intArray[]; đều cho ta một mảng số nguyờn cú tờn la intArray. Thụng thường ta dựng kiểu khai bỏo thứ nhất để cú thể khai bỏo nhiều biến mảng cựng kiểu dữ liệu:

int [] intArray1, intArray2, intArray3;

Định vị mảng

Sau khi khai bỏo, bản thõn mảng chưa xỏc định hay chưa được định vị vỡ chưa được cấp phỏt vựng nhớ . Do đú, mảng cần được cấp phỏt vựng nhớ trước khi sử dụng.

Dựng từ khoỏ new để định vị cho một mảng trong vựng nhớ, vớ dụ: int IntArray[] = new int[100];//tạo mảng 100pt

float floatArray[];

floatArray = new float[10]; //tạo mảng 10 pt Khởi tạo giỏ trị cho mảng

Ta cũng cú thể khởi tạo một mảng bằng cỏch liệt kờ cỏc phần tử của nú, vớ dụ: int IntArray[] = {1, 2, 3, 4, 5};

char [] charArray = {„a‟, „b‟, „c‟}; IntArray[] = new int[] {1, 2, 3, 4, 5}; Truy cập cỏc phần tử của mảng

Cỏc phần tử trong một mảng luụn được đỏnh số bắt đầu từ số 0. Kiểu dữ liệu của chỉ số là kiểu int. Tuy nhiờn nếu dựng kiểu char thỡ Java sẽ tự động chuyển sang mó ASCII tương ứng. Vớ dụ b[„a‟] tương ứng với b[97].

Phần tử đầu tiờn là phần tử thứ 0, và phần tử cuối cựng của một mảng cú n phần tử là n-1. Cỏc phần tử của mảng được truy cập một cỏch trực tiếp bằng chỉ số của nú.

Vớ dụ:

int IntArray[] = {1, 2, 3, 4, 5}; int a = IntArray[2];//a=3 int b = IntArray[0];//b=1

Ta cú thể gỏn cỏc giỏ trị của mảng thụng qua truy nhập vào từng phần tử của mảng. Vớ dụ:

int intList[] = new int[10]; //tạo mảng 10pt

intList[0] = 99; //Phần tử thứ 0 (đầu tiờn) cú giỏ trị là 99. for (sort i=1; i<10; i++)

intList[i] = 1; //cỏc phần tử cũn lại bằng 1 Vớ dụ: int x, y, k; x = intList[0]; //x=99 y = intList[5]; //y=1 k = intList[y+1]; //k=intList[6]=1 Mảng nhiều chiều:

Khai bỏo mảng 2 chiều:

<kiểu phần tử>[][] <tờn mảng> = {<danh sỏch phần tử>}; Vớ dụ: int[][] b = {{1,2},{3,4}};

Đõy là khai bỏo và khởi tạo giỏ trị cho một mạng 2 chiều kớch thước 2 x 2. {1,2} là cỏc phần tử của hàng 1; {3,4} là cỏc phần tử trờn hàng thứ 2.

Hoặc ta cú thể khai bỏo rừ số hàng và số cột của mảng: int b[][] = new int[ 3 ][ 4 ];

Thậm chớ ta cú thể khai bỏo một mảng 3 chiều hoặc hơn. int b[][][] = {{{1,2},{3,4}},{{5,6},{7,8}}};

Ta được b[0][0][0] =1; b[0][0][1]=2;b[1][1][1]=8;b[0][1][0]=3;

III.4 Hằng số (literal)

Là một giỏ trị khụng đổi được sử dụng trong chương trỡnh. Hằng số được biểu diễn như chớnh nú chứ khụng là một giỏ trị của biến hay một kết quả của biểu thức. Giỏ trị của hằng số khụng thể bị thay đổi.

Vớ dụ: Pi = 3.1415.

Tờn của hằng số được đặt tờn như tờn biến. Cỏch khai bỏo hằng cũng tương tự như biến nhưng cú dựng thờm từ khúa final:

<phạm vi> final <kiểu dữ liệu của hằng> <tờn hằng> = <giỏ trị> Vớ dụ: public final String mauda ="vang";

Hằng số cú thể là:

Hằng số nguyờn:

Hằng cú thể được biểu diễn dưới dạng thập phõn, bỏt phõn, thập lục phõn. Vớ dụ: biểu diễn số 15 dạng int: 15. dạng long: 15L. dạng bỏt phõn: 017. dạng thập lục phõn: 0xF. Hằng số thực:

Tương tự như hằng số nguyờn, để chỉ rừ hằng là float ta thờm vĩ ngữ “ f ” hay “F”, hằng là double ta thờm “d” hay “D”.

Hằng Boolean:

Một hằng số kiểu boolean cú giỏ trị là true hoặc false. Trong Java, cỏc giỏ trị 0 và 1

khụng được dựng thay thế cho false và true như trong C hoặc C++.

Hằng ký tự:

Là một ký tự đơn giản hay một chuỗi ESCAPE, hằng ký tự được đặt trong hai dấu ngoặc đơn „‟. Cỏc chuỗi ESCAPE:

„\b‟ : Xoỏ lựi. „\n‟ : Xuống dũng. „\t‟ : Tab ngang.

„\f‟ : đẩy trang. „\r‟ : dấu enter. „\”‟ : nhỏy kộp. „\’‟ : nhỏy đơn. „\\‟ : sổ ngược. „uxxxx‟: ký tự unicode. Vớ dụ:

System.out.println(“Xin chào bạn \n Nguyễn Văn A”); Sẽ in ra màn hỡnh kết quả:

Xin chào bạn Nguyễn Văn A

Hằng chuỗi ký tự:

Một hằng chuỗi ký tự cú thể cú 0 ký tự (hằng chuỗi rỗng) hay nhiều ký tự. Vớ dụ: “A String”, “” //chuỗi rỗng, “dong 1 \t\n dong 2”.

III.5 Phạm vi hoạt động của hằng và biến:

Khối lệnh Block 1 chứa 2 khối lệnh con Block 2, Block 3.

Biến hay hằng sẽ chỉ cú ý nghĩa trong phạm vi khối lệnh mà nú được khai bỏo.

IV. Cỏc toỏn tử và biểu thức

IV.1 Cỏc toỏn tử và thứ tự ưu tiờn

Cỏc toỏn tử thường sử dụng: Toỏn tử í nghĩa Vớ dụ = Gỏn x=10 != so sỏnh khỏc x!=5 > so sỏnh lớn hơn x>5 < so sỏnh nhỏ hơn x<20 >= lớn hơn hoặc bằng x>=10 <= nhỏ hơn hoặc bằng x<=10 + cộng y=x+1 - trừ y=x-1 * Nhõn y=x*3 / Chia y=x/3 { Block 1 } { Block 2 } { Block 3 }

% Lấy phần dư 10%3 = 1

++ tăng giỏ trị lờn 1 x++

-- giảm giỏ trị đi 1 x--

+= cộng kết hợp phộp gỏn x+=y tương đương x=x+y

-= trừ kết hợp phộp gỏn x-=y tương đương x=x-y

*= nhõn kết hợp phộp gỏn x*=y tương đương x=x*y

/= chia kết hợp phộp gỏn x/=y tương đương x=x/y

^ phộp XOR trờn bit x ^ y

| phộp OR trờn bit x | y

& phộp và trờn bit

! Toỏn tử logic NOT

&& Toỏn tử logic AND

|| Toỏn tử logic OR

= = So sỏnh bằng nhau

Thứ tự ưu tiờn:

( ), *, /, %, +, -,= =, !=, &, ^, |, &&, ||, =, %=, /=, *=, -=, +=

IV.2 Biểu thức

Biểu thức là sự kết hợp cỏc biến số, cỏc giỏ trị bởi cỏc toỏn tử hoặc cú thể là một phộp gỏn giỏ trị một biểu thức cho một biến số.

Vớ dụ: (x+3)/(y-2);

Cú 3 loại biểu thức chớnh là:

 Biểu thức số liờn kết cỏc biến số, cỏc hằng bằng cỏc phộp toỏn số, kết quả là một giỏ trị số.

 Biểu thức gỏn dựng để gỏn giỏ trị cho một biến, một hằng.  Biểu thức logic chỉ cho ra kết quả là cỏc giỏ trị true hay false.

Khi sử dụng cõu lệnh gỏn kết quả của một biểu thức cho một biến, ta cần chỳ ý tới vấn đề đồng nhất kiểu dữ liệu giữa hai vế để trỏnh mất thụng tin. Vớ dụ:

Double delta = 0.0d; //khai bỏo một biến số thực cú tờn delta delta = 1/ 100; // Gỏn cho delta kết quả của phộp chia 1 cho 100.

Một phần của tài liệu giáo trình về java 2008 (Trang 27)

Tải bản đầy đủ (PDF)

(146 trang)