Giao trinh java
Chia sẻ bởi Huỳnh Tùng |
Ngày 29/04/2019 |
48
Chia sẻ tài liệu: giao trinh java thuộc Bài giảng khác
Nội dung tài liệu:
Các phần tử cơ bản ngôn ngữ Java
Cấu trúc một chương trình Java
Xác lập thông tin môi trường
Khai báo lớp đối tượng (Class)
Các thành phần (Tokens):
Định danh
Từ khóa / từ dự phòng
Ký tự phân cách
Nguyên dạng (Literals)
Toán tử
a.Xác lập thông tin môi trường
Phần đầu của một chương trình Java xác định thông tin môi trường.
Mục đích là cung cấp các thư viện hàm trong java
Cú pháp khai báo:
import java..
Ví dụ: import java.io.*;
import java. awt.*;
b.Khai báo lớp đối tượng (Class)
Trong java, tất cả các mã,bao gồm các biến, và cách khai báo nên được thực hiện trong phạm vi một lớp.
Một chương trình đơn giản có thể chỉ có một vài lớp.
Những lớp này có thể mở rộng thành các lớp khác.
Lớp trong Java
Cú pháp khai báo lớp (Class)
class Classname
{
var_datatype variablename;
:
met_datatype methodname(parameter_list)
{
// method body;
}
…
}
Lớp mẫu
Các lớp lồng nhau (Nested Classes)
Việc định nghĩa một lớp bên trong một lớp khác được gọi là “xếp lồng” (Nesting)
Các kiểu xếp lồng:
Tĩnh (Static)
Động (Non-static)
c. Các thành phần (Tokens)
“Token” là đơn vị riêng lẻ, nhỏ nhất, có ý nghĩa đối với trình biên dịch của một chương trình Java. Một chương trình java là tập hợp của các “token”(Mã thông báo)
Các “token” được chia thành năm loại:
Định danh (identifiers): Dùng để thể hiện tên biến, phương thức, hoặc các lớp.
Từ khoá/từ dự phòng (Keyword/Reserve Words): Một số định danh đã được Java xác định trước. Người lập trình không được phép sử dụng chúng như một định danh. Ví dụ ‘class’, ‘import’ là những từ khoá.
Ký tự phân cách (separator): Thông báo cho trình biên dịch việc phân nhóm các phần tử của chương trình. Một vài ký tự phân cách của java được chỉ ra dưới đây:
{ } ; ,
Nguyên dạng (literals): Là các giá trị không đổi trong chương trình. Nguyên dạng có thể là các số, chuỗi, các ký tự hoặc các giá trị Boolean. Ví dụ 21, ‘A’, 31.2, “This is a sentence” là những nguyên dạng.
Các toán tử: Các quá trình xác định, tính toán được hình thành bởi dữ liệu và các đối tượng. Java có một tập lớn các toán tử. Chúng ta sẽ thảo luận chi tiết ở chương này.
Kiểu dữ liệu
Kiểu dữ liệu cơ sở (Primitive Data Types)
Kiểu dữ liệu tham chiếu (Reference data types)
Kiểu dữ liệu cơ sở
byte
char
boolean
short
int
long
float
double
Kiểu dữ liệu tham chiếu
Mảng (Array)
Lớp (Class)
Interface
Ép kiểu (Type Casting)
Kiểu dữ liệu này được chuyển đổi sang một kiểu dữ liệu khác
Ví dụ
float c = 34.89675f;
int b = (int)c + 10;
Biến số
Khai báo biến số gồm 3 thành phần:
Kiểu dữ liệu của biến số
Tên biến
Giá trị ban đầu của biến (không bắt buộc)
Cú pháp
datatype identifier [=value][, identifier[=value]...];
int counter = 1;
Những từ khóa của Java
Khai báo mảng
Ba cách để khai báo mảng:
datatype identifier [ ];
datatype identifier [ ] = new datatype[size];
datatype identifier [ ]= {value1,value2,….valueN};
Phương thức
(Methods in Classes)
Phương thức được định nghĩa như là một hành động hoặc một tác vụ thật sự của đối tượng
Cú pháp
access_specifier modifier datatype method_name(parameter_list)
{
//body of method
}
Ví dụ về sử dụng phương thức
class Temp {
static int x = 10; // variable
public static void show( ) { // method
System.out.println(x);
}
public static void main(String args[ ]) {
Temp t = new Temp( ); // object 1
t.show( ); // method call
Temp t1 = new Temp( ); // object 2
t1.x = 20;
t1.show( );
}
}
Access specifiers
public
private
protected
Method Modifiers
static(Tĩnh )
abstract (Trừu tượng )
final (Kết thúc )
native (Tự nhiên )
synchronized (Đồng bộ )
volatile(Linh hoạt )
Những phương thức được nạp chồng :
(Methods Overloading)
Những phương thức được nạp chồng :
Cùng ở trong một lớp
Có cùng tên
Khác nhau về danh sách tham số
Những phương thức được nạp chồng là một hình thức đa hình (polymorphism) trong quá trình biên dịch (compile time)
Ghi đè phương thức
(Methods Overriding)
Những phương thức được ghi đè:
Có mặt trong lớp cha (superclass) cũng như lớp kế thừa (subclass)
Được định nghĩa lại trong lớp kế thừa (subclass)
Những phương thức được ghi đè là một hình thức đa hình (polymorphism) trong quá trình thực thi (Runtime)
class SupperClass // Tạo lớp cơ bản
{
int a;
Super(Class() // constuctor
{
}
SuperClass(int b) //overloaded constructor
{
a=b;
}
class Subclass Extends SuperClass {// derriving a class
int a;
SubClass(int a) {//subclass constructor
This.a;
}
public void message(){ // overiding the base class message()
System.out.prinln(“In the sub class”);
}
}
SuperClasss spObj=new Subclass(22);
Phương thức khởi tạo
(Class Constructors)
Là một phương thức đặc biệt dùng để khởi tạo giá trị cho các biến thành viên của lớp đối tượng
Có cùng tên với tên lớp và không có giá trị trả về
Được gọi khi đối tượng được tạo ra
Có 2 loại:
Tường minh (Explicit constructors)
Ngầm định (Implicit constructors)
Class Employee
{ String name;
int age;
Employee (String var name,int varage)
{ this.name = varname;
this.age = varage;
}
public static void main (String arg[])
{
Employee e = new Employee (‘Allen”.30);
}
}
Phương thức khởi tạo của lớp dẫn xuất (Derived class constructors)
Có cùng tên với lớp dẫn xuất (subclass)
Mệnh đề gọi constructor của lớp cha (superclass) phải là mệnh đề đầu tiên trong constructor của lớp dẫn xuất (subclass)
Lý do là lớp cha hình thành trước khi có các lớp dẫn xuất.
Các toán tử
Các loại toán tử:
Toán tử số học (Arithmetic operators)
Toán tử dạng Bit (Bitwise operators)
Toán tử so sánh (Relational operators)
Toán tử logic (Logical operators)
Toán tử điều kiện (Conditional operator)
Toán tử gán (Assignment operator)
Toán tử số học
Arithmetic Operators
+ Addition (Phép cộng)
- Subtraction (Phép trừ)
* Multiplication (Phép nhân)
/ Division (Phép chia)
% Modulus (Lấy số dư)
++ Increment (Tăng dần)
-- Decrement (Giảm dần)
+= Phép cộng và gán
-= Phép trừ và gán
*= Phép nhân và gán
/= Phép chia và gán
%= Phép lấy số dư và gán
Ví dụ
Toán tử Bit
(Bitwise Operators)
~ Phủ định (NOT)
& Và (AND)
| Hoặc (OR)
^ Exclusive XOR
>> Dịch sang phải (Shift right)
<< Dịch sang trái (Shift left)
Toán tử so sánh
(Relational Operators)
== So sánh bằng
!= So sánh khác
< Nhỏ hơn
> Lớn hơn
<= Nhỏ hơn hoặc bằng
>= Lớn hơn hoặc bằng
Toán tử Logic
(Logical Operators )
&& Logical AND
|| Logical OR
! Logical unary NOT
Toán tử điều kiện
(Conditional Operator)
Cú pháp
Biểu thức 1 ? Biểu thức 2 : Biểu thức 3;
Biểu thức 1
Điều kiện kiểu Boolean trả về giá trị True hoặc False
Biểu thức 2
Trả về giá trị nếu kết quả của mệnh đề 1 là True
Biểu thức 3
Trả về giá trị nếu kết quả của mệnh đề 1 là False
Toán tử gán
(Assignment Operator)
= Assignment (Phép gán)
Giá trị có thể được gán cho nhiều biến số
Ví dụ
a = b = c = d = 90;
Thứ tự ưu tiên của các toán tử
Thứ tự của các toán tử có thể được thay đổi bằng cách sử dụng các dấu ngoặc đơn trong mệnh đề
Các kí tự định dạng xuất dữ liệu
(Escape Sequences)
Các lệnh điều khiển
Điều khiển rẻ nhánh:
Mệnh đề if-else
Mệnh đề switch-case
Vòng lặp (Loops):
Vòng lặp while
Vòng lặp do-while
Vòng lặp for
Lệnh if-else
Cú pháp
if (condition)
{
action1 statements;
}
else
{
action2 statements;
}
Lệnh switch-case
Cú pháp
switch (expression)
{
case `value1`: action1 statement(s);
break;
case `value2`: action2 statement(s);
break;
:
:
case `valueN`: actionN statement(s);
break;
default: default_action statement(s);
}
Lệnh lặp while
Cú pháp
while(condition)
{
action statements;
:
:
}
Lệnh lặp do-while
Cú pháp
do
{
action statements;
:
:
} while(condition);
Vòng lặp for
Cú pháp
for(initialization statements; condition; increment statements)
{
action statements;
:
:
}
Ví dụ:tạo hệ thống menu
Ví dụ
Bài tập
Hãy viết một đoạn chương trình để xuất dòng chữ :” Welcome to the world of Java”
Viết một chương trình thực hiện những việc sau đây:
Khai báo và gán giá trị đầu cho các biến m và n là 100 và 200 tương ứng.
Theo các điều kiện : nếu m bằng 0 , hiển thị kết quả tương ứng.
Nếu m lớn hơn n , hiển thị kết quả tương ứng.
Kiểm tra các giá trị n là chẵn hay lẻ.
Viết một chương trình hiển thị tổng các bội số của 7 nằm giữa 1 và 100.
Viết chương trình để cộng bảy số hạng của dãy sau:
1!+2!+3!…………….
Cấu trúc một chương trình Java
Xác lập thông tin môi trường
Khai báo lớp đối tượng (Class)
Các thành phần (Tokens):
Định danh
Từ khóa / từ dự phòng
Ký tự phân cách
Nguyên dạng (Literals)
Toán tử
a.Xác lập thông tin môi trường
Phần đầu của một chương trình Java xác định thông tin môi trường.
Mục đích là cung cấp các thư viện hàm trong java
Cú pháp khai báo:
import java.
Ví dụ: import java.io.*;
import java. awt.*;
b.Khai báo lớp đối tượng (Class)
Trong java, tất cả các mã,bao gồm các biến, và cách khai báo nên được thực hiện trong phạm vi một lớp.
Một chương trình đơn giản có thể chỉ có một vài lớp.
Những lớp này có thể mở rộng thành các lớp khác.
Lớp trong Java
Cú pháp khai báo lớp (Class)
class Classname
{
var_datatype variablename;
:
met_datatype methodname(parameter_list)
{
// method body;
}
…
}
Lớp mẫu
Các lớp lồng nhau (Nested Classes)
Việc định nghĩa một lớp bên trong một lớp khác được gọi là “xếp lồng” (Nesting)
Các kiểu xếp lồng:
Tĩnh (Static)
Động (Non-static)
c. Các thành phần (Tokens)
“Token” là đơn vị riêng lẻ, nhỏ nhất, có ý nghĩa đối với trình biên dịch của một chương trình Java. Một chương trình java là tập hợp của các “token”(Mã thông báo)
Các “token” được chia thành năm loại:
Định danh (identifiers): Dùng để thể hiện tên biến, phương thức, hoặc các lớp.
Từ khoá/từ dự phòng (Keyword/Reserve Words): Một số định danh đã được Java xác định trước. Người lập trình không được phép sử dụng chúng như một định danh. Ví dụ ‘class’, ‘import’ là những từ khoá.
Ký tự phân cách (separator): Thông báo cho trình biên dịch việc phân nhóm các phần tử của chương trình. Một vài ký tự phân cách của java được chỉ ra dưới đây:
{ } ; ,
Nguyên dạng (literals): Là các giá trị không đổi trong chương trình. Nguyên dạng có thể là các số, chuỗi, các ký tự hoặc các giá trị Boolean. Ví dụ 21, ‘A’, 31.2, “This is a sentence” là những nguyên dạng.
Các toán tử: Các quá trình xác định, tính toán được hình thành bởi dữ liệu và các đối tượng. Java có một tập lớn các toán tử. Chúng ta sẽ thảo luận chi tiết ở chương này.
Kiểu dữ liệu
Kiểu dữ liệu cơ sở (Primitive Data Types)
Kiểu dữ liệu tham chiếu (Reference data types)
Kiểu dữ liệu cơ sở
byte
char
boolean
short
int
long
float
double
Kiểu dữ liệu tham chiếu
Mảng (Array)
Lớp (Class)
Interface
Ép kiểu (Type Casting)
Kiểu dữ liệu này được chuyển đổi sang một kiểu dữ liệu khác
Ví dụ
float c = 34.89675f;
int b = (int)c + 10;
Biến số
Khai báo biến số gồm 3 thành phần:
Kiểu dữ liệu của biến số
Tên biến
Giá trị ban đầu của biến (không bắt buộc)
Cú pháp
datatype identifier [=value][, identifier[=value]...];
int counter = 1;
Những từ khóa của Java
Khai báo mảng
Ba cách để khai báo mảng:
datatype identifier [ ];
datatype identifier [ ] = new datatype[size];
datatype identifier [ ]= {value1,value2,….valueN};
Phương thức
(Methods in Classes)
Phương thức được định nghĩa như là một hành động hoặc một tác vụ thật sự của đối tượng
Cú pháp
access_specifier modifier datatype method_name(parameter_list)
{
//body of method
}
Ví dụ về sử dụng phương thức
class Temp {
static int x = 10; // variable
public static void show( ) { // method
System.out.println(x);
}
public static void main(String args[ ]) {
Temp t = new Temp( ); // object 1
t.show( ); // method call
Temp t1 = new Temp( ); // object 2
t1.x = 20;
t1.show( );
}
}
Access specifiers
public
private
protected
Method Modifiers
static(Tĩnh )
abstract (Trừu tượng )
final (Kết thúc )
native (Tự nhiên )
synchronized (Đồng bộ )
volatile(Linh hoạt )
Những phương thức được nạp chồng :
(Methods Overloading)
Những phương thức được nạp chồng :
Cùng ở trong một lớp
Có cùng tên
Khác nhau về danh sách tham số
Những phương thức được nạp chồng là một hình thức đa hình (polymorphism) trong quá trình biên dịch (compile time)
Ghi đè phương thức
(Methods Overriding)
Những phương thức được ghi đè:
Có mặt trong lớp cha (superclass) cũng như lớp kế thừa (subclass)
Được định nghĩa lại trong lớp kế thừa (subclass)
Những phương thức được ghi đè là một hình thức đa hình (polymorphism) trong quá trình thực thi (Runtime)
class SupperClass // Tạo lớp cơ bản
{
int a;
Super(Class() // constuctor
{
}
SuperClass(int b) //overloaded constructor
{
a=b;
}
class Subclass Extends SuperClass {// derriving a class
int a;
SubClass(int a) {//subclass constructor
This.a;
}
public void message(){ // overiding the base class message()
System.out.prinln(“In the sub class”);
}
}
SuperClasss spObj=new Subclass(22);
Phương thức khởi tạo
(Class Constructors)
Là một phương thức đặc biệt dùng để khởi tạo giá trị cho các biến thành viên của lớp đối tượng
Có cùng tên với tên lớp và không có giá trị trả về
Được gọi khi đối tượng được tạo ra
Có 2 loại:
Tường minh (Explicit constructors)
Ngầm định (Implicit constructors)
Class Employee
{ String name;
int age;
Employee (String var name,int varage)
{ this.name = varname;
this.age = varage;
}
public static void main (String arg[])
{
Employee e = new Employee (‘Allen”.30);
}
}
Phương thức khởi tạo của lớp dẫn xuất (Derived class constructors)
Có cùng tên với lớp dẫn xuất (subclass)
Mệnh đề gọi constructor của lớp cha (superclass) phải là mệnh đề đầu tiên trong constructor của lớp dẫn xuất (subclass)
Lý do là lớp cha hình thành trước khi có các lớp dẫn xuất.
Các toán tử
Các loại toán tử:
Toán tử số học (Arithmetic operators)
Toán tử dạng Bit (Bitwise operators)
Toán tử so sánh (Relational operators)
Toán tử logic (Logical operators)
Toán tử điều kiện (Conditional operator)
Toán tử gán (Assignment operator)
Toán tử số học
Arithmetic Operators
+ Addition (Phép cộng)
- Subtraction (Phép trừ)
* Multiplication (Phép nhân)
/ Division (Phép chia)
% Modulus (Lấy số dư)
++ Increment (Tăng dần)
-- Decrement (Giảm dần)
+= Phép cộng và gán
-= Phép trừ và gán
*= Phép nhân và gán
/= Phép chia và gán
%= Phép lấy số dư và gán
Ví dụ
Toán tử Bit
(Bitwise Operators)
~ Phủ định (NOT)
& Và (AND)
| Hoặc (OR)
^ Exclusive XOR
>> Dịch sang phải (Shift right)
<< Dịch sang trái (Shift left)
Toán tử so sánh
(Relational Operators)
== So sánh bằng
!= So sánh khác
< Nhỏ hơn
> Lớn hơn
<= Nhỏ hơn hoặc bằng
>= Lớn hơn hoặc bằng
Toán tử Logic
(Logical Operators )
&& Logical AND
|| Logical OR
! Logical unary NOT
Toán tử điều kiện
(Conditional Operator)
Cú pháp
Biểu thức 1 ? Biểu thức 2 : Biểu thức 3;
Biểu thức 1
Điều kiện kiểu Boolean trả về giá trị True hoặc False
Biểu thức 2
Trả về giá trị nếu kết quả của mệnh đề 1 là True
Biểu thức 3
Trả về giá trị nếu kết quả của mệnh đề 1 là False
Toán tử gán
(Assignment Operator)
= Assignment (Phép gán)
Giá trị có thể được gán cho nhiều biến số
Ví dụ
a = b = c = d = 90;
Thứ tự ưu tiên của các toán tử
Thứ tự của các toán tử có thể được thay đổi bằng cách sử dụng các dấu ngoặc đơn trong mệnh đề
Các kí tự định dạng xuất dữ liệu
(Escape Sequences)
Các lệnh điều khiển
Điều khiển rẻ nhánh:
Mệnh đề if-else
Mệnh đề switch-case
Vòng lặp (Loops):
Vòng lặp while
Vòng lặp do-while
Vòng lặp for
Lệnh if-else
Cú pháp
if (condition)
{
action1 statements;
}
else
{
action2 statements;
}
Lệnh switch-case
Cú pháp
switch (expression)
{
case `value1`: action1 statement(s);
break;
case `value2`: action2 statement(s);
break;
:
:
case `valueN`: actionN statement(s);
break;
default: default_action statement(s);
}
Lệnh lặp while
Cú pháp
while(condition)
{
action statements;
:
:
}
Lệnh lặp do-while
Cú pháp
do
{
action statements;
:
:
} while(condition);
Vòng lặp for
Cú pháp
for(initialization statements; condition; increment statements)
{
action statements;
:
:
}
Ví dụ:tạo hệ thống menu
Ví dụ
Bài tập
Hãy viết một đoạn chương trình để xuất dòng chữ :” Welcome to the world of Java”
Viết một chương trình thực hiện những việc sau đây:
Khai báo và gán giá trị đầu cho các biến m và n là 100 và 200 tương ứng.
Theo các điều kiện : nếu m bằng 0 , hiển thị kết quả tương ứng.
Nếu m lớn hơn n , hiển thị kết quả tương ứng.
Kiểm tra các giá trị n là chẵn hay lẻ.
Viết một chương trình hiển thị tổng các bội số của 7 nằm giữa 1 và 100.
Viết chương trình để cộng bảy số hạng của dãy sau:
1!+2!+3!…………….
* Một số tài liệu cũ có thể bị lỗi font khi hiển thị do dùng bộ mã không phải Unikey ...
Người chia sẻ: Huỳnh Tùng
Dung lượng: |
Lượt tài: 1
Loại file:
Nguồn : Chưa rõ
(Tài liệu chưa được thẩm định)