You are on page 1of 54

TRNG I HC CNG NGH THNG TIN

KHOA CNG NGH PHN MM

LP TRNH JAVA

NHM CHUYN JAVA

TI LIU THAM KHO


[1] Cay S. Horstmann, Gary Cornell. Core Java 2: Volume I
Fundamentals, Prentice Hall , 2002
[2] H.M.Deitel. Java How to Program, Prentice Hall , 2004.

HNH THC NH GI
1. Thi thc hnh: 30%
2. Thi cui k (Trc nghim): 50%
3. Seminar: 20%

CNG C S DNG
J2SDK, J2SDK document
IDE: NetBean , Jcreator, Eclipse

CHNG 1

TNG QUAN V JAVA

NI DUNG
Lch s pht trin
Cng ngh Java
Cc dng chng trnh Java
c im ca Java
My o Java (Java Virtual Machine)
Vit, dch, thc thi chng trnh HelloWorld
Mi trng, cng c: gii thiu mt s IDE ph bin

Lch s pht trin


1991: Sun Microsystems pht trin OAK nhm mc ch vit phn mm
iu khin (phn mm nhng) cho cc sn phm gia dng.

1995: internet bng n, pht trin mnh. Sun pht trin OAK v gii
thiu ngn ng lp trnh mi tn Java

Java l ngn ng hng i tng ta C, C++

Lch s pht trin


Java Development Kit (JDK)
Mi trng pht trin v thc thi do Sun Microsystems
cung cp (http://java.sun.com)
Bao gm phn mm v cng c gip compile, debug and
execute ng dng.

Cng ngh Java


Cng ngh:
Ngn ng lp trnh
Mi trng thc thi v trin khai
Mi trng pht trin
Cng ngh J2SE (Java 2 Standard Edition)
Cng ngh J2EE (Java 2 Enterprise Edition)
Cng ngh J2ME(Java 2 Micro Edition)

Cc dng chng trnh java


Applets:

Cc dng chng trnh java


Console Applications

Cc dng chng trnh java


ng dng Desktop

Cc dng chng trnh java


ng dng Web

Cc dng chng trnh java


Mt dng phn mm trn thit b di ng

ng dng trn Android

http://www.tiobe.com/index.php/content/paperinfo/tpci/index.html

c im java
Ta C++, hng i tng hon ton.
Kh chuyn, c lp nn.
Thng dch (va bin dch va thng dch).
C ch gii phng b nh t ng.
An ton, bo mt.

C LP VI NN

Java Virtual Machine


L phn mm da trn c s my tnh o.
C th xem nh 1 h iu hnh thu nh.
Cung cp mi trng thc thi cho chng trnh java (c lp nn)
Hnh thnh 1 lp tru tng:
Phn cng my tnh bn di
H iu hnh
M bin dch
Chng trnh java ch chy khi c JVM
JVM c v thc thi tng cu lnh java

KiN TRC J2SE

c im java
Ta C++, hng i tng hon ton.
Kh chuyn, c lp nn.
Thng dch (va bin dch va thng dch).
C ch gii phng b nh t ng.
An ton, bo mt.

Chng trnh truyn thng

MI TRNG LP TRNH JAVA

Dch v thc thi chng trnh java

Vit v thc thi chng trnh Hello World

Dng Notepad son tho on lnh bn di v lu li vi tn


HelloWorld.java
import java.io.*;
class HelloWorld

Khai bo th vin java.io


nh ngha lp tn HelloWorld
Bt u on lnh

public static void main(String args[])

Phng thc
main

{
System.out.print(Hello Class);
}

Xut ra Console
thng bo

Kt thc on lnh

Vit v thc thi chng trnh Hello World


(tt)
Bin dch: dng chng trnh javac
C:\> javac HelloWorld.java
Bin dch thnh cng to ra tp tin c ui .class (HelloWorld.class)
Thng dch (thc thi): dng chng trnh java
C:\> java HelloWorld
Lu : Phi khai bo ng dn ch n th mc ci t java, v th mc
cha cc class cn thc thi
V d:

C:\> set path=C:\jdk1.5\bin\


C:\> set classpath = D:\ThucHanhJava\BT1\

Mi trng, cng c
Mi trng pht trin v thc thi ca JDK
IDE (Integrated Development Enviroment)
Jcreator Pro
NetBean
Eclipse
Jbuilder

WebServer
Apache Tomcat (version )
WebLogic (version )
Jrun (version ), Jboss (version ),

Thc hnh
Ci t jdk 1.5 (NetBean 5.0 hoc 5.5).
Ci t Eclipse 3.2, Jcreator 3.5.
Vit v thc thi chng trnh HelloWorld dng cng c son tho
Notepad.
Lm quen vi mi trng pht trin NetBean, Eclipse, JCreator.
Vit v thc thi chng trnh HelloWorld dng cng c NetBean,
Eclipse, JCreator.
Tm hiu cch s dng jdk document tra cu.

CN BN V NGN NG JAVA

NI DUNG
Bin & Hng
Kiu d liu (kiu c s, kiu tham chiu)
Ton t, biu thc
Cc cu trc iu khin (chn, r nhnh, lp)
Lp bao kiu c s
Phng thc v cch s dng
Mt s v d minh ha

Bin
Bin l mt vng nh lu cc gi tr ca chng trnh
Mi bin gn vi 1 kiu d liu v 1 nh danh duy nht l tn bin
Tn bin phn bit ch hoa v ch thng. Tn bin bt u bng 1 du _,
$, hay 1 k t, khng c bt u bng 1 k s.
Khai bo
<kiu d liu> <tn bin>;
<kiu d liu> <tn bin> = <gi tr>;
Gn gi tr
<tn bin> = <gi tr>;

Phn loi bin


Bin trong Java c 2 loi: instance varible v local
variable.
i vi instance variable, c th c s dng m
khng cn khi to gi tr (c t ng gn gi tr mc
nh).
i vi local varible, Java bt buc phi khi to gi tr
trc khi s dng. Nu khng s to ra li khi bin dch.

Hng
L mt gi tr bt bin trong chng trnh
Tn t theo qui c nh tn bin
c khai bo dng t kha final, v thng dng tip
v ng i vi cc hng s (l, L, d, D, f, F)
V d:
final int x = 10; // khai bo hng s nguyn x = 10
final long y = 20L; // khai bo hng s long y = 20
Hng k t: t gia cp nhy n
Hng chui: l mt dy k t t gia cp nhy i

Hng k t c bit
K t

ngha

\b

Xa li (BackSpace)

\t

Tab

\n

Xung hng

\r

Du enter

Nhy kp

Nhy n

\\

\f

y trang

\uxxxx

K t unicode

Kiu d liu
Kiu d liu c s (primitive data type)
Kiu d liu tham chiu (reference data type)

Kiu d liu c s
Kiu c s

Kiu lun l

Kiu k t

Kiu s

kiu nguyn
boolean

kiu thc

char

byte

short

int

long

float

double

Kiu d liu c s (tt)


Kiu
boolean

char
byte
short
int
long

float
double

Kch thc (bits)


Gi tr
[Note: The
true v false
representation of a
boolean is specific to
the Java Virtual Machine
on each computer
platform.]
16
'\u0000' to '\uFFFF'
(0 to 65535)
8
128 to +127
(27 to 27 1)
16
32,768 to +32,767
(215 to 215 1)
32
2,147,483,648 to
+2,147,483,647
(231 to 231 1)
64
9,223,372,036,854,775,808 to
+9,223,372,036,854,775,807
(263 to 263 1)
32
1.40129846432481707e45 to
3.4028234663852886E+38
64
4.94065645841246544e324
to 1.7976931348623157E+308

Gi tr mc nh
false

null
0
0
0
0l

0.0f
0.0d

Kiu d liu c s (tt)


Chuyn i kiu d liu: khi c s khng tng thch v
kiu d liu (gn, tnh ton biu thc, truyn i s gi
phng thc)
Chuyn kiu hp (ln nh): cn p kip
<tn bin 2> = (kiu d liu) <tn bin 1>;
Chuyn kiu rng (nh ln): t ng chuyn

Kiu d liu c s (tt)


Lu
1. Khng th chuyn i gia kiu boolean vi int v ngc li.
2. Nu 1 ton hng kiu double th
Ton hng kia chuyn thnh double
Nu 1 ton hng kiu float th
Ton hng kia chuyn thnh float
Nu 1 ton hng kiu long th
Ton hng kia chuyn thnh long
Ngc li Tt c chuyn thnh int tnh ton

Kiu d liu c s (tt)


V d minh ha
1. byte x = 5;
2. byte y = 10;
3. byte z = x + y;
// Dng lnh th 3 bo li chuyn kiu cn sa li
// byte z = (byte) (x + y);

Kiu d liu tham chiu


Kiu mng
Mng l tp hp cc phn t c cng tn v cng kiu d liu.
Mi phn t c truy xut thng qua ch s
Khai bo mng

<kiu d liu>[] <tn mng>; // mng 1 chiu


<kiu d liu> <tn mng>[]; // mng 1 chiu
<kiu d liu>[][]

<tn mng>; // mng 2 chiu

<kiu d liu> <tn mng>[][]; // mng 2 chiu

Kiu d liu tham chiu (tt)


Khi to
int

arrInt[]

= {1, 2, 3};

char

arrChar[]

= {a, b, c};

String arrString[]

= {ABC, EFG, GHI};

Cp pht & truy cp mng


int [] arrInt = new int[100];
int arrInt[100]; // Khai bo ny trong Java s b bo li.
Ch s mng n phn t: t 0 n n-1

Kiu d liu tham chiu (tt)


Kiu i tng
Khai bo i tng
<Kiu i tng> <bin T>;
Khi to i tng
<Kiu i tng> <bin T> = new <Kiu i
tng>;
Truy xut thnh phn i tng
<bin T>.<thuc tnh>
<bin T>.<phng thc>

Ton t, biu thc


Ton t s hc

Ton t
+
*
/
%
++
--

ngha
Cng
Tr
Nhn
Chia nguyn
Chia d
Tng 1
Gim 1

Ton t, biu thc (tt)


Php ton trn bit

Ton t
&
|
^
<<
>>
~

ngha
AND
OR
XOR
Dch tri
Dch phi
B bit

Ton t, biu thc (tt)


Ton t quan h & logic

Ton t
==
!=
>
<
>=
<=
||
&&
!

ngha
So snh bng
So snh khc
So snh ln hn
So snh nh hn
So snh ln hn hay bng
So snh nh hn hay bng
OR (biu thc logic)
AND (biu thc logic)
NOT (biu thc logic)

Ton t, biu thc (tt)


Ton t gn

Ton t
=
+=
-=
*=
/=
%=

V d
a=b
a += 5
b -= 10
c *= 3
d /= 2
e %= 4

ngha
gn a = b
a=a+5
b = b 10
c=c*3
d = d/2
e=e%4

Ton t, biu thc (tt)


Ton t iu kin
C php: <iu kin> ? <biu thc 1> : < biu thc
2>
V d:
int x = 10;
int y = 20;
int Z = (x<y) ? 30 : 40;
// Kt qu z = 30 do biu thc (x < y) l ng.

Cu trc iu khin
Cu trc if else
Dng 1: if (<iu_kin>) {
<khi_lnh>;
}
Dng 2: if (<iu_kin>) {
<khi _lnh1>;
}
else {
<khi _lnh2>;
}

Cu trc iu khin
Cu trc switch case
switch (<bin>) {
case <gitr_1>:
<khi_lnh_1>;
break;
.
case <gitr_n>:
<khi_lnh_n>;
break;
default:
<khi lnh default>;
}

Cu trc iu khin
Cu trc lp
Dng 1: while (<iu_kin_lp>) {
<khi _lnh>;
}
Dng 2: do {
<khi_lnh>;
} while (iu_kin);
Dng 3: for (khi_to_bin_m;k_lp;tng_bin) {
<khi _lnh>;
}

Cu trc iu khin
Cu trc lnh nhy jump: dng kt hp nhn (label) vi
t kha break v continue thay th cho lnh goto (trong
C).
V d:
label:
for () {
for () {
if (<biu thc iu kin>)
break label;
else
continue label;
}
}

NHP D LiU T CONSOLE


Lp java.util.Scanner
public boolean

nextBoolean() Details

public byte

nextByte() Details

public byte

nextByte(int radix) Details

public double

nextDouble() Details

public float

nextFloat() Details

public int

nextInt() Details

public int

nextInt(int radix) Details

public String

nextLine() Details

public long

nextLong() Details

public long

nextLong(int radix) Details

public short

nextShort() Details

public short

nextShort(int radix) Details

Lp bao kiu d liu


Data type

Wrapper Class
(java.lang.*)

boolean

Boolean

byte

Byte

short

Short

char

Character

int

Integer

long

Long

float

Float

double

Double

Ghi ch
- Gi (package): cha
nhm nhiu class.
- Ngoi cc Wrapper
Class, gi java.lang cn
cung cp cc lp nn tng
cho vic thit k ngn ng
java nh: String, Math,

You might also like