Kết quả: Hello! Stand alone application.)
Chương 2. Kiểu dữ liệu và cấu trúc lệnh điều khiển
Giảng viên: Vũ Duy Linh Email: vdlinh@ctu.edu.vn
24
Cấu trúc chương trình Java đơn giản
1 //ProgramName.java
2 //Phần document
3 package packagename;
4 import packagename.ClassName;
5 public class ProgramName{
6 // Khai báo các biến
7 . . .
8 // Định nghĩa các phương thức
9 . . .
10 //Định nghĩa phương thức main.
11 public static main(String args[]){
12 // Phần thân phương thức main
13 } // Kết thúc main method.
14 } // Kết thúc lớp ProgramName
Phần mô tả chương trình
Câu lệnh package Các câu lệnh import
Định nghĩa các Interface
Định nghĩa các class
Phương thức main của class{
}
Ở phần cơ bản này, chúng ta sử dụng phương pháp lập trình dựa trên đối tượng Object-Based Programming (OBP) để minh hoạ:
25
© Vũ Duy Linh Chương trình Java cơ bản
1. /* Author: Vũ Duy Linh
2. Topic: A very simple stand-alone application in java
3. File name: HelloWorld.java
4. */
5. import java.lang.*;
6. public class HelloWorld {
7. public static void main( String args[ ] ) {
8. System.out.println( “Hello world!..." );
9. }
10. }
import: Từ khóa khai báo sử dụng gói (package) cần có trong chương trình class: Từ khóa khai báo lớp
public, static: Access modifiers – các bổ từ truy cập void: Kiểu giá trị trả về của phương thức
args[ ]: Các đối số nhập từ dòng lệnh
26
© Vũ Duy Linh Biên dịch và thực thi
Biên dịch
javac HelloWorld.java
Out file: HelloWorld.class
Thực thi
java HelloWorld
Kết quả: Hello world!...
27
© Vũ Duy Linh Một số lưu ý thêm (1)
Gói java.lang.* được import một cách mặc định nên lệnh System.out.println(); chính là java.lang. System.out.println();
Tên đầy đủ - Fully qualified name
28
© Vũ Duy Linh Một số lưu ý thêm (2)
Cách sử dụng đối số từ dòng lệnh:
Gõ lệnh: java FullName_App Vu Duy Thuc
Các đối số: args[0] = Vu, args[1] = Duy, args[2] = Thuc
Từ khoá public: Phạm vi truy cập mọi nơi.
Phương thức static: là phương thức chỉ được phép truy cập tới các biến static của lớp (do đã được fix sẵn bộ nhớ) và có thể gọi mà không cần khởi tạo đối tượng của lớp chứa nó.
Từ khoá void: Phương thức không trả về (return;) giá trị nào cả.
29
© Vũ Duy Linh Tính căn bậc 2
// CanBac2.java
import java.lang.Math;
public class CanBac2 {
public static void main(String args []) { double x = 4; //Giả sử x > 0 double y;
y = Math.sqrt(x);
System.out.println(“Can bac 2 cua " + x + "= " + y);
} }
30
© Vũ Duy Linh Kiểu dữ liệu nguyên thủy
Kiểu Kích
thước
Khoảng giá trị
boolean 8 bit true hoặc false
byte 8 bit -128 đến 127
short 16 bit -32,768 đến 32,767
int 32 bit -2,147,483,648 đến +2,147,483,647 long 64 bit -9,223,372,036,854,775,808 đến
+9,223,372,036,854,775,807
char 16 bit \u0000 đến \uFFFF (chuẩn unicode)
float 32 bit -3.40292347E+38 đến +3.40292347E+38 double 64 bit -1.79769313486231570E+308 đến
+1.79769313486231570E+308
Kiểu nguyên thuỷ (Primitive data type): là kiểu mà các phép toán được dịch trực tiếp sang các lệnh của máy (operational data).
31
© Vũ Duy Linh Biến
Biến (Variable): Theo định nghĩa của Khoa học máy tính, biến gồm một số ô nhớ được định danh (duy nhất) bởi một định danh, đó chính là tên biến. Đây là cách thức thường xuyên được dùng trong lập trình, dùng để chứa một giá trị nào đó có thể thay đổi trong quá trình thực thi chương trình.
Quy tắc đặt tên biến
Bắt đầu bằng chữ cái, dấu gạch dưới (_) hoặc dấu dollard ($), không có khoảng trắng giữa tên, không trùng với các từ khoá,… Lưu ý:
Java phân biệt chữ hoa chữ thường.
Ví dụ:
• Tên biến đúng: myList1, double_X1, luongCoBan,…
• Tên biến sai: my List1, 2nghiem, luong-Co-Ban,…
Cách khai báo và khởi tạo:
Cách 1: kiểu_nguyên_thuỷ tên_Biến;
tên_Biến = giá_trị;
Cách 2: kiểu_nguyên_thuỷ tên_Biến = giá_trị;
32
© Vũ Duy Linh Kiểu dữ liệu nguyên thủy (2)
Mỗi biến được khai báo chỉ tồn tại trong phạm vi (scope) của nó – tương tự như ngôn ngữ C đã học.
Các ví dụ:
Khai báo (tên) biến a kiểu (nguyên thuỷ) int, gán giá trị của biến a bằng 40
int a; a = 40;
a: tên biến, kiểu là int, và giá trị của a là 40.
double diemThi =9.5; //biến số thực diemThi bằng 9.5 int octVal = 032; int hexVal = 0x1a; char characterC = 'C';
unicodeC='\u1EE9'; (Java sử dụng UTF-16)
String hoTen = "Ch\u00e0o b\u00e9: V\u0169\u0020Duy\u0020Th\u1EE9c!"
0
a
40
a
33
© Vũ Duy Linh Cấp phát trên bộ nhớ
Cho đoạn lệnh Java:
int a = 10; int b;
b = a; a += 10;
34
© Vũ Duy Linh Hằng
Hằng (Constant): cũng tương tự như biến ngoại trừ nó giữ một giá trị cố định (hay được gọi là các biến chỉ đọc)
Chúng được khai báo bởi từ khóa final final int SI_SO = 100;
final double PI = 3.1428;
Kiểu chữ in hoa thường được dùng để đặt tên cho các hằng.
35
© Vũ Duy Linh Hằng (2)
Ví dụ hằng:
public class DienTichHinhTron {
public static void main(String args[]) { final double PI = 3.1428;
double bk = 5.5; // ban kinh double dt; // dien tich
dt = PI * bk * bk
System.out.println("Ban kinh= "+ bk + ", dien tich= " + dt);
} }
36
© Vũ Duy Linh Lệnh rẽ nhánh - if
Có 3 dạng:
if (boolean_expression) { statement(s);
}
if (boolean_expression) { statement(s);
} else {
statement(s);
}
if (boolean_expression_1) { statement(s);
} else if (boolean_expression_2){
statement(s);
} else {
statement(s);
}
Kết quả: 7 <= 8
Ví dụ:
Với: boolean_expression: Là biểu thức lô-git đúng/sai, statement: Biểu thức tính/câu lệnh
37
© Vũ Duy Linh Lệnh rẽ nhánh - switch
Cú pháp Swich:
switch (evaluated_expression) {
case constant_expression_1:
statements_1;
…