diff --git a/ab-java-loops-and-version-control/.gitignore b/ab-java-loops-and-version-control/.gitignore
new file mode 100644
index 0000000..5ff6309
--- /dev/null
+++ b/ab-java-loops-and-version-control/.gitignore
@@ -0,0 +1,38 @@
+target/
+!.mvn/wrapper/maven-wrapper.jar
+!**/src/main/**/target/
+!**/src/test/**/target/
+
+### IntelliJ IDEA ###
+.idea/modules.xml
+.idea/jarRepositories.xml
+.idea/compiler.xml
+.idea/libraries/
+*.iws
+*.iml
+*.ipr
+
+### Eclipse ###
+.apt_generated
+.classpath
+.factorypath
+.project
+.settings
+.springBeans
+.sts4-cache
+
+### NetBeans ###
+/nbproject/private/
+/nbbuild/
+/dist/
+/nbdist/
+/.nb-gradle/
+build/
+!**/src/main/**/build/
+!**/src/test/**/build/
+
+### VS Code ###
+.vscode/
+
+### Mac OS ###
+.DS_Store
\ No newline at end of file
diff --git a/ab-java-loops-and-version-control/.idea/.gitignore b/ab-java-loops-and-version-control/.idea/.gitignore
new file mode 100644
index 0000000..26d3352
--- /dev/null
+++ b/ab-java-loops-and-version-control/.idea/.gitignore
@@ -0,0 +1,3 @@
+# Default ignored files
+/shelf/
+/workspace.xml
diff --git a/ab-java-loops-and-version-control/.idea/encodings.xml b/ab-java-loops-and-version-control/.idea/encodings.xml
new file mode 100644
index 0000000..aa00ffa
--- /dev/null
+++ b/ab-java-loops-and-version-control/.idea/encodings.xml
@@ -0,0 +1,7 @@
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/ab-java-loops-and-version-control/.idea/misc.xml b/ab-java-loops-and-version-control/.idea/misc.xml
new file mode 100644
index 0000000..fdc35ea
--- /dev/null
+++ b/ab-java-loops-and-version-control/.idea/misc.xml
@@ -0,0 +1,14 @@
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/ab-java-loops-and-version-control/.idea/vcs.xml b/ab-java-loops-and-version-control/.idea/vcs.xml
new file mode 100644
index 0000000..6c0b863
--- /dev/null
+++ b/ab-java-loops-and-version-control/.idea/vcs.xml
@@ -0,0 +1,6 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/ab-java-loops-and-version-control/pom.xml b/ab-java-loops-and-version-control/pom.xml
new file mode 100644
index 0000000..c8e7850
--- /dev/null
+++ b/ab-java-loops-and-version-control/pom.xml
@@ -0,0 +1,17 @@
+
+
+ 4.0.0
+
+ org.example
+ ab-java-loops-and-version-control
+ 1.0-SNAPSHOT
+
+
+ 21
+ 21
+ UTF-8
+
+
+
\ No newline at end of file
diff --git a/ab-java-loops-and-version-control/src/main/java/Main.java b/ab-java-loops-and-version-control/src/main/java/Main.java
new file mode 100644
index 0000000..f0bcb61
--- /dev/null
+++ b/ab-java-loops-and-version-control/src/main/java/Main.java
@@ -0,0 +1,54 @@
+public class Main {
+
+ private static final int x = 2;
+ private static final int y = 5;
+
+ public static void main(String[] args) {
+
+ }
+
+ public static int minMaxDifference(int[] nums) {
+ int min = Integer.MAX_VALUE;
+ int max = Integer.MIN_VALUE;
+
+ for (int num : nums) {
+ if (num < min) {
+ min = num;
+ }
+ if (num > max) {
+ max = num;
+ }
+ }
+
+ return max - min;
+ }
+
+ public static void printSmallestAndSecondSmallest(int[] arr) {
+ if (arr.length < 2) {
+ System.out.println("Array must contain at least two elements.");
+ return;
+ }
+
+ int smallest = Integer.MAX_VALUE;
+ int secondSmallest = Integer.MAX_VALUE;
+
+ for (int num : arr) {
+ if (num < smallest) {
+ secondSmallest = smallest;
+ smallest = num;
+ } else if (num < secondSmallest && num != smallest) {
+ secondSmallest = num;
+ }
+ }
+
+ if(secondSmallest == Integer.MAX_VALUE){
+ secondSmallest = smallest;
+ }
+ System.out.println("Smallest: " + smallest + ", Second Smallest: " + secondSmallest);
+
+ }
+
+ public static int expression(){
+ return x*x + (4*y/5 - x)*(4*y/5 - x);
+ }
+}