1. Trang chủ
  2. » Công Nghệ Thông Tin

Bài giảng Lập trình Java - Chương 1: Lập trình cơ bản với ngôn ngữ Java

109 48 0
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 109
Dung lượng 4,29 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Bài giảng Lập trình Java - Chương 1: Lập trình cơ bản với ngôn ngữ Java cung cấp cho người học các kiến thức: Môi trường lập trình, chương trình đầu tiên, kiểu dữ liệu, nhập & xuất ở màn hình Console, các cú pháp rẽ nhánh, lặp,... Mời các bạn cùng tham khảo.

Trang 1

Phát triển UD CSDL 2

Lập trình cơ bản với ngôn ngữ JAVA

Trang 2

Phát triển UD CSDL 2

Môi trường, cấu trúc chương trình, kiểu dữ liệu

Trang 4

Môi trường lập trình

Netbeans IDE 7.2

Trang 5

Môi trường lập trình

Download: http://netbeans.org/downloads/

Platform:WindowsLinuxSolarisMac OS X

Trang 6

Chương trình đầu tiên

File 🡪 New Project …

Trang 7

Chương trình đầu tiên

Thiết lập: Project name, location, folder 🡪 Finish

Trang 8

Chương trình đầu tiên

Trang 9

Chương trình đầu tiên

Chương trình xuất ra màn hình console chuỗi "Hello World"

Trang 10

Chương trình đầu tiên:

Hàm main

public static void main(String[] args) {

// TODO code application logic here String s = new String("Hello World");

System.out.println(s);

}

Một chương trình JAVA phải có 1 hàm main Hàm main là điểm bắt đầu của chương trình (Entry Point)

Trang 11

Chương trình đầu tiên

Cấu hình Entry Point cho chương trình:

Chọn project 🡪 Properties🡪 Run 🡪 Main Class:

Trang 12

Chương trình đầu tiên

Trang 13

Chương trình đầu tiên

Biên dịch và thực thi mã nguồn JAVA từ dòng lệnh:

Hai lệnh cơ bản:

javac : Biên dịch các tập tin *.java thành tập tin thực thi *.class

java: Chạy chương trình từ các tập tin sau khi biên dịch

Sau khi cài JDK, kiểm tra các lệnh java, javac đã sẳn sàng hay chưa?:

Lỗi

Trang 14

Chương trình đầu tiên

Biên dịch và thực thi mã nguồn JAVA từ dòng lệnh:

Nếu chưa:

1 Tìm đường dẫn thư mục đã cài đặt JDK/bin

2 Thay đổi biến môi trường PATH

Control Panel 🡪 System 🡪 Advance System Setting 🡪 Enviroment Variables

Bổ sung đường dẫn của thư mục cài đặt JDK/bin vào biến PATH

3 Tắt và mở lại cửa sổ command line và thực thi lại để kiểm tra.

Ví d : C:\Program Files (x86)\Java\jdk1.7.0_06\binụ

Trang 15

Chương trình đầu tiên

Trang 16

Chương trình đầu tiên

Khi các lệnh javajavac đã sẳn sàng:

OK

OK

Trang 17

Chương trình đầu tiên

Giả sử project HelloWorld ở đường dẫn:

C:\Users\TruongSon\Documents\NetBeansProjects\HelloWorld

Trang 18

Chương trình đầu tiên

1 Biên dịch lớp HelloWorld.java, kết quả biên dịch được bỏ vào trong thư mục classes

2 Thực thi lớp HelloWorld nằm trong package helloworld:

C:\Users\ \HelloWorld>javac ­d "classes" "src/helloworld/HelloWorld.java"

C:\Users\ \HelloWorld>java ­classpath "classes" helloworld.HelloWorld

Biên dịch và thực thi bằng command line

Trang 19

Chương trình đầu tiên

Biên dịch và thực thi bằng Netbeans

Trang 20

Kiểu dữ liệu và khai báo biến

Kiểu dữ liệu thường dùng:

Số nguyên: int, long

Trang 21

Kiểu dữ liệu

Chuyển đổi kiểu dữ liệu sang chuỗi:

String String.valueOf ( Object obj)

String String.valueOf ( boolean b)

String String.valueOf ( char c)

String String.valueOf ( char [] data)

String String.valueOf ( char [] data, int offset, int count)

String String.valueOf ( boolean b)

String String.valueOf ( int i)

String String.valueOf ( long l)

String String.valueOf ( float f)

String String.valueOf ( double d)

Trang 22

Kiểu dữ liệu

Chuyển đổi kiểu dữ liệu sang kiểu int / Integer , long/Long

Integer Integer.valueOf (String str)

Integer Integer.valueOf (int i)

int Integer.valueOf (String str).intValue()

int i Integer.parseInt (String str)

Long Long.valueOf (String str)

Long Long.valueOf (long l)

long l = Long.parseLong (String str)

long i = Long.valueOf (String str).longValue()

(*) int, long: kiểu dữ liệu cơ sở

(**) Integer, Long : Kiểu dữ liệu Lớp hướng đối tượng

Trang 23

Kiểu dữ liệu

Chuyển đổi kiểu dữ liệu sang kiểu float/ Float, double/Double

Float Float.valueOf (String str)

Float Float.valueOf (int i)

float Float.valueOf (String str).floatValue()

float Float.parseFloat (String str)

Double Double.valueOf (String str)

Double Double.valueOf (double l)

double Double.valueOf (String str).doubleValue()

double Double.parseDouble (String str)

(*) float, double: kiểu dữ liệu cơ sở

(**) Float, Double: Kiểu dữ liệu Lớp hướng đối tượng

Trang 24

Chuyển đổi kiểu dữ liệu sang kiểu ngày:

Trang 29

Nhập & Xuất từ màn hình console

Trang 32

//Xuất theo cách thông thường

System.out.println(mssv + "-" + hoVaTen + ":" + diem);

//Xuất sử dụng định dạng xuất

String str = String.format("%s - %s : %f", mssv, hoVaTen, diem); System.out.println(str);

Trang 34

int n = 

Integer.parseInt(scan.nextLine()); 

Trang 36

Integer.parseInt(scan.nextLine()); 

if (diem>=9) { 

System.out.println("X

uâ t să c"́ ́ ); 

} else if (diem>=8 && diem<9) { 

System.out.println("Gioi"̉ ); 

} else if (diem>=7 && diem <8) { 

System.out.println("K

ha "́ ); 

} else if (diem>=5 && diem <7) { 

System.out.println("Trung bi nh"̀ ); 

else {

System.out.println("D

u i trung bi nh"̛ớ ̀ ); } 

Trang 37

switch (gia  trí ̣){

case gia  tri 1́ ̣ : 

Trang 38

Integer.parseInt(scan.nextLine()); 

Trang 39

Integer.parseInt(scan.nextLine()); 

}while (n < 3 || n>=10) 

Trang 40

Integer.parseInt(scan.nextLine());

Trang 41

break

Phạm vi sử dụng

Sử dụng trong for, while, do-while Công dụng

Thoát khỏi vòng lặp

Trang 42

Phạm vi sử dụng

Sử dụng trong for, while, do-while

Trang 43

double  Math max (double a,  double b) 

double  Math exp (double e) double  Math round (double  r)

double  Math pow (double a,  double b) 

double  Math random ()

double  Math.PI

double  Math.E 

Trang 45

PROGRAMMING ­­­­" );         

System.out.println( "­­­­­­­­­­­

­­­­­­­­­­­­­­­­­­­­­" );

        

System.out.println( "CAC  CHUC NANG: " );

        System.out.println( "1.  Chuc nang 1" );

        System.out.println( "2.  Chuc nang 2" );

        System.out.println( "3.  Chuc nang 3" );

        System.out.println ("4.  Chuc nang 4" );

        System.out.println( "0.  THOAT" );

        Scanner scan = new  Scanner(System.in);

        int nChucNang = ­1;        

Trang 46

System.out.print("Vui long  chon chuc nang 0­5: ");

      nChucNang = 

Integer.parseInt(scan.nextLin e());

      switch (nChucNang) {

      case 1: 

      

System.out.println( "BAN  VUA CHON CHUC NANG 

1 " ); break;

      case 2: 

      

System.out.println( "BAN  VUA CHON CHUC NANG 

2 " ); break;

      case 3: 

      

System.out.println( "BAN  VUA CHON CHUC NANG 

3 " ); break;

      case 4: 

      

System.out.println( "BAN  VUA CHON CHUC NANG 

4 " ); break;

      case 0: 

      

System.out.println ("BAN  VUA CHON THOAT !!! 

" );break;

      }

        }

    }

Trang 48

String[] arr6 = new

String [6]; //Khai báo và

cấp phát mảng kiểu

string, a.length = 6

Trang 50

Mảng một chiều

(3) Khởi tạo mảng

Ví dụ:

//Khởi tạo mảng một chiều kiểu long

long[] arr1 = {1, 3, 5, 7, 9}; //a.length = 5

//Khởi tạo mảng một chiều kiểu float

float[] arr2 = { ( float ) 1.3, ( float ) 3.2, ( float ) 5.5}; //a.length = 3 //Khởi tạo mảng một chiều kiểu double

double[] arr2 = {2.3, 7.2, 9.5};//a.length= 3

//Khởi tạo mảng một chiều kiểu string

String[] ngay = {

"chủ nhật","thứ hai","thứ ba",

"thứ tư","thứ năm","thứ sáu","thứ bảy"

};//a.length= 7

Trang 51

Mảng một chiều

(4) Xuất mảng

Cách 1: sử dụng cấu trúc lặp foreach

//tenBien lần lượt là các phần tử bên trong mảng

for (KieuDuLieu tenBien : tenMang){

Trang 53

Integer.parseInt(scan

nextLine()); 

Trang 54

//Xuâ t mang du ng for ́ ̉ ̀

for (int i = 0; i < a.length; i++) { 

System.out.println(a[i]); 

Trang 56

} } 

temp = a[i]; 

a[i] = a[min]; 

a[min] = temp; 

Trang 62

System.out.print("M i ờ

nh p va o sô  do ng:"ậ ̀ ́ ̀ ); int n = 

Integer.parseInt(scan.nextLine()); 

System.out.print("M i ờ

nh p va o sô  c t:"ậ ̀ ́ ộ ); int m = 

Integer.parseInt(scan.nextLine()); 

Trang 63

System.out.println(); } 

Trang 65

Phát triển UD CSDL 2

Lập trình hướng đối tượng với JAVA

Trang 66

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

Khai báo lớp đối tượng

Khai báo thuộc tính

Định nghĩa các phương thức khởi tạo

Định nghĩa các phương thức get/set

Định nghĩa các phương thức nhập xuất console Định nghĩa các phương thức xử lý nghiệp vụ Định nghĩa các phương thức overload

Định nghĩa các phương thức mức lớp (static)

Trang 67

Khai báo lớp đối tượng

123456789101112131415

package bt1;

public class PhanSo {

//Khai báo các thu c ộtính

//Khai báo các 

phương th cứ//Các phương th c ứ

kh i t oở ạ//Các phương th c ứget/set

//Các phương th c ứ

nh p xu t consoleậ ấ//Các phương th c ứ

x  lý nghi p vử ệ ụ//Các phương th c ứoverload

//Các phương th c ứstatic

//Khai báo các 

phương th cứ//Các phương 

th c kh i t oứ ở ạ//Các phương 

th c get/setứ//Các phương 

th c nh p xu t ứ ậ ấconsole

//Các phương 

th c x  lý nghi p ứ ử ệvụ

//Các phương 

th c overloadứ//Các phương 

th c staticứ

}

dụ

Trang 68

Khai báo thuộc tính

12345678910

package bt1;

public class PhanSo {

//Khai báo các thu c tínhộ

private int tuSo; private int mauSo; 

private KieuDuLieu 

tenTT1;

private KieuDuLieu tenTTN;

Trang 69

Khai báo thuộc tính

1234567

package bt1;

public class MangPhanSo {

//Khai báo các thu c tínhộ

private PhanSo[ ] arr; 

Ví 

dụ

Trang 70

Định nghĩa phương thức khởi tạo

this thuocTinhN=

Gia  tri m c  ́ ̣ ạ ̆ đinh;  ̣

this thuocTinhN=t huocTinhN;

this thuocTinhN=t l.thuocTinhN;

}

}

Trang 71

Định nghĩa phương thức khởi tạo

private   int  tuSo; . . . 

private   int  mauSo; 

//Phuong th c kh i ̛ ̛ ứ ở

public   TenLop ( int  

tuSo,  int  mauSo){ 

this tuSo = tuSo;

this mauSo =  mauSo;

this mauSo =  ps.mauSo;

}

}

Trang 72

Định nghĩa phương thức khởi tạo

PhanSo ps2 = new 

PhanSo(2,3);

PhanSo ps3 = new 

PhanSo(ps2); 

Trang 73

Định nghĩa phương thức khởi tạo

this.arr = new 

PhanSo [arr.length ];

for (int i = 0; i < 

arr.length; i++) { 

this.arr[i] =  new 

PhanSo (arr[i ]); 

}  } 

//Phuong th c kh i tao  ̛ ̛ ư ́ ở ̣ sao che p  ́

public

MangPhanSo(Mang PhanSo mps) {

this.arr = new PhanSo[mps.arr.l ength];

for (int i = 0; i < mps.arr.length; i+ +) {

this.arr[i] = new

PhanSo(mp s.arr[i]);

} }

Trang 74

Định nghĩa phương thức khởi tạo

MangPhanSo ();

//S  dung phuong  ử ̣ ̛ ̛

th c kh i tao co   ư ́ ở ̣ ́ tham sô  ́

MangPhanSo   mps2 =  new  

MangPhanSo (ne

w PhanSo(2,3)); 

MangPhanSo   mps3 =  new  

MangPhanSo (

n e w  

P h a n S o

( 1 , 3 ) ,   n e w  

P h a n S o

( 4 , 3 ) ,   n e w  

P h a n S o

( 5 , 9 ) )

;  

PhanSo  [] arr =  new  PhanSo [2]; 

MangPhanSo (arr)

//S  dung phuong  ử ̣ ̛ ̛

th c kh i tao sao  ư ́ ở ̣ che p  ́

MangPhanSo   mps5 = new 

MangPhanSo (mp s3); 

Trang 75

Định nghĩa phương thức khởi tạo

//Khai báo thuộc tính

private int[] arr;

//Phương thức khởi

tạo mặc định public

MangSoNguyen() {

this.arr = null;

}

//Phương thức khởi

tạo có tham số

public

MangSoNguyen(int []

arr) {

this.arr = new int[arr.length];

for (int i = 0; i <

arr.length; i++){

this.arr[i] = arr[i];

} }

//Phương thức khởi

tạo sao chép

Trang 76

Định nghĩa phương thức khởi tạo

public static void

main ( String [] args) {

//Sử dụng phương thức khởi tạo mặc định

MangSoNguyen

msn1=new

MangSoNguyen ( );

//Sử dụng phương thức khởi tạo có tham số

MangSoNguyen

msn2=new

MangSoNguyen ( 3);

//Sử dụng phương thức khởi tạo sao chép

MangSoNguyen

msn6=new

MangSoNguyen ( mps3);

}

}

Trang 77

Định nghĩa các phương thức Get / Set

Trang 78

Định nghĩa các phương thức Get / Set

//Phuong th c kh i tao  ̛ ̛ ư ́ ở ̣

đô i tu ng ́ ̛ợ

}  } 

Trang 79

Định nghĩa các phương thức Get / Set

System.out.println(ps1.getTuSo() + 

"/" + ps1.getMauSo()); 

ps1.setTuSo(3);

ps1.setMauSo(4); 

System.out.println(ps1.getTuSo() + 

"/" + ps1.getMauSo()); 

}

Trang 80

Định nghĩa các phương thức Get / Set

for (int i = 0; i < 

arr.length; i++) { 

this.arr[i] = new 

PhanSo(arr[i]); } 

} }

  

Trang 81

Định nghĩa các phương thức Get / Set

 

this.arr[index]=value; 

} } 

public PhanSo get(int 

arr[index]); 

ps = this.arr[index]; 

} return ps; 

Trang 82

Định nghĩa các phương thức Get / Set

3), new PhanSo(5, 

Trang 83

Định nghĩa các phương thức Get / Set

} } 

 

Trang 84

Định nghĩa các phương thức Get / Set

public void set(int 

index, int value) { 

if (index >= 0 

&& index < 

this.arr.length) { 

this.arr[index]=value; 

}} 

public Integer get(int 

index) {

Integer value = null;

if (index >= 0 

&& index < 

this.arr.length) { 

value = this.arr[index]; 

} return value; 

Trang 85

Định nghĩa các phương thức Get / Set

Trang 86

Định nghĩa các phương thức nhập xuất

Scanner scan = new 

Scanner(System.in); 

System.out.print(

"T  sô :"ử ́ );

this.tuSo = Integer.parseInt(scan.nextLine()); 

System.out.print(

"Mâ u sô :"̃ ́ );

this.mauSo = Integer.parseInt(scan.nextLine()); 

public void xuat(String 

tieuDe){

System.out.println(tieuDe);

String str=String.format(

"%d/

%d",this.tuSo, this.mauSo); 

System.out.println(str); 

Trang 87

Định nghĩa các phương thức nhập xuất

ps1.nhap("Nh p ậpha n sô  1"̂ ́ ); 

ps1.xuat("Xuâ t ́pha n sô  1"̂ ́ ); 

PhanSo ps2=new PhanSo(); 

ps2.nhap("Nh p ậpha n sô  2"̂ ́ ); 

ps2.xuat("Xuâ t ́pha n sô  2"̂ ́ );

Trang 88

Định nghĩa các phương thức nhập xuất

System.out.println(tieuDe); 

System.out.print(

"Sô  lu ng phâ n ́ ̛ợ ̀

t :"ử ); 

int n=Integer.parseInt(scan.nextLine())

; this.arr=new PhanSo[n]; 

for(int i=0; i<this.arr.length; 

i++){ 

this.arr[i] = new 

PhanSo(); 

this.arr[i].nhap("Pha n ̂

sô  th  "́ ứ +i); 

} } 

Trang 89

Định nghĩa các phương thức nhập xuất

int n = this.arr.length; 

System.out.println("Sô  lu ng ́ ̛ợ

phâ n t : " ̀ ử + n); 

for(int i=0; i<this.arr.length; 

i++){ 

this.arr[i].xuat("Pha n sô  ̂ ́

th  "ứ +i); 

}}

Trang 90

Định nghĩa các phương thức nhập xuất

System.out.println(tieuDe); 

System.out.print(

"Sô  lu ng phâ n ́ ̛ợ ̀

t :"ử ); 

int n=Integer.parseInt(scan.nextLine())

; this.arr=new int[n]; 

for(int i=0; i<this.arr.length; 

i++){ 

System.out.print("Phâ n ̀

t  th  "ử ứ + i + ":"); 

this.arr[i]=Integer.parseInt(scan.nextLine()) 

} } 

 

Trang 91

Định nghĩa các phương thức nhập xuất

int n = this.arr.length; 

System.out.println("Sô  lu ng ́ ̛ợ

phâ n t : " ̀ ử + n); 

for(int i=0; i<this.arr.length; 

i++){ 

System.out.print("Pha n ̂

sô  th  "́ ứ +i+ 

":"); 

System.out.println(this.arr[i]); 

} }

Trang 92

Định nghĩa các phương thức xử lý nghiệp vụ

kq.tuSo=this.tuSo

*ps.mauSo+this.mauSo*ps.tuSo; 

kq.mauSo=this.mauSo*ps.mauSo;

return kq; 

 

Trang 93

Định nghĩa các phương thức xử lý nghiệp vụ

ps1.nhap("Nh p ậpha n sô  1"̂ ́ ); 

ps1.xuat("Xuâ t ́pha n sô  1"̂ ́ ); 

PhanSo ps2=new PhanSo(); 

ps2.nhap("Nh p ậpha n sô  2"̂ ́ ); 

ps2.xuat("Xuâ t ́pha n sô  2"̂ ́ ); 

PhanSo kq=ps1.cong(ps2)

; kq.xuat("Tông hai ̉pha n sô "̂ ́ ); 

Trang 94

Định nghĩa các phương thức xử lý nghiệp vụ

for(int i=1; i<this.arr.length; 

i++){ 

s=s.cong(this.arr[i]); 

} } 

 

Trang 95

Định nghĩa các phương thức xử lý nghiệp vụ

Trang 96

Định nghĩa các phương thức xử lý nghiệp vụ

i<this.arr.length; 

i++){ 

s=s + this.arr[i]; 

} return s;

 

Trang 97

Định nghĩa các phương thức xử lý nghiệp vụ

Trang 98

Định nghĩa các phương thức overload

kq.tuSo=this.tuSo

*ps.mauSo+this.mauSo*ps.tuSo; 

kq.mauSo=this.mauSo*ps.mauSo;

kq.tuSo=this.tuSo+this.mauSo*k;

kq.mauSo=this.mauSo;

return kq; 

Trang 99

Định nghĩa các phương thức overload

PhanSo ps2=new PhanSo(3, 4); 

PhanSo kq1=ps1.cong(ps2); 

kq1.xuat("Tông ̉

va  ps2"̀ ); 

PhanSo kq2=ps1.cong(40)

; kq2.xuat("Tông ̉

va  40"̀ ); 

Trang 100

Định nghĩa các phương thức overload

for(int i=1; i<this.arr.length; 

i++){ 

s=s.cong(this.arr[i]); 

} }

public PhanSo 

tong(MangPhanSo 

mps){ 

PhanSo s1=this.tong(); 

PhanSo s2=mps.tong(); 

PhanSo kq=s1.tong(s2); 

return kq; 

Ngày đăng: 11/07/2020, 04:16

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN