Bạn đang xem bài viết Lệnh If/Else, Lệnh Switch/Case Trong Java được cập nhật mới nhất trên website Ictu-hanoi.edu.vn. Hy vọng những thông tin mà chúng tôi đã chia sẻ là hữu ích với bạn. Nếu nội dung hay, ý nghĩa bạn hãy chia sẻ với bạn bè của mình và luôn theo dõi, ủng hộ chúng tôi để cập nhật những thông tin mới nhất.
Như các ngôn ngữ lập trình khác, ngôn ngữ Java cũng hỗ trợ cấu trúc điều khiển luồng. Với cấu trúc này, chương trình sẽ kiểm tra một hoặc nhiều điều kiện và nếu các điều kiện này là true, thì lệnh hoặc các lệnh tương ứng với điều kiện true này sẽ được thực hiện, nếu không thì các lệnh tương ứng với điều kiện false sẽ được thực thi.
Một lệnh if trong Java bao gồm một Bieu_thuc_Boolean được theo sau bởi một hoặc nhiều lệnh. Nếu Bieu_thuc_Boolean được ước lượng là true thì các lệnh trong phần thân lệnh if sẽ được thực thi.
Một lệnh if có thể được theo sau bởi một lệnh else tùy ý, mà thực thi khi Bieu_thuc_Boolean là false.
Nó là hợp lệ để lồng các lệnh if-else, nghĩa là bạn có thể sử dụng một lệnh if hoặc else if bên trong lệnh if hoặc else if khác.
Lệnh switch cho phép bạn kiểm tra một biến bình đẳng với một danh sách các giá trị. Mỗi giá trị được gọi là một case – trường hợp. Nếu giá trị này trùng với case nào thì các lệnh tương ứng với case đó sẽ được thực thi.
Toán tử điều kiện (? 🙂 trong Java
Ngoài các lệnh kể trên, ngôn ngữ Java còn có một loại toán tử điều kiện giúp bạn kiểm tra nhanh các điều kiện và thực hiện phép gán giá trị cho một biến một cách rất nhanh chóng.
Toán tử này gồm ba toán hạng và được sử dụng để ước lượng các biểu thức quan hệ. Mục tiêu của toán tử là quyết định giá trị nào sẽ được gán cho biến. Toán tử này được viết như sau:
bien x = (bieu_thuc) ? (giatri1 neu true) : (giatri2 neu true); return (bieu_thuc) ? (giatri1 neu true) : (giatri2 neu false); public class Test { public static void main(String args[]){ int a , b; a = 10; b = (a == 1) ? 20: 30; System.out.println( "Gia tri cua b la : " + b ); b = (a == 10) ? 20: 30; System.out.println( "Gia tri cua b la : " + b ); } }Nó sẽ cho kết quả sau:
Gia tri cua b la : 30 Gia tri cua b la : 20Chương tới bàn về lớp Number (trong chúng tôi package) và các lớp phụ của nó trong ngôn ngữ Java.
Chúng ta sẽ xem xét một số tình huống mà bạn sẽ sử dụng các khởi tạo của các lớp ngoài các kiểu dữ liệu gốc, cũng như định dạng, các hàm toán học mà bạn cần biết khi làm việc với Number.
Đã có app VietJack trên điện thoại, giải bài tập SGK, SBT Soạn văn, Văn mẫu, Thi online, Bài giảng….miễn phí. Tải ngay ứng dụng trên Android và iOS.
Theo dõi chúng tôi miễn phí trên mạng xã hội facebook và youtube:
Các bạn có thể mua thêm khóa học JAVA CORE ONLINE VÀ ỨNG DỤNG cực hay, giúp các bạn vượt qua các dự án trên trường và đi thực tập Java. Khóa học có giá chỉ 300K, nhằm ưu đãi, tạo điều kiện cho sinh viên cho thể mua khóa học.
Nội dung khóa học gồm 16 chuơng và 100 video cực hay, học trực tiếp tại https://www.udemy.com/tu-tin-di-lam-voi-kien-thuc-ve-java-core-toan-tap/ Bạn nào có nhu cầu mua, inbox trực tiếp a Tuyền, cựu sinh viên Bách Khoa K53, fb: https://www.facebook.com/tuyen.vietjack
Loạt bài hướng dẫn của chúng tôi dựa một phần trên nguồn tài liệu của: Tutorialspoint.com
Follow facebook cá nhân Nguyễn Thanh Tuyền https://www.facebook.com/tuyen.vietjack để tiếp tục theo dõi các loạt bài mới nhất về Java,C,C++,Javascript,HTML,Python,Database,Mobile…. mới nhất của chúng tôi.
Bài học Java phổ biến tại vietjack.com:
Bài Tập Về Switch Case Trong C/C++
Bài toán luyện tập lập trình C/C++ số 22 là một bài toánvề switch case trong C/C++. Bài tập trả về số ngày của một tháng trong năm.
1.Giới thiệu bài toán
Switch case là một cấu trúc có điều kiện của ngôn ngữ C/C++. Cấu trúc thuộc loại cấu trúc giống trong C/C++. Trong bài viết này, mình sẽ đưa ra cho bạn một bài tập khá thú vị về phần này:
Đề bài:
Viết hàm nhập vào một tháng m hợp lệ và cho biết tháng đó có bao nhiêu ngày?
Bài toán khá đơn giản, nó giúp bạn hiểu được cấu trúc switch case trong C.
2. Ý tưởng giải bài toán
Mình sẽ sử dụng cấu trúc switch trong việc đưa ra ngày của tháng. Cụ thể:
Tháng 1, 3, 5, 7, 8, 10, 12 sẽ có 31 ngày
Tháng 4, 6, 9, 11 có 30 ngày
Tháng 2 năm nhuận có 29 ngày, năm thường 28 ngày.
Vấn đề thứ 2 chúng ta cần biết năm đó là năm nhuận hay không?Do đó mình viết thêm phần nhập vào năm và kiểm tra xem năm đó là năm nhuận hay không?
3. Thuật toán kiểm tra một năm bất kì có phải là năm nhuận hay không?
Ý tưởng: Năm nhuận là năm chia hết cho 4 nhưng không chia hết cho 100
Với ý tưởng này mình viết hàm sau:
int NamNhuan(int a){ if(a%4==0 && a%100!=0) return 1; else return 0; }Nếu là năm nhuận, return 1, năm không nhuận return 0;
4. Hàm trả về ngày của tháng trong năm
void ReturnDate(){ int Year; int Month; printf("Nhap Nam: "); scanf("%d",&Year); do{ printf("Nhap thang hop le: "); scanf("%d",&Month); } switch(Month){ case 1: case 3: case 5: case 7: case 8: case 10: case 12: printf("nThang %d co 31 ngay!", Month); break; case 2:{ if(NamNhuan(Year)) printf("nThang 2 co 29 ngay!"); else printf("nThang 2 co 28 ngay!"); break; } case 4: case 6: case 9: case 11: printf("nThang %d co 30 ngay!",Month); break; } }Chương trình hoàn chỉnh: bạn viết hai hàm liệt kê trên. Sau đó ở hàm main() bạn gọi hàm thứ 2 ra là được.
Kết quả chạy chương trình:
Ví dụ tháng 2 năm nhuận!
Bài viết của mình đến đây là hết, càm ơn bạn đâ quan tâm bài viết. Rất mong nhận được ý kiến đóng góp của bạn đọc về bài viết này của mình.
Xem tiếp bài 23
Tin Học 8 Bài 7: Câu Lệnh Lặp
Tóm tắt lý thuyết
Trong cuộc sống hằng ngày, nhiều hoạt động được thực hiện lặp đi lặp lại nhiều lần.
Các ngày trong tuần các em đều lặp đi lặp lại hoạt động buổi sáng đến trường và buổi trưa trở về nhà
Các em học bài thì phải đọc đi đọc lại nhiều lần cho đến khi thuộc bài
Ví dụ số lần lặp biết trước: Các ngày trong tuần các em đều lặp đi lặp lại hoạt động buổi sáng đến trường và buổi trưa trở về nhà.
Ví dụ số lần lặp không biết trước: Trong một trận cầu lông các em lặp đi lặp lại công việc đánh cầu cho đến khi kết thúc trận cầu.
Tóm lại: Khi viết chương trình máy tính, trong nhiều trường hợp ta cũng phải viết lặp lại nhiều câu lệnh chỉ để thực hiện 1 phép tính nhất định.
Ví dụ 1: Giả sử cần vẽ 3 hình vuông có cạnh 1 đơn vị. Mỗi hình vuông là ảnh dịch chuyển của hình bên trái nó một khoảng cách 2 đơn vị.
Hình 1. Ba hình vuông
Thuật toán:
Bước 1. Vẽ hình vuông (vẽ liên tiếp bốn cạnh và trở về đỉnh ban đầu)
Bước 2. Nếu số hình vuông đã vẽ được ít hơn 3, di chuyển bút vẽ về bên phải 2 đơn vị và trở lại bước 1, ngược lại kết thúc thuật toán
Bài toán vẽ một hình vuông: Hình 2. Các bước vẽ hình vuông
Thuật toán mô tả các bước để vẽ hình vuông:
Bước 1. k (leftarrow) 0 (k là số đoạn thẳng đã vẽ được)
Bước 2. k (leftarrow) k+1. Vẽ đoạn thẳng 1 đơn vị độ dài và quay thước 900 sang phải
Bước 3. Nếu k < 4 thì trở lại Bước 2; Ngược lại, kết thúc thuật toán
Trong đó, biến k được sử dụng như là biến đếm để ghi lại số cạnh đã vẽ được.
Ví dụ 2: Tính tổng 100 số tự nhiên đầu tiên S=1+2+…+100
Thuật toán:
KẾT LUẬN:
Cách mô tả các hoạt động lặp trong thuật toán như ví dụ trên được gọi là cấu trúc lặp
Để chỉ thị cho máy tính thực hiện cấu trúc lặp với một câu lệnh gọi là câu lệnh lặp
Trong đó:
Giá trị đầu phải nhỏ hơn giá trị cuối
Câu lệnh không làm thay đổi giá trị của biến đếm
Nếu câu lệnh nhiều hơn một lệnh thì phải đặt trong cặp Begin … end
Hoạt động của vòng lặp:
Bước 1: Biến đếm nhận giá trị đầu
Bước 2: Chương trình kiểm tra biểu thức điều kiện, nếu biểu thức điều kiện đúng thì thực hiện câu lệnh
Bước 3: Biến đếm tự động tăng lên 1 đơn vị và quay lại Bước 2
Bước 4: Nếu biểu thức điều kiện nhận giá trị sai thì thoát ra khỏi vòng lặp
Ví dụ 3: Chương trình sau sẽ in ra màn hình thứ tự lần lặp.
Chương trình mẫu:
Program ViDu3; Var i: Integer; For i:=1 to 10 do Writeln (‘Day la lan lap thu ‘,i);
Ví dụ 4: In một chữ “O” trên màn hình.
Chương trình mẫu:
Program ViDu4; Var i:Integer; For i:=1 to 20 do Writeln(‘O’); Delay(100); Hình 3. Câu lệnh đơn và câu lệnh ghép
Câu lệnh đơn giản writeln(‘O’) và delay(100) được đặt trong hai từ khóa begin và end để tạo thành một câu lệnh ghép trong Pascal.
Ví dụ 5: Chương trình sau đây sẽ tính tổng N số tự nhiên đầu tiên với N nhập từ bàn phím.
Chương trình mẫu:
Program tinh_tong; Var N,i: Integer; Writeln(‘Nhap N =’); For i:=1 to N do Witeln(‘tong la:’,S);
Ví dụ 6: Ta kí hiệu N! là tích N số tự nhiên đầu tiên: N! = 1.2.3…N.
Chương trình mẫu:
Program tinh_giai_thua; Var N,i: Integer; Write(‘Nhap N =’); For i:=1 to N do Wirteln(N,’!=’,P);
Tính Kế Thừa Trong Java
Tư tưởng của kế thừa trong java là có thể tạo ra một class mới được xây dựng trên các lớp đang tồn tại. Khi kế thừa từ một lớp đang tồn tại bạn có sử dụng lại các phương thức và thuộc tính của lớp cha, đồng thời có thể khai báo thêm các phương thức và thuộc tính khác.
Cú pháp của kế thừa trong java
Sử dụng từ khóa extends để kế thừa.
class Subclass-name extends Superclass-name { }Ví dụ về kế thừa trong java
class Employee { float salary = 1000; } class Programmer extends Employee { int bonus = 150; } public class InheritanceSample1 { public static void main(String args[]) { Programmer p = new Programmer(); System.out.println("Programmer salary is: " + p.salary); System.out.println("Bonus of Programmer is: " + p.bonus); } }Kết quả:
Programmer salary is: 1000.0 Bonus of Programmer is: 150Trong ví dụ trên class Programmer là con của class Employee, nên nó được phép truy cập đến trường salary của class cha.
Các kiểu kế thừa trong java
Có 3 kiểu kế thừa trong java đó là đơn kế thừa, kế thừa nhiều cấp, kế thừa thứ bậc.
Khi một class được kế thừa từ nhiều class đươc gọi là đa kế thừa. Trong java, đa kế thừa chỉ được support thông qua interface, như đã được nói đến trong bài interface trong java
Chú ý: Đa kế thừa trong java không được support thông qua class.
Ví dụ về đơn kế thừa
File: chúng tôi
class Animal { void eat() { System.out.println("eating..."); } } class Dog extends Animal { void bark() { System.out.println("barking..."); } } public class TestInheritance1 { public static void main(String args[]) { Dog d = new Dog(); d.bark(); d.eat(); } }Output:
Ví dụ về kế thừa nhiều cấp
File: chúng tôi
class Animal { void eat() { System.out.println("eating..."); } } class Dog extends Animal { void bark() { System.out.println("barking..."); } } class BabyDog extends Dog { void weep() { System.out.println("weeping..."); } } public class TestInheritance2 { public static void main(String args[]) { BabyDog d = new BabyDog(); d.weep(); d.bark(); d.eat(); } }Kết quả:
weeping... barking... eating...Ví dụ về kế thừa thứ bậc
File: chúng tôi
class Animal { void eat() { System.out.println("eating..."); } } class Dog extends Animal { void bark() { System.out.println("barking..."); } } class Cat extends Animal { void meow() { System.out.println("meowing..."); } } public class TestInheritance3 { public static void main(String args[]) { Cat c = new Cat(); c.meow(); c.eat(); } }Kết quả:
Câu hỏi: Tại sao đa kế thừa không được support trong java?
Để giảm thiểu sự phức tạp và đơn giản hóa ngôn ngữ, đa kế thừa không được support trong java.
Hãy suy xét kịch bản sau: Có 3 lớp A, B, C. Trong đó lớp C kế thừa từ các lớp A và B. Nếu các lớp A và B có phương thức giống nhau và bạn gọi nó từ đối tượng của lớp con, như vậy khó có thể xác đinh được việc gọi phương thức của lớp A hay B.
Vì vậy lỗi khi biên dịch sẽ tốt hơn lỗi khi runtime, java sẽ print ra lỗi “compile time error” nếu bạn cố tình kế thừa 2 class.
class A { void msg() { System.out.println("Hello"); } } class B { void msg() { System.out.println("Welcome"); } } public class C extends A,B { public static void main(String args[]) { C obj = new C(); obj.msg(); } }Kết quả:
Cập nhật thông tin chi tiết về Lệnh If/Else, Lệnh Switch/Case Trong Java trên website Ictu-hanoi.edu.vn. Hy vọng nội dung bài viết sẽ đáp ứng được nhu cầu của bạn, chúng tôi sẽ thường xuyên cập nhật mới nội dung để bạn nhận được thông tin nhanh chóng và chính xác nhất. Chúc bạn một ngày tốt lành!