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

Bài giảng Lập trình Java - Chương 2: Ngôn ngữ lập trình Java

41 4 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 41
Dung lượng 1,58 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 2: Ngôn ngữ lập trình Java, cung cấp cho người học những kiến thức như: Cấu trúc một chương trình Java; Dịch và thực thi chương trình Java; Hằng, biến, kiểu dữ liệu; Toán tử và biểu thức; Mảng; Chuỗi; Nhập xuất dữ liệu; Cấu trúc điều khiển.

Trang 1

Chương 2

NỘI DUNG

1 Cấu trúc một chương trình Java

2 Dịch và thực thi chương trình Java

3 Hằng, biến, kiểu dữ liệu

Trang 2

1 Cấu trúc một chương trình Java

// Tên file : Hello.java

/* các chú thích*/

import java util.*;

public class Hello

{//điểm bắt đầu của lớp

public static void main( String args[ ] )

dụng trong chương trình

Lệnh hiển thị dãy ký tự ra màn hình

Khai báo lớp, tên lớp chứa hàm main (phải giống tên file)

Các câu lệnh phải kết thúc bằng dấu chấm phẩy

Phương thức main(), điểm bắt đầu của chương trình, được gọi

đầu tiên Mỗi CT thực thi phải có một phương thức main()

Cấu trúc một chương trình Java (tt)

• Dòng đầu tiên khai báo nạp các lớp sử

dụng

– Ví dụ trên: import java.util.*

• Chú thích: ngôn ngữ Java hỗ trợ ba kiểu

Trang 3

Cấu trúc một chương trình Java (tt)

• Phương thức main(): là điểm bắt đầu thực thi

một ứng dụng, mỗi ứng dụng Java phải chứa

một phương thức main có dạng như sau:

– public static void main(String[] args)

2 Dịch và thực thi chương trình Java

• Viết mã nguồn: dùng một chương trình

soạn thảo để viết mã nguồn, lưu lại với file

tên có đuôi “.java” Tên của file phải giống

tên của lớp chính trong chương trình.

• Biên dịch ra mã máy ảo: dùng trình biên

dịch javac để biên dịch mã nguồn “.java”

thành mã của máy ảo (java bytecode) có

đuôi “.class”

• Thông dịch và thực thi: dùng lệnh “java”.

Trang 4

• Thực thi chương trình: java Hello

3 Hằng, biến, kiểu dữ liệu

Trang 5

• Ký tự đầu tiên phải là ký tự chữ, dấu gạch

dưới ( _ ), hoặc dấu dollar ( $ ).

• Có phân biệt giữa ký tự chữ hoa và chữ

Trang 6

Biến

• Biến là vùng nhớ dùng để lưu trữ các giá

trị của chương trình Mỗi biến gắn liền với

một kiểu dữ liệu và một định danh duy

nhất gọi là tên biến.

• Tên biến được đặt theo quy tắc định danh

• Trong java, biến có thể được khai báo ở

bất kỳ nơi đâu trong phạm vi lớp (class).

j SOTHU4 k.sothu5_

l So thu 6

m $sothu7

Trang 7

Biến (tt)

• Khai báo biến

– <kiểu dữ liệu> <tên biến>;

– <kiểu dữ liệu> <tên biến> = <giá trị>;

Biến cục bộ và biến toàn cục

• Biến cục bộ: là biến chỉ có thể truy xuất

trong phạm vi một hàm hoặc một khối

lệnh.

• Biến toàn cục: là biến có thể truy xuất ở

khắp nơi trong chương trình, thường

được khai báo sau từ khóa public, hoặc

Trang 8

• Java có hai kiểu dữ liệu

– Kiểu dữ liệu cơ sở

• char, boolean, int, short, long, float, double,

– Kiểu đối tượng

• Array, String, class

Trang 10

Các kiểu dữ liệu cơ sở (tt)

• Kiểu số thực

• Kiểu boolean: true/false

• Kiểu char: ký tự theo chuẩn Unicode

float 32 bits -3.4e38…3.4e38

double 64 bits -1.7e308…1.7e308

Các kiểu dữ liệu cơ sở (tt)

• Kiểu số nguyên: byte, short, int, long.

– Kiểu mặc định là int

– Không có kiểu số nguyên không dấu

– Lưu ý đối với các phép toán trên số nguyên:

• Nếu hai toán hạng kiểu long → kết quả kiểu long.

• Một trong hai toán hạng không phải long thì được

chuyển thành long trước khi thực hiện phép toán.

• Nếu hai toán hạng đầu không phải kiểu long thì

phép tính sẽ thực hiện với kiểu int.

• Các toán hạng kiểu byte, short sẽ được chuyển

sang kiểu int trước khi thực hiện phép toán.

• Không thể chuyển biến kiểu int và kiểu boolean

Trang 11

Các kiểu dữ liệu cơ sở (tt)

• Kiểu số thực: float và double

– Không có giá trị nhỏ nhất và lớn nhất

– Lưu ý đối với các phép toán trên số thực:

• Mỗi toán hạng đều có kiểu chấm động thì phép

toán chuyển thành phép toán dấu chấm động.

• Nếu có một toán hạng là double thì các toán hạng

còn lại → double trước khi thực hiện phép toán.

• Biến kiểu float và double có thể ép chuyển sang

kiểu dữ liệu khác trừ kiểu boolean

– Có kích thước là hai bytes

– Chỉ dùng để biểu diễn các ký tự trong bộ mã

Trang 12

Các kiểu dữ liệu cơ sở (tt)

• Kiểu luận lý (boolean):

– Kiểu boolean chỉ nhận một trong hai giá trị:

true hoặc false

– Trong java kiểu boolean không thể chuyển

thành kiểu số nguyên và ngược lại

– Giá trị mặc định của kiểu boolean là false

Chuyển đổi kiểu dữ liệu

• Chuyển đổi kiểu dữ liệu: sử dụng các hàm

thuộc gói java.lang

Trang 13

– Hằng số nguyên: trường hợp giá trị hằng ở dạng

long ta thêm vào tiếp vĩ ngữ “l” hay “L” (ví dụ:

1L)

– Hằng số thực: truờng hợp giá trị hằng có kiểu

float ta thêm tiếp vĩ ngữ “f” hay “F”, còn kiểu số

double thì ta thêm tiếp vĩ ngữ “d” hay “D”.

– Hằng boolean: true, false.

– Hằng ký tự: là một ký tự nằm giữa cặp dấu nháy

– final char CH = ‘a’;// Khai báo hằng CH kiểu

char, có giá trị là ‘a’

– public final int ID = 6;// Khai báo hằng ID kiểu

int, có giá trị là 6, có phạm vi toàn cục

Trang 16

Toán tử và biểu thức (tt)

• Toán tử ép kiểu

– Ép kiểu rộng (widening conversion): từ kiểu

nhỏ sang kiểu lớn (không mất mát thông tin)

– Ép kiểu hẹp (narrow conversion): từ kiểu lớn

sang kiểu nhỏ (có thể mất mát thông tin)

Trang 17

• Mỗi phần tử trong mảng được truy xuất

thông qua chỉ số, bắt đầu là 0.

Trang 18

Khai báo mảng

• Cú pháp:

<kiểu dữ liệu> <tên mảng>[ ];

<kiểu dữ liệu> [ ] <tên mảng>;

• Ví dụ:

int arrInt [ ];

hoặc int [ ] arrInt;

Int [ ] arrInt1, arrInt2, arrInt3;

– Có thể khởi tạo giá trị ban đầu cho các phần

tử của mảng khi khai báo

– Ví dụ:

int[] list = new int[5];

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

list[i] = 2 * i + 1;

int arrInt [] = {1, 2, 3};

char arrChar[] = {‘a’, ‘b’, ‘c’};

String arrColor[]={“Red”, “Green”, “Blue”};

Trang 19

Các thao tác trên mảng

• Truy cập mảng

– Các phần tử của mảng được truy xuất thông

qua chỉ số (phần tử đầu tiên có chỉ số là 0)

đặt giữa cặp dấu ngoặc vuông ([ ])

double[] arr = new double[100];

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

{

arr[i] = input.nextDouble();

}

Trang 20

• type: kiểu dữ liệu

• name: biến đại diện mỗi phần tử

Trang 25

Giới thiệu

• Chuỗi là một dãy các ký tự Unicode liên tiếp nhau

trong bộ nhớ và không thể thay đổi

• Các phương thức áp dụng lên chuỗi không làm thay

đổi nội dung bản thân chuỗi gốc mà chỉ có thể trả về

một chuỗi mới.

• Khai báo chuỗi:

– Khai báo chuỗi rỗng

Ví dụ: String str1=new String( );

– Khai báo và khởi tạo

Ví dụ: String str2=new String( “Hello world” );

– Khai báo và khởi tạo chuỗi từ một mảng kí tự

Ví dụ:

• char ch[ ]={‘A’, ‘B’, ‘C’, ‘D’, ‘E’};

• String str3 = new String [ch];

• String str4 = new String [ch,0,2];

char chars[] = { 'a', 'b', 'c' };

String s = new String(chars);

• String(char chars[ ], int startIndex,

int numChars)

char chars[] = { 'a', 'b', 'c', 'd', 'e', 'f' };

String s = new String(chars, 2, 3); // s=“cde”

Trang 26

String Constructors

• String(String strObj)

char c [ ] = {'J', 'a', 'v', 'a'};

String s1 = new String(c);

String s2 = new String(s1);

• String (byte asciiChars[ ])

• String (byte asciiChars[ ], int startIndex,

int numChars)

byte ascii [ ] = {65, 66, 67, 68, 69, 70 };

String s1 = new String(ascii); //ABCDEF

String s2 = new String(ascii, 2, 3); //CDE

– String one = String.valueOf (1);

– String two = String.valueOf ( 2.384f );

– String notTrue = String.valueOf (false);

– String date = String.valueOf (new Date( ) );

Trang 27

Các hàm về chuỗi

charAt() Gets a particular character in the string

compareTo() Compares the string with another string

concat() Concatenates the string with another string

copyValueOf() Returns a string equivalent to the specified character array

endsWith() Checks whether the string ends with a specified suffix

equals() Compares the string with another string

equalsIgnoreCase() Compares the string with another string, ignoring case

getBytes() Copies characters from the string into a byte array

getChars() Copies characters from the string into a character array

hashCode() Returns a hashcode for the string

indexOf() Searches for the first occurrence of a character or substring in the string

intern() Fetches a unique instance of the string from a global shared-string pool

lastIndexOf() Searches for the last occurrence of a character or substring in a string

length() Returns the length of the string

Trang 28

replace() Replaces all occurrences of a character in the string with another character

startsWith() Checks whether the string starts with a specified prefix

substring() Returns a substring from the string

toCharArray() Returns the array of characters from the string

toLowerCase() Converts the string to lowercase

toUpperCase() Converts the string to uppercase

trim() Removes leading and trailing whitespace from the string

valueOf() Returns a string representation of a value

matches() Determines if the whole string matches a regular expression pattern

replaceFirst() Replaces the first occurrence of a regular expression pattern with a pattern

replaceAll() Replaces all occurrences of a regular expression pattern with a pattern

split() Splits the string into an array of strings using a regular expression pattern as a delimiter

toString() Returns the string value of an object

Trang 29

• Đổi một giá trị số thành chuỗi:

– Phương thức valueOf của lớp String

– Ví dụ: String s = String.valueOf (123);// kết quả s

Trang 30

Các thao tác trên chuỗi (tt)

• Trích ký tự tại một vị trí cho trước

String str1 = new String(””Hello”);

char ch = str1.charAt(3);

• Trả về chuỗi chữ thường: toLowerCase

• Trả về chuỗi chữ hoa: toUpperCase

equalsIgnoreCase của lớp String

String s = new String(“abc”);

boolean x = s.equals(“ABC”); //(x = false)

boolean y = s equalsIgnoreCase(“ABC”); //(y

Trang 31

Các thao tác trên chuỗi (tt)

• Kiểm tra chuỗi bắt đầu của một chuỗi

String str1=” “Hello”;

String str2= “He””;

boolean k=str1.startsWith(str2); //k = true

• Kiểm tra chuỗi kết thúc của một chuỗi

Trang 32

7 Nhập xuất dữ liệu

• Lệnh xuất một chuỗi ra màn hình: phương

thức print, println, cú pháp như sau:

– System.out.print (“The answer is, ”);

//Xuất ra chuỗi “The answer is, ”

• %d: số nguyên

• %f: số thực

• %s: chuỗi

• %n: xuống dòng

Trang 34

inStream = new InputStreamReader(System.in);

BufferedReader inData = new

Trang 35

public class InTong {

public static void main(String[] args){

Scanner s = new Scanner(System.in);

int a = s.nextInt(); int b = s.nextInt();

Trang 37

public class StudentGrade {

public static void main(String [] args) {

int score = Integer.parseInt (args[0]);

Trang 38

switch (tt)

• Lưu ý:

– variable: char, byte, short, int

– value1, value2, Phải cùng kiểu dữ liệu với

for(int j = 1; j <= 1024; j =

j * 2) {

System.out.println(j);

}

Trang 39

public class CongratulateStudent {

public static void main(String [] args) {

char grade = args[0].charAt(0);

int x = 1;

while(x <= 10) {

System.out.println(x);

x++;

}

Trang 41

Lệnh continue

• Dùng trong vòng lặp

• Các lệnh sau lệnh continue không được

thức hiện mà quay lên thực hiện vòng lặp

Ngày đăng: 23/02/2022, 10:21