24/05/2018, 21:44

Định dạng dữ liệu xuất và điều khiển luồng

Nhiều khi dữ liệu xuất được hiển thị trên màn hình,chúng cần phải được định dạng.Việc định dạng này cần sự trợ giúp của chuỗi thoát (Escape sequences) do Java cung cấp Chúng ta hãy xem ví dụ dưới đây System.out.println("Happy ...

Nhiều khi dữ liệu xuất được hiển thị trên màn hình,chúng cần phải được định dạng.Việc định dạng này cần sự trợ giúp của chuỗi thoát (Escape sequences) do Java cung cấp

Chúng ta hãy xem ví dụ dưới đây

System.out.println("Happy	Birthday");
    

Cho ta dữ liệu xuất như sau : Happy Birthday

Bảng dưới đây liệt kê một số chỗi thoát và công dụng của chúng

Các chuỗi thoát
Chuỗi thoát Mô tả
Đưa con trỏ đến dòng kế tiếp (Bắt đầu một dòng mới )
Đưa con trở về đầu dòng (Giống ký tự carriage return)
Đưa con trỏ đến vị trí Tab-Stop (Như vị trí Tab cuả ký tự)
In vạch chéo ngược (backslash)
In dấu nháy đơn (‘)
In dấu nháy kép (“)

Tất cả các môi trường phát triển ứng dụng đều cung cấp một quy trình ra quyết định (decision-making) được gọi là điều khiển luồng, nó điều khiển việc thực thi ứng dụng. Điều khiển luồng cho phép người phát triển phần mềm kiểm tra sự tồn tại của một điều kiện nào đó và ra quyết định phù hợp với điều kiện đó.

Vòng lặp là một cấu trúc chương trình giúp bạn có thể dùng để thực hiện việc lặp lại các hành động khi thực thi chương trình mà không cần viết lại các đoạn chương trình nhiều lần.

Điều khiển rẽ nhánh

  • Mệnh đề if-else
  • Mệnh đề swich-case

Vòng lặp (Loops)

  • Vòng lặp while
  • Vòng lặp do-while
  • Vòng lặp for

Câu lệnh if-else

Câu lệnh if-else kiểm tra kết quả của một điều kiện và thực thi một thao tác phù hợp trên cơ sở kết quả đó. Dạng của câu lệnh if-elsse rất đơn giản

Cú pháp

If (conditon)
    { action 1 statements; }
    else
    { action 2 statements; }
    

Condition: Biểu thức Boolean như toán tử so sánh. Biểu thức này trả về giá trị True hoặc False

action 1: Các dòng lệnh được thực thi khi giá trị trả về là True

else: Từ khoá xác định các câu lệnh tiếp sau được thực hiện nếu điều kiện trả về giá trị False

action 2: Các câu lệnh được thực thi nếu điều kiện trả về giá trị False

Đoạn chương trình sau kiểm tra xem các số là chẵn hay lẻ và hiển thị thông báo phù hợp

class CheckNumber
    {
    public static void main(String args[]
    {
    int num =10;
    if(num %2 == 0)
    System.out.println (num+ "is an even number");
    else
    System.out.println (num +"is an odd number");
    }}
    

Ở đoạn chương trình trên num được gán giá trị nguyên là 10. Trong câu lệnh if-else điều kiện num %2 trả về giá trị 0 và điều kiện thực hiện là True. Thông báo “10 is an even number” được in ra. Lưu ý rằng cho đến giờ chỉ có một câu lệnh tác động được viết trong đoạn “if” và “else”, bởi vậy không cần phải được đưa vào dấu ngoặc móc.

Hình vẽ dưới đây mô tả cách dùng if-else

If - else

Câu lệnh switch-case

Phát biểu switch-case có thể được sử dụng tại câu lệnh if-else. Nó được sử dụng trong tình huống một biểu thức cho ra nhiều kết quả. Việc sử dụng câu lệnh switch-case cho phép việc lập trình dễ dàng và đơn giản hơn.

Cú pháp

swich (expression)
    {
    case ‘value’:action 1 statement;
    break;
    case ‘value’:action 2 statement;
    break;
    :
    :
    case ‘valueN’: actionN statement; break;
    default: default_action statement;
    }
    

expession - Biến chứa một giá trị xác định

value1,value 2,….valueN: Các giá trị hằng số phù hợp với giá trị trên biến expression .

action1,action2actionN: Các phát biểu được thực thi khi một trường hợp tương ứng có giá trị True

break: Từ khoá đượ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: Các câu lệnh được thực hiện chỉ khi tất cả các trường hợp nhận giá trị False

Đoạn chương trình sau 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. Để kiểm tra các giá trị nằm trong khoảng 0 đến 6

chương trình sẽ thông báo lỗi nếu nằm ngoài phạm vi trên.

class SwitchDemo
    {
    public static void main(String agrs[])
    {
    int day =4;
    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 bíến day là 4 ,chương trình sẽ hiển thị Thursday,và cứ tiếp như vậy .

Vòng lặp While

Vòng lặp while được sử dụng khi vòng lặp được thực hiện mãi cho đến khi điều kiện thực thi vẫn là True. Số lượng lần lặp không đựơc xác định trước song nó sẽ phụ thuộc vào từng điều kiện.

Cú pháp

while(condition)
    {
    action statement;
    :
    :
    }
    

condition: Biểu thức Boolean, nó trả về giá trị True hoặc False. Vòng lặp sẽ tiếp tục cho đến khi nào giá trị True được trả về.

action statement: Các câu lệnh được thực hiện nếu condition nhận giá trị True

Đoạn chương trình sau tính giai thừa của số 5. Giai thừa được tính như tích 5*4*3*2*1.

class WhileDemo
    {
    public static void main(String args[])
    {
    int a = 5,fact = 1;
    while (a >= 1)
    {
    fact *=a;
    a--;
    }
    System.out.println("The Factorial of 5 is "+fact);
    }
    }
    

Ở ví dụ trên, vòng lặp được thực thi cho đến khi điều kiện a>=1 là True. Biến a được khai báo bên ngoài vòng lặp và được gán giá trị là 5. Cuối mỗi vòng lặp, giá tri của a giảm đi 1. Sau năm vòng giá trị của a bằng 0. Điều kiện trả về giá trị False và vòng lặp kết thúc. Kết quả sẽ được hiển thị “ The factorial of 5 is 120”

Đoạn chương trình sau hiển thi tổng của 5 số chẵn đầu tiên

class ForDemo
    {
    public static void main(String args[])
    {
    int i=1,sum=0;
    for (i=1;i<=10;i+=2)
    sum+=i;
    System.out.println ("sum of first five old numbers is "+sum);
    }
    }
    

Ở ví dụ trên, i và sum là hai biến được gán các giá trị đầu là 1 và 0 tương ứng. Điều kiện được kiểm tra và khi nó còn nhận giá trị True, câu lệnh tác động trong vòng lặp được thực hiện. Tiếp theo giá trị của i được tăng lên 2 để tạo ra số chẵn tiếp theo. Một lần nữa, điều kiện lại được kiểm tra và câu lệnh tác động lại được thực hiện. Sau năm vòng, i tăng lên 11, điều kiện trả về giá trị False và vòng lặp kết thúc. Thông báo: Sum of first five odd numbers is 25 được hiển thị.

  • Lệnh import được sử dụng trong chương trình để truy cập các gói thư viện Java.
  • Chương trình Java chứa một tập các gói. Chương trình có thể chứa các dòng giải thích. Trình biên dịch sẽ bỏ qua các dòng giải thích này.
  • “Token” là thành phần nhỏ nhất của chương trình. Có năm loại “token”
    • Đinh danh (identifiers)
    • Từ khóa (keywords)
    • Ký tự phân cách (separators)
    • Nguyên dạng (Literals)
    • Các toán tử
  • Java có các kiểu dữ liệu xây dựng sẵn gọI là kiểu dữ liệu nguyên thuỷ. Các biến được khai báo vớI một dữ liệu xác định. Hãy thận trọng khi khai báo tên biến để loại trừ khả năng nhầm lẫn.
  • Java cung cấp các chỉ định truy xuất sau đây :
    • Công cộng (public)
    • Bảo vệ (protected)
    • Riêng tư (private)
  • Java cung cấp các bổ nghĩa (modifiers) sau đây:
    • Tĩnh (static)
    • Trừu tượng (abstract)
    • final
  • Khởi tạo hàm có hai kiểu :
    • Tường minh (Explicit)
    • Ngầm định (Implicit)
  • Java cung cấp nhiều dạng toán tử:
    • Các toán tử số học
    • Các toán tử bit
    • Các toán tử quan hệ
    • Các toán tử logic
    • Toán tử đìều kiện
    • Toán tử gán
  • Ứng dụng Java có một lớp chứa phương thức main. Các tham số có thể được truyền vào phương thức main nhờ các tham số lệnh (command line parameters). Java cung cấp những cấu trúc sau:
    • if-else
    • switch
    • for
    • while
    • do while
  1. Trong Java, kiểu dữ liệu dạng byte nằm trong giới hạn từ……….đến…………
  2. Hãy chỉ các danh định hợp lệ:
    1. Tel_num
    2. Emp1
    3. 8678
    4. batch.no
  3. Cho biết kết quả thu đươc khi thực hiện đoạn chương trình sau?
       class me
         {
          public static void main(String srgs[ ])
          {
          int sales=820;
          int profit=200;
          System.out.println((sale +profit)/10*5);
          }
         }
    
  4. ……….……là sự cài đặt của các hành động của đối tượng
  5. Phương thức public có thể truy cập phương thức private trong cùng một lớp. (Đúng/Sai)
  6. ‘static’ hàm ý rằng phương thức không có mã và được bổ sung trong các lớp con (Đúng/Sai)
  7. Khi bạn không định nghiã một hàm khởi tạo cho một lớp, JVM sẽ cung cấp một hàm mặc định hoặc một hàm khởi tạo ẩn (implicit). (Đúng/Sai)
  8. Vòng lặp while thực thi ít nhất một lần thậm chí nếu điều kiện được xác định là False (Đúng/Sai)

Hãy viết một đoạn chương trình để in ra dòng chữ ” Welcome to the world of Java”

Hãy viết hai phương thức khởi tạo tường minh cho một lớp dùng để tính diện tích hình chữ nhật. Khi một giá trị được truyền vào phương thức khởi tạo, nó cho rằng độ dài và chiều rộng bằng nhau và bằng giá trị truyền vào. Lúc đó, nó sẽ tính diện tích tương ứng. Khi hai giá trị được truyền vào, nó sẽ tính diện tích hình chữ nhật.

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 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!…………….

0