For working professionals
For fresh graduates
More
6. JDK in Java
7. C++ Vs Java
16. Java If-else
18. Loops in Java
20. For Loop in Java
46. Packages in Java
53. Java Collection
56. Generics In Java
57. Java Interfaces
60. Streams in Java
63. Thread in Java
67. Deadlock in Java
74. Applet in Java
75. Java Swing
76. Java Frameworks
78. JUnit Testing
81. Jar file in Java
82. Java Clean Code
86. Java 8 features
87. String in Java
93. HashMap in Java
98. Enum in Java
101. Hashcode in Java
105. Linked List in Java
109. Array Length in Java
111. Split in java
112. Map In Java
115. HashSet in Java
118. DateFormat in Java
121. Java List Size
122. Java APIs
128. Identifiers in Java
130. Set in Java
132. Try Catch in Java
133. Bubble Sort in Java
135. Queue in Java
142. Jagged Array in Java
144. Java String Format
145. Replace in Java
146. charAt() in Java
147. CompareTo in Java
151. parseInt in Java
153. Abstraction in Java
154. String Input in Java
156. instanceof in Java
157. Math Floor in Java
158. Selection Sort Java
159. int to char in Java
164. Deque in Java
172. Trim in Java
173. RxJava
174. Recursion in Java
175. HashSet Java
177. Square Root in Java
190. Javafx
“Pattern” is a relatively newer addition to Java. If you want to be a professional computer science expert or programmer, you must clearly understand pattern programs in Java. This article provides a holistic insight into what Pattern programs in Java mean.
This tutorial mainly deals with printing patterns in Java, the different patterns in Java, and pattern programs in Java. Read on to learn more!
You can print different patterns using loops, such as for loops, while loops, and do-while loops in Java. Here are some examples of common patterns:
1. Print a right triangle of stars
public class Main {
public static void main(String[] args) {
for (int i = 1; i <= 5; i++) {
for (int j = 1; j <= i; j++) {
System.out.print("* ");
}
System.out.println();
}
}
}
2. Print a square of stars
public class Main {
public static void main(String[] args) {
for (int i = 1; i <= 5; i++) {
for (int j = 1; j <= 5; j++) {
System.out.print("* ");
}
System.out.println();
}
}
}
3. Print a diamond of stars
public class Main {
public static void main(String[] args) {
int n = 5;
// Print upper half of the diamond
for (int i = 1; i <= n; i++) {
for (int j = 1; j <= n - i; j++) {
System.out.print(" ");
}
for (int k = 1; k <= 2 * i - 1; k++) {
System.out.print("*");
}
System.out.println();
}
// Print lower half of the diamond
for (int i = n - 1; i >= 1; i--) {
for (int j = 1; j <= n - i; j++) {
System.out.print(" ");
}
for (int k = 1; k <= 2 * i - 1; k++) {
System.out.print("*");
}
System.out.println();
}
}
}
These are just a few examples, but you can print many other patterns in Java depending on your needs. The key is to use nested loops to iterate over the rows and columns of the pattern.
Let us learn some more star pattern programs in Java:
We have already covered the right triangle star pattern earlier in the article. Let us now check out the left triangle star pattern.
public class Main {
public static void main(String[] args) {
int rows = 5;
for (int i = 1; i <= rows; i++) {
for (int j = 1; j <= rows - i; j++) {
System.out.print(" ");
}
for (int k = 1; k <= i; k++) {
System.out.print("* ");
}
System.out.println();
}
}
}
public class Main {
public static void main(String[] args) {
int rows = 5;
for (int i = 1; i <= rows; i++) {
// Print spaces
for (int j = 1; j <= rows - i; j++) {
System.out.print(" ");
}
// Print stars
for (int k = 1; k <= 2 * i - 1; k++) {
System.out.print("* ");
}
System.out.println();
}
}
}
public class Main {
public static void main(String[] args) {
int rows = 5;
for (int i = rows; i >= 1; i--) {
for (int j = 1; j <= rows - i; j++) {
System.out.print(" ");
}
for (int k = 1; k <= 2 * i - 1; k++) {
System.out.print("* ");
}
System.out.println();
}
}
}
public class Main {
public static void main(String[] args) {
int rows = 5;
for (int i = 1; i <= rows; i++) {
for (int j = 1; j <= rows - i; j++) {
System.out.print(" ");
}
for (int k = 1; k <= i; k++) {
System.out.print("* ");
}
System.out.println();
}
}
}
public class Main {
public static void main(String[] args) {
int rows = 5;
for (int i = rows; i >= 1; i--) {
for (int j = 1; j <= rows - i; j++) {
System.out.print(" ");
}
for (int k = 1; k <= 2 * i - 1; k++) {
System.out.print("* ");
}
System.out.println();
}
}
}
public class Main {
public static void main(String[] args) {
int rows = 5;
// Upper Half
for (int i = 1; i <= rows; i++) {
for (int j = 1; j < i; j++) {
System.out.print(" ");
}
for (int k = i; k <= rows; k++) {
System.out.print("* ");
}
System.out.println();
}
// Lower Half
for (int i = rows - 1; i >= 1; i--) {
for (int j = 1; j < i; j++) {
System.out.print(" ");
}
for (int k = i; k <= rows; k++) {
System.out.print("* ");
}
System.out.println();
}
}
}
public class Main {
public static void main(String[] args) {
int rows = 5;
int number = 1;
for (int i = 1; i <= rows; i++) {
for (int j = 1; j <= i; j++) {
System.out.print(number + " ");
number++;
}
System.out.println();
}
}
}
In this code, the outer for loop controls the number of rows in the pattern. It starts from i = 1 and goes up to rows, representing the total number of rows in the pattern.
Within each row, the inner for loop is responsible for printing the numbers. It starts from j = 1 and goes up to i, ensuring that the number of numbers printed in each row matches the current row number.
The number variable keeps track of the current number to be printed. It starts with 1 and increments after printing each number.
The System.out.println() statement is placed outside the inner loop to move to the next line after printing the numbers for each row.
public class Main {
public static void main(String[] args) {
int rows = 5;
for (int i = 0; i < rows; i++) {
int number = 1;
// Print spaces
for (int j = 0; j < rows - i - 1; j++) {
System.out.print(" ");
}
// Print numbers
for (int j = 0; j <= i; j++) {
System.out.printf("%-4d", number);
number = number * (i - j) / (j + 1);
}
System.out.println();
}
}
}
public class Main {
public static void main(String[] args) {
int rows = 5;
for (int i = 0; i < rows; i++) {
int number = 1;
// Print numbers
for (int j = 0; j <= i; j++) {
System.out.printf("%-4d", number);
number = number * (i - j) / (j + 1);
}
System.out.println();
}
}
}
Let us learn some character pattern programs in Java:
public class Main {
public static void main(String[] args) {
int rows = 5;
char currentChar = 'A';
for (int i = 1; i <= rows; i++) {
for (int j = 1; j <= i; j++) {
System.out.print(currentChar + " ");
currentChar++;
}
System.out.println();
}
}
}
public class Main {
public static void main(String[] args) {
int rows = 5;
char currentChar = 'A';
for (int i = 1; i <= rows; i++) {
for (int j = 1; j <= i; j++) {
System.out.print(currentChar + " ");
currentChar++;
if (currentChar > 'Z') {
currentChar = 'A';
}
}
System.out.println();
}
}
}
Here are some more Java pattern programs:
public class Main {
public static void main(String[] args) {
int rows = 5;
for (int i = 1; i <= rows; i++) {
for (int j = 1; j <= rows; j++) {
if (i == 1 || i == rows || j == 1 || j == rows) {
System.out.print("* ");
} else {
System.out.print(" ");
}
}
System.out.println();
}
}
}
public class Main {
public static void main(String[] args) {
int rows = 5;
int number = 1;
for (int i = 1; i <= rows; i++) {
for (int j = 1; j <= rows - i; j++) {
System.out.print(" ");
}
for (int k = 1; k <= i; k++) {
System.out.print(number + " ");
number++;
}
System.out.println();
}
}
}
public class Main {
public static void main(String[] args) {
int rows = 5;
int number = 1;
for (int i = rows; i >= 1; i--) {
for (int j = 1; j <= rows - i; j++) {
System.out.print(" ");
}
for (int k = 1; k <= i; k++) {
System.out.print(number + " ");
number++;
}
System.out.println();
}
}
}
public class Main {
public static void main(String[] args) {
int rows = 5;
int spaces = rows - 1;
int midRow = rows / 2;
for (int i = 0; i < rows; i++) {
for (int j = 0; j < spaces; j++) {
System.out.print(" ");
}
System.out.print("* ");
if (i >= midRow) {
int innerSpaces = 2 * (i - midRow) + 1;
for (int j = 0; j < innerSpaces; j++) {
System.out.print(" ");
}
System.out.print("*");
}
System.out.println();
spaces--;
}
}
}
public class Main {
public static void main(String[] args) {
int rows = 5;
for (int i = 1; i <= rows; i++) {
for (int j = 1; j <= i; j++) {
int value = (i + j) % 2;
System.out.print(value + " ");
}
System.out.println();
}
}
}
public class Main {
public static void main(String[] args) {
int rows = 5;
for (int i = 1; i <= rows; i++) {
int num = 1;
for (int j = 1; j <= rows - i; j++) {
System.out.print(" ");
}
for (int k = 1; k <= i; k++) {
System.out.print(num + " ");
num++;
}
num -= 2;
for (int k = 1; k <= i - 1; k++) {
System.out.print(num + " ");
num--;
}
System.out.println();
}
}
}
public class Main {
public static void main(String[] args) {
int rows = 5;
for (int i = 1; i <= rows; i++) {
for (int j = 1; j <= rows - i; j++) {
System.out.print(" ");
}
for (int k = 1; k <= 2 * i - 1; k++) {
System.out.print("* ");
}
System.out.println();
}
for (int i = rows - 1; i >= 1; i--) {
for (int j = 1; j <= rows - i; j++) {
System.out.print(" ");
}
for (int k = 1; k <= 2 * i - 1; k++) {
System.out.print("* ");
}
System.out.println();
}
}
}
public class Main {
public static void main(String[] args) {
int rows = 5;
for (int i = rows; i >= 1; i--) {
for (int j = 1; j <= i; j++) {
System.out.print("* ");
}
System.out.println();
}
}
}
public class Main {
public static void main(String[] args) {
int rows = 5;
for (int i = 1; i <= rows; i++) {
for (int j = 1; j <= rows - i; j++) {
System.out.print(" ");
}
for (int k = 1; k <= 2 * i - 1; k++) {
if (k == 1 || k == 2 * i - 1) {
System.out.print("*");
} else {
System.out.print(" ");
}
}
System.out.println();
}
for (int i = rows - 1; i >= 1; i--) {
for (int j = 1; j <= rows - i; j++) {
System.out.print(" ");
}
for (int k = 1; k <= 2 * i - 1; k++) {
if (k == 1 || k == 2 * i - 1) {
System.out.print("*");
} else {
System.out.print(" ");
}
}
System.out.println();
}
}
}
public class Main {
public static void main(String[] args) {
int rows = 5;
for (int i = 1; i <= rows; i++) {
for (int j = 1; j < i; j++) {
System.out.print(" ");
}
for (int k = 1; k <= (rows - i + 1) * 2 - 1; k++) {
if (k == 1 || k == (rows - i + 1) * 2 - 1 || i == 1 || i == rows) {
System.out.print("*");
} else {
System.out.print(" ");
}
}
System.out.println();
}
for (int i = rows - 1; i >= 1; i--) {
for (int j = 1; j < i; j++) {
System.out.print(" ");
}
for (int k = 1; k <= (rows - i + 1) * 2 - 1; k++) {
if (k == 1 || k == (rows - i + 1) * 2 - 1 || i == 1 || i == rows) {
System.out.print("*");
} else {
System.out.print(" ");
}
}
System.out.println();
}
}
}
This tutorial provided a glimpse of what pattern programs in Java are with several examples. It is an important part of Java, and you can master it with the help of materials available on the internet. If you need further help and want to learn to program professionally, enroll in one of the many computer science courses offered by learning platforms like upGrad.
1. What are some common patterns that can be printed in Java?
Some common patterns include triangles (right, isosceles, equilateral), squares (filled, hollow), rectangles, diamonds, pyramids, and zigzag lines. A number triangle pattern in Java is also common.
2. How do I print a pattern in reverse order?
To print a pattern in reverse order, you can use nested loops and adjust the loop conditions and the order of printing the characters or strings to reverse the pattern.
3. How do I print a pattern of numbers instead of characters or strings?
You can use nested loops to replace the character or printed string with the desired number. You can also use arithmetic operations or conditional statements to print a specific pattern of numbers.
Take the Free Quiz on Java
Answer quick questions and assess your Java knowledge
Author|900 articles published
Talk to our experts. We are available 7 days a week, 9 AM to 12 AM (midnight)
Indian Nationals
1800 210 2020
Foreign Nationals
+918068792934
1.The above statistics depend on various factors and individual results may vary. Past performance is no guarantee of future results.
2.The student assumes full responsibility for all expenses associated with visas, travel, & related costs. upGrad does not provide any a.