<khối _lệnh1>;
}
else
{
<khối _lệnh2>;
}
Trong đó:
<điều kiện> là Biểu thức boolean như toán tử so sánh.
<khối _lệnh1>, <khối _lệnh2> là câu lệnh đơn hoặc khối lệnh trong Java;
Có thể bạn quan tâm!
- Công nghệ Java - 2
- Cấu Trúc Lập Trình Cơ Bản Trong Java
- Câu Lệnh Và Các Cấu Trúc Lệnh Trong Java
- Công nghệ Java - 6
- Đối Tượng, Lớp, Kế Thừa, Giao Diện
- Công nghệ Java - 8
Xem toàn bộ 232 trang tài liệu này.
Ví dụ 2.5: Chương trình kiểm tra xem ngày hiện tại có phải chủ nhật hay không:
import java.util.Date; public class TestIf {
public static void main( String args[ ] ){ Date today = new Date();
if( today.getDay() == 0 )
System.out.println(“Hom nay la chu nhatn”);
else
System.out.println(“Hom nay khong la chu nhatn" );
}
}
2.6.3. Câu lệnh switch-case
Khối lệnh switch-case có thể được sử dụng thay thế câu lệnh if-else trong trường hợp một biểu thức cho ra nhiều kết quả.
Cú pháp:
swich (expression)
{
case ‘value1’: action 1 statement; break;
case ‘value2’: action 2 statement; break;
case ‘valueN’: actionN statement;
break;
default:
default_action statement;
}
Trong đó:
- expression – Biểu thức chứa một giá trị xác định. Biểu thức expression phải có kiểu char, byte, short, int nếu biểu thức expression có kiểu khác với các kiểu liệt kê ở trên thì Java sẽ đưa ra một thông báo lỗi.
- value1, value 2,…., valueN: Các giá trị hằng số cùng kiểu dữ liệu với giá trị trên biến expression.
- action1, action2…, actionN: Khối lệnh được thực thi khi trường hợp tương ứng có giá trị True.
- break: Câu lệnh được sử dụng để bỏ qua tất cả các câu lệnh sau đó và giành quyền điều khiển cho cấu trúc bên ngoài switch
- default: Từ khóa tuỳ chọn được sử dụng để chỉ rõ các câu lệnh nào được thực hiện chỉ khi tất cả các trường hợp nhận giá trị False
- default - action: Khối lệnh được thực hiện chỉ khi tất cả các trường hợp nhận giá trị False
Ví dụ 2.6: Xác định giá trị trong một biến nguyên và hiển thị ngày trong tuần được thể hiện dưới dạng chuỗi.
class SwitchDemo
{
public static void main(String agrs[]) { int day = 2;
switch(day)
{
case 0 : System.out.println(“Sunday”); break;
case 1 : System.out.println(“Monday”); break;
case 2 : System.out.println(“Tuesday”); break;
case 3 : System.out.println(“Wednesday”); break;
case 4 : System.out.println(“Thursday”); break;
case 5: System.out.println(“Friday”); break;
case 6 : System.out.println(“Satuday”);
break;
default:
System.out.println(“Invalid day of week”);
}
}
}
Nếu giá trị của biến day = 4, chương trình sẽ hiển thị “Thursday”
2.6.4. Vòng lặp While
Cú pháp:
while(condition)
{
action statements;
}
Vòng lặp while thực thi khối lệnh khi điều kiện thực thi condition vẫn là True và dừng lại khi điều kiện thực thi condition nhận giá trị False.
Ví dụ 2.7: Tính tổng các số lẻ từ 1 đến 20
int tong = 0, i = 1; while (i<=20)
{
tong+=i; i+=2;
}
System.out.println(“Tong bang ”+ tong);
Ở ví dụ trên, vòng lặp được thực thi cho đến khi điều kiện i<=20 là False. Kết quả in ra: Tong bang 100
2.6.5. Vòng lặp do-while
Cú pháp:
do{
action statements;
}while(condition);
Vòng lặp do-while thực thi khối lệnh khi mà điều kiện condition là True, tương tự như vòng lặp while, ngoại trừ do-while thực hiện lệnh ít nhất một lần ngay cả khi điều kiện là False.
Ví dụ 2.8: Tính tổng các số lẻ từ 1 đến 20.
int tong = 0, i=1;
do
{
tong+=i; i+=2;
} while (i<=20); System.out.println(“Tong bang ”+ tong);
Ở ví dụ trên, vòng lặp được thực thi cho đến khi điều kiện i<=20 là False.
2.6.6. Vòng lặp for
Cú pháp:
for(initialization statements; condition; increment statements)
{
action statements;
}
Ví dụ 2.9: Tính tổng các số lẻ từ 1 đến 20
public class TestFor
{
public static void main(String[] args)
{
int tong = 0;
for(int i=1; i<=20; i+=2) tong+=i;
System.out.println(“Tong bang ” + tong);
}
}
Vòng lặp được thực thi cho đến khi điều kiện i<=20 là False.
2.6.7. Lệnh break và continue
Bên trong thân của cấu trúc lặp có thể điều khiển luồng thực hiện bằng cách sử dụng lệnh break và continue, lệnh break sẽ chấm dứt quá trình lặp mà không thực hiện nốt phần còn lại của cấu trúc lặp, continue sẽ ngưng thực thi phần còn lại của thân vòng lặp và chuyển điều khiển về điểm bắt đầu của vòng lặp, để thực hiện lần lặp tiếp theo.
Ví dụ 2.10:
public class BreakAndContinue {
public static void main(String[] args) { for(int i = 0; i < 100; i++) {
if(i == 74) break;// Out of for loop if(i % 9! = 0) continue;// Next iteration System.out.print(i+ “ ”);
}
int i = 0; // An "infinite loop": while(true) {
i++;
int j = i * 27;
if(j == 945) break;// Out of loop
if(i % 10! = 0) continue;// Top of loop System.out.print(i + “ ”);
}
}
}
2.7. Số lớn trong java
Lớp BigInteger sử dụng để xử lý các số nguyên rất lớn nằm ngoài giới hạn của tất cả các kiểu dữ liệu nguyên thủy có sẵn.
Khai báo: BigInteger A, B;
Sử dụng phương thức tĩnh valueOf để chuyển một số bình thường thành số nguyên lớn BigInteger A = BigInterger(valueOf(100));
Một số hàm tạo:
BigInteger (byte [] val)
Hàm tạo này được sử dụng để dịch một mảng byte chứa biểu diễn nhị phân bổ sung của hai BigInteger thành một BigInteger.
BigInteger (int numBits, rnd ngẫu nhiên)
Hàm tạo này được sử dụng để tạo ngẫu nhiên một BigInteger nằm trong phạm vi từ 0 đến (2 numBits - 1)
BigInteger (Chuỗi val)
Hàm tạo này được sử dụng để chuyển biểu diễn Chuỗi thập phân của BigInteger thành BigInteger.
BigInteger (Chuỗi val, int radix)
Hàm tạo này được sử dụng để chuyển biểu diễn Chuỗi của BigInteger trong cơ số được chỉ định thành BigInteger.
Một số phương thức thường dùng:
BigInteger add (BigInteger val)- Phương thức này trả về một BigInteger có giá trị là (this + val).
Int compareTo(BigInteger val)- so sánhBigInteger với BigInteger xác định. float floatValue() Chuyển BigInteger thành kiểu float.
BigInteger max(BigInteger val) Trả về giá trị lớn nhất của BigInteger và val. BigInteger min(BigInteger val) Trả về giá trị nhỏ nhất của BigInteger và val
2.8. Mảng
Mảng là tập hợp nhiều phần tử có cùng tên, cùng kiểu dữ liệu và mỗi phần tử trong mảng được truy xuất thông qua chỉ số trong mảng.
Khai báo <kiểu dữ liệu> <tên mảng>[]; hoặc <kiểu dữ liệu>[] <tên mảng>;
Ví dụ 2.11:
int arrInt[]; // đây là mảng các số nguyên hoặc int[ ] arrInt;
Cấp phát bộ nhớ cho mảng
Để cấp phát bộ nhớ cho mảng trong Java dùng từ khóa new (tất cả trong Java đều thông qua các đối tượng). Chẳng hạn để cấp phát vùng nhớ cho mảng số nguyên gồm tối đa 100 phần tử trong Java ta làm như sau:
int arrInt = new int[100];
Truy nhập các phần tử trong mảng
Chỉ số mảng trong Java bắt đầu từ 0. Vì vậy phần tử đầu tiên có chỉ số là 0, và phần tử thứ n có chỉ số là n-1. Các phần tử của mảng được truy xuất thông qua chỉ số của nó đặt giữa cặp dấu ngoặc vuông [].
Ví dụ 2.12:
int arrInt[] = {1, 2, 3};
int x = arrInt[0]; // x sẽ có giá trị là 1.
int y = arrInt[1]; // y sẽ có giá trị là 2. int z = arrInt[2]; // z sẽ có giá trị là 3.
Lưu ý: Trong những ngôn ngữ lập trình khác (như C ), một chuỗi được xem như một mảng các ký tự. Trong Java thì khác, Java cung cấp một lớp String để làm việc với đối tượng dữ liệu chuỗi cùng các thao tác trên đối tượng dữ liệu này.
2.8.1. Vòng lặp “for each”
Vòng lặp foreach được sử dụng chủ yếu với mảng và ArrayList
Cú pháp:
for(Khai_bao : Bieu_thuc)
{
//phan than vong lap
}
Ví dụ 2.13:
public class Test {
public static void main(String args[]){ int [] numbers = {10, 20, 30, 40, 50};
for(int x : numbers ){ System.out.print( x ); System.out.print(",");
}
System.out.print("n");
String [] names ={"James", "Larry", "Tom", "Lacy"}; for( String name : names ) {
System.out.print( name ); System.out.print(",");
}}}
Kết quả:
2.8.2. Khởi tạo mảng và mảng nặc danh
Chúng ta 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ụ 2.14:
int arrInt[] = {1, 2, 3, 4};
//mảng số nguyên gồm 4 phẩn tử
char arrChar[] = {‘a’, ‘b’, ‘c’}; // mảng ký tự gồm 3 phần tử là ký tự
String arrStrng[] = {“ABC”, “DEF”, ‘GHI’}; //mảng gồm3 phần tử kiểu String
Cũng có thể khởi tạo một mảng nặc danh
new int[] { 17, 19, 23, 29, 31, 37 };
Sử dụng cú pháp khai báo mảng nặc danh này ta có thể khởi tạo một mảng mà không cần khai báo thêm biến mới.
smallPrimes = new int[] { 17, 19, 23, 29, 31, 37 };
Là rút gọn của khai báo:
int[] anonymous = { 17, 19, 23, 29, 31, 37 }; smallPrimes = anonymous
Ví dụ 2.15: Nhập và xuất giá trị các phần tử của một mảng các số nguyên.
class ArrayDemo
{
public static void main(String args[])
{
int arrInt[] = new int[10]; int i;
for(i = 0; i < 10; i = i+1) arrInt[i] = i;
for(i = 0; i < 10; i = i+1)
System.out.println("This is arrInt[" + i + "]: " + arrInt[i]);
}
}
Kết quả: