Ngôn ngữ JAVA

Chia sẻ bởi Nguyễn Việt Vương | Ngày 29/04/2019 | 92

Chia sẻ tài liệu: Ngôn ngữ JAVA thuộc Bài giảng khác

Nội dung tài liệu:

Chương 2- Ngôn ngữ JAVA
Mục tiêu
Biết cách định nghĩa 1 tên trong java
Biết các từ khóa của java.
Hiểu các kiểu dữ liệu cơ bản của java.
Nhận biết được cú pháp java gần hoàn toàn giống C.
Giải thích được cơ chế điều khiển chương trình
Biết các đặc tính về mảng với java
Sử dụng được các hàm toán trong gói java.lang
Sử dụng được các hàm nhập xuất dữ liệu cơ bản.
Nội dung
2.1- Chú thích trong java
2.2- Từ khóa của java- Cách đặt tên
2.3- Kiểu cơ bản trong java
2.4- Biến: Gán trị và khởi tạo.
2.5- Toán tử- Operators
2.6- Gói java.lang
2.7- Cấu trúc điều khiển – Phát biểu
2.8- Mảng – Array
2.9- Nhập xuất dữ liệu.
2.10- Tóm tắt dạng trắc nghiệm
2.11- Bài tập
2.1- Chú thích trong java
// Chú thích đến cuối dòng
/* Chú thích nhiều dòng
……
*/
Cách viết chú thích giống C++
Chú thích là công cụ:
Giải thích chương trình.
Lập tài liệu cho chương trình: Tác gỉa, version, những đặc điểm của chương trình
2.2- Từ khóa- Cách đặt tên
Từ khóa cho các kiểu dữ liệu cơ bản : byte, short, int, long, float, double, char, boolean
Từ khóa cho phát biểu lặp: do, while, for, break, continue
Từ khóa cho phát biểu rẽ nhánh: if, else, switch, case, default, break
Từ khóa đặc tả đặc tính một method: private, public, protected, final, static, abstract, synchronized, volatile, strictfp
Hằng (literal): true, false, null
Từ khóa liên quan đến method: return, void
Từ khoá liên quan đến package: package, import
2.2- Từ khóa- Cách đặt tên (tt)
Từ khóa cho việc quản lý lỗi: try, catch. finally, throw, throws
Từ khóa liên quan đến đối tượng: new, extends, implements, class, instanceof, this, super
Cách đặt tên (identifier):
Bắt đầu bằng ký tự, ký tự gạch dưới (underscore ‘_’ ) hay ký tự ‘$’
Sau đó là các ký tự ký số hay ‘_’, ‘$’ , không dùng các ký tự khác như: khoảng trống, ký hiệu phép toán
Từ khóa và tên có tính chất case-sensitive
Nhận xét: Gần như y hệt C++
2.3- Kiểu dữ liệu cơ bản trong java
Thí dụ
Dùng các ký tự đặc tả việc buộc phải xem xét trị thuộc 1 kiểu nào đó: i, I, l, L, f, F, d, D
nhưng L thường dùng thay cho l vì sợ nhầm với 1.
178  int (default) 45.62  double (default)
178L  long 44.21f  float
11.19e8  double (default)
‘z’  char , hằng klý tự để trong cặp nhát đơn (single quote character)
Nhận xét: Gần như C++
2.4- Biến- Định nghĩa, khởi tạo
Biến = Trị có thay đổi theo thời gian
3 đặc điểm của biến:
Tên biến, Trị khởi tạo, tầm vực (scope)
Scope của biến: khối chương trình mà biến có ý nghĩa (tham khảo được)
Cú pháp định nghĩa biến:
DataType [[identifier [ = InitValue]],…] ;
int count , age1= 21, age2= 2*age1;
char ch1=‘z’, ch2;
 Giống C
2.5- Toán tử- Operators
Ký hiệu mô tả phép toán
Arithmetic ops: +, -, *, /, %, ++, --
Relational ops : <, <=, ==. >=, >, !=
Logical ops: && ||
Bitwise ops: ~, &, |, ^ (xor), >>, <<, &=, |=,
^=, >>=, <<=
Assignment ops : = , +=, -=, *=, /=, %=
Ternary op:
Condition ? TrueExp : FalseExp
 Giống C
2.5- Toán tử- Operators (tt)
instanceof : toán tử kiểm tra 1 đối tượng có thuộc 1 lớp ?  true | false
class InstanceOfDemo
{ public static void main (String args[])
{ InstanceOfDemo t = new InstanceofDemo();
if ( t instanceof InstanceOfDemo)
System.out.println(“ t la 1 doi tuong thuoc lop nay”);
else
System.out.println(“ t KHONG la 1 doi tuong thuoc lop nay”);
}
}


2.6- java.lange package
Gói cơ bản của ngôn ngữ java (language)
Chứa các lớp cơ bản đóng vai trò trung tâm đối với các tác vụ của java.
Các lớp cơ bản nhất: class Object, class Class là các lớp cơ sở của mọi lớp khác.
Nếu muốn xem các dữ liệu thuộc kiểu cơ bản là các đối tượng, các lớp gói (wrapper) mang các tên: Boolean, Character, Integer, Long, Float, Double, Void dùng cho mục đích này.
Lớp Void là lớp không thể khởi tạo, lưu trữ 1 tham khảo tới 1 đối tượng thuộc lớp Class biểu diễn cho kiểu void

java.lange package(tt)
Chứa lớp Math cho các xử lý toán học
Chứa các lớp Loader, Process, Runtime, SecurityManager, System để cung cấp caùc taùc vụ mức hệ thống như: quản lý nạp các đối tượng, tạo qúa trình, quản lý an toàn, nhập xuất dữ liệu, tham khảo thời gian của hệ thống.
Một số hàm toán học
abs(TrịSố) : lấy trị tuyệt đối
Nếu trị số kiểu byte, short thì kết qủa là kiểu int int n= -5, m ; m = Math.abs(n); // m=5
 Để ý cách dùng hàm toán: Math.TênHàm(thamSố)
java.lange package(tt)
Hàm ceil(x)  Số tròn sát trên <=x (trần)
Math.ceil(8.02)  9.0 Math.ceil(-1.3)  -1.0
Math.ceil(100)  100.0
Hàm floor(x)  Số tròn chận dưới (sàn)
Math.ceil( -5.63 )  -6.0 Math.ceil(100)  100.0
Hàm max(x,y)  Trị lớn trong 2 số
Hàm min(x,y)
Hàm random()  trả về 1 số ngẫu nhiên từ 0.0 đến 1.0
Hàm round (sốthực) Math.round(34.5)  35

2.7- Cấu trúc điều khiển – Phát biểu
Cấu trúc rẽ nhánh
if (Condition)
{ Statements;
}
else
{ Statement;
}
 Giống C
Cấu trúc rẽ nhánh
switch (Expression)
{ case Cons1: Statements; break;
case Cons2: Statements; break;
. . .
default : Statements;
}

 Giống C
Cấu trúc điều khiển – Loops
while (condition)
{ Statements;
}
do
{ Statements;
}
while (condition);
for ( varInit ; Condition ; GroupStatements2)
{ Statements1;
}
 Giống C
Cắt vòng lặp: break [ label_name];
Bỏ qua 1 lần lặp : continue;
Minh họa phát biểu break
import java.io.*;
class BreakDemo
{ public static void main(String ags[])
{ boolean t = true;
FIRST:
{ SECOND:
{ THIRD:
{ System.out.println("Executed before break");
if (t) break SECOND;
System.out.println("Out of break, Not executed");
}
System.out.println("Out of break, Not executed");
}
System.out.println("Executed after the second break");
}
}
}
Executed before break
Executed after the second break
Press any key to continue...
Kết qủa
2.8- Mảng – Array
Mảng= Nhóm trị cùng kiểu, kề nhau, cùng tên gọi.
Định nghĩa có chỉ định số phần tử (size)-> cấp bộ nhớ
char ch[] = new char [5];
Định nghĩa mảng tức thời (in-line initialization):
int a[] = { 1,4,2,7,8}; // hoặc
int [] a = { 1,4,2,7,8};

Phần tử được tham khảo qua chì số bắt đầu từ 0
Chỉ khai báo: không chỉ định size : long a[];
Khi sử dụng phải cấp bộ nhớ: a= new long [20];
Trị mặc định : Toán tử new sẽ xóa bộ nhớ, các bit = 0)
Mảng - minh họa
// file ArrayDemo.java
import java.io.*;
class ArrayDemo
{
public static void main(String args[])
{ int a1[] = { 1, 2,3,4,5 };//In-line initialization
int a2[]; // just declaration
a2 = new int [5]; // mem. allocation
int i;
for (i=0;i<5;++i) a2[i] = 2*a1[i];
long S= 0;
for (i=0;i<5;++i) S+= a1[i] +a2[i];
System.out.print("Sum of 2 arrays:");
System.out.println(S);
}
}
Kết qủa:
Sum of 2 arrays:45
Press any key to continue...
2.9- Nhập xuất dữ liệu.
Nhập xuất dữ liệu là tác vụ mức hệ thống
Gói java.io chứa các lớp cho việc xuất nhập.
Cần tham khảo gói này.
Java cung cấp class System mô tả hệ thống
System.out là đối tượng xuất mặc định (màn hình)
System.in là đối tượng nhập mặc định ( bàn phím)

Methods xuất dữ liệu ra màn hình:
System.out.print(Dữ liệu xuất);
System.out.println(Dữ liệu xuất);
Dữ liệu xuất có thể là : ký tự, số, chuỗi,…
Xuất dữ liệu (tt)
Nhập dữ liệu với bàn phím
Nhập dữ liệu từ bàn phím khá phức tạp vì với mỗi dữ liệu có cách nhập khác nhau: Ký tự thì chỉ cần 1 phím, số nguyên, số thực có thể nhập với nhiều phím nên các phím gõ cần giữ lại (đệm, buffer), có thể cần kiểm tra phím gõ (nhập số mà gõ phím chữ  sai).
Tham khảo tài liệu về gói java.io
Nếu viết ứng dụng hướng giao diện của sổ, không xuất nhập trực tiếp mà thông qua các đối tượng trong giao diện người sử dụng.

Minh họa xuất nhập
import java.io.*; // file InOutDemo.java
class InOutDemo
{ public static void main(String args []) throws java.io.IOException
{
Reader inputChar_Obj = new InputStreamReader(System.in);
System.out.print("Input a character:");
char c = (char)inputChar_Obj.read() ;
System.out.println(" character read :" + c);
BufferedReader input_Obj= new BufferedReader(new InputStreamReader( System.in));
System.out.print("Input an Integer:");
int n= Integer.valueOf( input_Obj.readLine()).intValue() ;
System.out.println(" integer read :" + n);
System.out.print("Input a Double:");
double x= Double.valueOf( input_Obj.readLine()).doubleValue() ;
System.out.println(" Double read :" + x);
System.out.print("Input a string:");
String s = input_Obj.readLine();
System.out.println(" String read :" + s);
System.out.print("Input a character:");
int m = System.in.read() ;
System.out.println(" Code of this character :" + m);
}
}
Input a character:r
character read :r
Input an Integer:123
integer read :123
Input a Double:12.908
Double read :12.908
Input a string:Hello
String read :Hello
Input a character:A
Code of this character:65
2.10-Tóm tắt dạng câu hỏi
Liệt kê 6 kiểu số cơ bản của Java và số bit bộ nhớ sẽ chiếm dụng của chúng khi lưu trữ trị.
Kiểu luận lý (logic) trong java tên là gì?
Kiểu ký tự tên là gì? chiếm mấy byte?
Biến là gì? Hãy cho biết 3 tính chất của biến.
Hãy liệt kê 4 loại toán tử trong java.
Hãy cho biết kết qủa của biểu thức sau :
a) 4 && 7 b) 4&7 c) 0 || 8 d) 0 | 8 e) 8 ^ 3
f) 4 >> 3 g) 9 << 2 h ) (9 >>3) ? 5 : -3
Trong java có phát biểu goto hay không ?
Mảng là gì ? Mảng in-line là gì ?
int a[] = new int { 1,2,3,9,0}; đúng hay sai?
System.out.println( 12 & 9); sẽ xuất trị bao nhiêu?
Phân tích dòng code: if (5&7>0 && 5|3) System.out(“Hello”) ;
int m= System.in.read(); nếu gõ vào phím ‘C’, trị biến m là bao nhiêu?

2.11- Bài tập
Viết các chương trình sau:
Xuất bảng cửu chương từ 2 đến 9.
Xuất trị bình phương , lập phương từ 1 đến 10.
Tạo 1 mảng số int dạng in-line 10 phần tử, xuất mảng này tăng dần.
Nhập 1 mảng int các số mang trị là mã của các ký tự nhập từ bàn phím. Xuất mảng này dạng chữ rồi xuất mã của chúng.
Xuất 100 số Fibonacci đầu tiên. Dãy Fibonacci : 1,1,2,3,5,8,… 2 số đầu là 1, các số sau bằng tổng 2 số trước nó.
* 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ẻ: Nguyễn Việt Vương
Dung lượng: | Lượt tài: 4
Loại file:
Nguồn : Chưa rõ
(Tài liệu chưa được thẩm định)