GP Coder

Trang chia sẻ kiến thức lập trình Java

  • Java Core
    • Basic Java
    • OOP
    • Exception Handling
    • Multi-Thread
    • Java I/O
    • Networking
    • Reflection
    • Collection
    • Java 8
  • Design pattern
    • Creational Pattern
    • Structuaral Pattern
    • Behavior Pattern
  • Web Service
    • SOAP
    • REST
  • JPA
  • Java library
    • Report
    • Json
    • Unit Test
  • Message Queue
    • ActiveMQ
    • RabbitMQ
  • All
Trang chủ Java Core Basic Java Vòng lặp for, while, do-while trong Java

Vòng lặp for, while, do-while trong Java

Đăng vào 27/10/2017 . Được đăng bởi GP Coder . 20624 Lượt xem . Toàn màn hình

Khi chúng ta cần thực hiện một đoạn code một vài lần, điều này có thể được xem như một vòng lặp.

Java có 3 kỹ thuật lặp linh động, bạn có thể sử dụng một trong ba vòng lặp sau:

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

Trong Java 5, vòng lặp foreach (hay enhanced for) đã được giới thiệu. Vòng lặp này được sử dụng chủ yếu cho các mảng.

Nội dung

  • 1 Vòng lặp for
  • 2 Vòng lặp while
  • 3 Vòng lặp do-while trong java

Vòng lặp for

Vòng lặp for trong java được sử dụng để lặp một phần của chương trình nhiều lần. Nếu số lần lặp là cố định thì vong lặp for được khuyến khích sử dụng, còn nếu số lần lặp không cố định thì nên sử dụng vòng lặp while hoặc do while.

Các kiểu của vòng lặp for trong java:

  • Vòng lặp for đơn giản
  • Vòng lặp for cải tiến

Vòng lặp for đơn giản

Cú pháp:


for (khoi_tao_bien ; check_dieu_kien ; tang/giam_bien) { 
 // Khối lệnh được thực thi
} 

Ví dụ

package com.gpcoder;

public class ForSample1 {
	public static void main(String[] args) {

		System.out.print("Vòng lặp for với biến tăng: ");
		for (int i = 1; i <= 5; i++) { System.out.print(i + " "); } // Hiển thị xuống dòng System.out.println(""); System.out.print("Vòng lặp for với biến giảm: "); for (int i = 5; i >= 1; i--) {
			System.out.print(i + " ");
		}

	}
}

Kết quả:


Vòng lặp for với biến tăng: 1 2 3 4 5
Vòng lặp for với biến giảm: 5 4 3 2 1

Vòng lặp for cải tiến

Vòng lặp for cải tiến được sử dụng để lặp mảng (array) hoặc tập hợp (collection) trong java. Bạn có thể sử dụng nó dễ dàng, dễ hơn cả vòng lặp for đơn giản. Bởi vì bạn không cần phải tăng hay giảm giá trị của biến rồi check điều kiện, bạn chỉ cần sử dụng ký hiệu hai chấm “:”

Cú pháp:

for (Type var : array) { 
 // Khối lệnh được thực thi
} 

Ví dụ:

package com.gpcoder;

public class ForSample2 {
	public static void main(String[] args) {
        int []arr = {
        	1, 2, 3, 4, 5	
        };
        for (int i : arr) { 
        	System.out.print(i + " "); 
        }
    }
}

Kết quả:


1 2 3 4 5 

Vòng lặp for vô tận

Nếu bạn để điều kiện lặp là true hoặc không xác định thì vòng lặp for sẽ chạy đến vô tận… đến khi bạn stop chương trình đối với mỗi IDE (Eclipse, Netbean…) hoặc bấm Ctrl + C khi chạy bằng command hoặc đến khi hết bộ nhớ (StackOverflow).

Ví dụ:


public class ForSample3 {
	public static void main(String[] args) {
		// for (int i = 1; true; i++) {
		for (int i = 1; ; i++) {
			System.out.println(i + " ");
		}
	}
}

Kết quả:


1 
2 
3 
4 
5 
6 
...

Một điều khá đặc biệt là có thể sử dụng vòng lặp for vô tận, kết hợp với kiểm tra điều kiện kết thúc với lệnh break để thay thế cho vòng lặp while.

Ví dụ:

public class ForSample4{
	public static void main(String[] args) {
		int i;
		final int COUNT = 5;
		System.out.print("Using For:   ");
		i = 1;
		for (;;) {
			System.out.print(i + " ");
			if (i == COUNT) {
				break;
			}
			i++;
		}

		System.out.println();
		System.out.print("Using While: ");
		i = 1;
		while (i <= COUNT) {
			System.out.print(i + " ");
			i++;
		}
	}
}

Kết quả:

Using For:   1 2 3 4 5 
Using While: 1 2 3 4 5 

Vòng lặp while

Vòng lặp while đơn giản

Vòng lặp while trong java được sử dụng để lặp một phần của chương trình một vài lần. Nếu số lần lặp không được xác định trước thì vòng lặp lặp while được khuyến khích sử dụng trong trường hợp này.

Cú pháp:


while (condition) {
// Khối lệnh được lặp lại cho đến khi condition là sai (condition = false)
}

Ví dụ:


package com.gpcoder;

public class WhileSample1 {
	public static void main(String[] args) {
        int i = 1;
		while (i <= 5) {
			System.out.print(i + " "); 
			i++;
        }
    }
}

Kết quả:


1 2 3 4 5

Vòng lặp while vô tận

Nếu bạn để điều kiện lặp là true thì vòng lặp while sẽ chạy đến vô tận… Đến khi bạn stop chương trình đối với mỗi IDE (Eclipse, Netbean…) hoặc bấm Ctrl + C khi chạy bằng command hoặc đến khi hết bộ nhớ (StackOverflow).

Ví dụ:


package com.gpcoder;

public class WhileSample2 {
	public static void main(String[] args) {
        int i = 1;
		while (true) {
			System.out.println(i); 
			i++;
        }
    }
}

Kết quả:


1 
2 
3 
4 
5 
6 
...

Vòng lặp do-while trong java

Vòng lặp do-while đơn giản

Vòng lặp do-while trong java được sử dụng để lặp một phần của chương trình một vài lần. 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.

Cú pháp:

do { 
 // Khối lệnh được thực thi
} while(condition);

Ví dụ:

package com.gpcoder;

public class DoWhileSample1 {
	public static void main(String[] args) {
        int i = 1;
		do {
			System.out.print(i + " "); 
			i++;
        } while (i <= 5);
    }
}

Kết quả:


1 2 3 4 5

Vòng lặp do-while vô tận

Nếu bạn để điều kiện lặp là true thì vòng lặp do-while sẽ chạy đến vô tận… Đến khi bạn stop chương trình đối với mỗi IDE (Eclipse, Netbean…) hoặc bấm Ctrl + C khi chạy bằng command.

Ví dụ:


package com.gpcoder;

public class DoWhileSample2 {
	public static void main(String[] args) {
        int i = 1;
		do {
			System.out.println(i); 
			i++;
        } while (true);
    }
}

Kết quả:


1
2
3
4
5
6
...

Như vậy là chúng ta đã tìm hiểu xong các loại vòng lặp trong Java. Ở bài viết tiếp theo, chúng ta sẽ tìm hiểu Câu lệnh điều khiển vòng lặp trong Java (break, continue).

5.0
03
Nếu bạn thấy hay thì hãy chia sẻ bài viết cho mọi người nhé! Và Donate tác giả

Shares

Chuyên mục: Basic Java Được gắn thẻ: Basic Java, Cấu trúc điều khiển

Mệnh đề Switch-case trong java
Câu lệnh điều khiển vòng lặp trong Java (break, continue)

Có thể bạn muốn xem:

  • Tránh lỗi NullPointerException trong Java như thế nào? (06/08/2018)
  • Enum trong java (09/11/2017)
  • Chương trình Java đầu tiên (19/10/2017)
  • Tạo chương trình Java đầu tiên sử dụng Eclipse IDE (19/10/2017)
  • Tạo số và chuỗi ngẫu nhiên trong Java (15/09/2019)

Bình luận

bình luận

Tìm kiếm

Bài viết mới

  • Clean code 13/01/2024
  • Giới thiệu CloudAMQP – Một RabbitMQ server trên Cloud 02/10/2020
  • Kết nối RabbitMQ sử dụng Web STOMP Plugin 19/06/2020
  • Sử dụng publisher confirm trong RabbitMQ 16/06/2020
  • Sử dụng Dead Letter Exchange trong RabbitMQ 13/06/2020

Xem nhiều

  • Hướng dẫn Java Design Pattern – Factory Method (98061 lượt xem)
  • Hướng dẫn Java Design Pattern – Singleton (97702 lượt xem)
  • Giới thiệu Design Patterns (87769 lượt xem)
  • Lập trình đa luồng trong Java (Java Multi-threading) (86441 lượt xem)
  • Giới thiệu về Stream API trong Java 8 (83840 lượt xem)

Nội dung bài viết

  • 1 Vòng lặp for
  • 2 Vòng lặp while
  • 3 Vòng lặp do-while trong java

Lưu trữ

Thẻ đánh dấu

Annotation Authentication Basic Java Behavior Pattern Collection Creational Design Pattern Cấu trúc điều khiển Database Dependency Injection Design pattern Eclipse Exception Executor Service Google Guice Gson Hibernate How to Interceptor IO Jackson Java 8 Java Core JDBC JDK Jersey JMS JPA json JUnit JWT Message Queue Mockito Multithreading OOP PowerMockito RabbitMQ Reflection Report REST SOAP Structuaral Pattern Swagger Thread Pool Unit Test Webservice

Liên kết

  • Clean Code
  • JavaTpoint
  • Refactoring Guru
  • Source Making
  • TutorialsPoint
  • W3Schools Online Web Tutorials

Giới thiệu

GP Coder là trang web cá nhân, được thành lập với mục đích lưu trữ, chia sẽ kiến thức đã học và làm việc của tôi. Các bài viết trên trang này chủ yếu về ngôn ngữ Java và các công nghệ có liên quan đến Java như: Spring, JSF, Web Services, Unit Test, Hibernate, SQL, ...
Hi vọng góp được chút ít công sức cho sự phát triển cộng đồng Coder Việt.

Donate tác giả

Tìm kiếm các bài viết của GP Coder với Google Search

Liên hệ

Các bạn có thể liên hệ với tôi thông qua:
  • Trang liên hệ
  • Linkedin: gpcoder
  • Email: contact@gpcoder.com
  • Skype: ptgiang56it

Follow me

Copyright 2025 © GP Coder · All Rights Reserved · Giới thiệu · Chính sách · Điều khoản · Liên hệ ·

Share

Blogger
Delicious
Digg
Email
Facebook
Facebook messenger
Flipboard
Google
Hacker News
Line
LinkedIn
Mastodon
Mix
Odnoklassniki
PDF
Pinterest
Pocket
Print
Reddit
Renren
Short link
SMS
Skype
Telegram
Tumblr
Twitter
VKontakte
wechat
Weibo
WhatsApp
X
Xing
Yahoo! Mail

Copy short link

Copy link