Skip to content
21 changes: 14 additions & 7 deletions src/ArrayPractice.java
Original file line number Diff line number Diff line change
@@ -1,18 +1,25 @@
public class ArrayPractice {
public class ArrayPractice {
public static void main(String[] args) {
// Create an array of Strings of size 4

String [] wordStrings = new String[4];
// Set the value of the array at each index to be a different String
// It's OK to do this one-by-one

wordStrings[0] = "10";
wordStrings[1] = "20";
wordStrings[2] = "30";
wordStrings[3] = "40";
// Get the value of the array at index 2

System.out.println("The value at index 2 is " + wordStrings[2]);
// Get the length of the array

System.out.println("The length of the array is " + wordStrings.length);
// Iterate over the array using a traditional for loop and print out each item

for (int i = 0; i < wordStrings.length; i++) {
System.out.println("The value at index " + i + " is " + wordStrings[i]);
}
// Iterate over the array using a for-each loop and print out each item

for (String word : wordStrings) {
System.out.println("The value is " + word);
}
/*
* Reminder!
*
Expand Down
29 changes: 20 additions & 9 deletions src/ListPractice.java
Original file line number Diff line number Diff line change
@@ -1,28 +1,40 @@
import java.util.ArrayList;
import java.util.Collections;

public class ListPractice {


public static void main(String[] args) {
// Create an empty ArrayList of Strings and assign it to a variable of type List
ArrayList<String> list = new ArrayList<String>();
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Here and elsewhere, use interface types (List, Map, etc.) where appropriate.
For example:
List<String> strings = new ArrayList<>();
Note that the type on the left is List, not ArrayList. When we do this, we're more flexible to be able to change our code to use a different type of list later.

Similarly for maps:
Map<String, String> myMap = new HashMap<>();
Note that on the left we use Map instead of HashMap.

In summary:

  • interface type on left to declare type (List, Map, etc.)
  • Concrete type on right to instantiate instance (HashMap, ArrayList etc.)


// Add 3 elements to the list (OK to do one-by-one)

list.add("Apple");
list.add("Banana");
list.add("Cherry");
// Print the element at index 1

// Replace the element at index 1 with a new value
System.out.println(list.get(1));
// Replace he element at index 1 with a new value
// (Do not insert a new value. The length of the list should not change)

list.set(1, "Grapes");
// Insert a new element at index 0 (the length of the list will change)

list.add(0, "Mango");
// Check whether the list contains a certain string

list.contains("Pineapple");
// Iterate over the list using a traditional for-loop.
// Print each index and value on a separate line

for (int i = 0; i < list.size(); i++) {
System.out.println("index" + i + ": " + list.get(i));
}
// Sort the list using the Collections library

Collections.sort(list);
// Iterate over the list using a for-each loop
// Print each value on a second line
for (int i = 0; i < list.size(); i++) {
System.out.println(list.get(i));
}

}
/*
* Usage tip!
*
Expand All @@ -33,4 +45,3 @@ public static void main(String[] args) {
* index values a for-each loop is cleaner.
*/
}
}
41 changes: 29 additions & 12 deletions src/MapPractice.java
Original file line number Diff line number Diff line change
@@ -1,29 +1,46 @@

import java.util.HashMap;

public class MapPractice {
public static void main(String[] args) {
// Create a HashMap with String keys and Integer values and
// assign it to a variable of type Map

HashMap<String, Integer> map = new HashMap<>();
// Put 3 different key/value pairs in the Map
// (it's OK to do this one-by-one)

map.put("Apple", 1);
map.put("Pineapple", 2);
map.put("Pear", 3);

// Get the value associated with a given key in the Map

System.out.println("The value associated with Apple is " + map.get("Apple"));
// Find the size (number of key/value pairs) of the Map

// Replace the value associated with a given key (the size of the Map shoukld not change)

System.out.println("The size of the map is " + map.size());
// Replace the value associated with a given key (the size of the Map should not change)
map.put("Apple", 5);
// Check whether the Map contains a given key

if (map.containsKey("Apple")) {
System.out.println("The map contains Apple");
}else{
System.out.println("The map does not contain Apple");
}
// Check whether the Map contains a given value

if (map.containsValue(5)) {
System.out.println("The map contains the value of 5")
}else{
System.out.println("The map does not contain the value of 5");
}
// Iterate over the keys of the Map, printing each key

for (String key : map.keySet()) {
System.out.println(key);
}
// Iterate over the values of the map, printing each value

for (Integer value : map.values()) {
System.out.println(value);
}
// Iterate over the entries in the map, printing each key and value

for (HashMap.Entry<String, Integer> entry : map.entrySet()) {
System.out.println("Key: " + entry.getKey() + ", Value: " + entry.getValue());
}
/*
* Usage tip!
*
Expand Down
19 changes: 13 additions & 6 deletions src/NumberPractice.java
Original file line number Diff line number Diff line change
@@ -1,18 +1,25 @@
public class NumberPractice {
public static void main(String args[]) {
public class NumberPractice {
public static void main(String args[]) {
// Create a float with a negative value and assign it to a variable

float negative_Float = -20;
// Create an int with a positive value and assign it to a variable

int positive_Int = 200;
// Use the modulo % operator to find the remainder when the int is divided by 3
int remainder = positive_Int % 3;

// Use the modulo % operator to determine whether the number is even
// (A number is even if it has a remainder of zero when divided by 2)
// Use an if-else to print "Even" if the number is even and "Odd"
// if the number is odd.

int evenCheck = positive_Int % 2;
if (evenCheck == 0) {
System.out.println("Even");
}else {
System.out.println("Odd");
}
// Divide the number by another number using integer division

int num_Division = positive_Int / 7;
System.out.println(num_Division);
/*
* Reminder!
*
Expand Down
33 changes: 23 additions & 10 deletions src/Person.java
Original file line number Diff line number Diff line change
Expand Up @@ -6,16 +6,26 @@
public class Person {
// Declare a public String instance variable for the name of the person
// Declare a private int instance variable for the age of the person

public String name;
private int age;

// Create a constructor that takes the name and age of the person
// and assigns it to the instance variables


public Person(String name, int age) {
this.name = name;
this.age = age;
}

// Create a toString method that gives the name and age of the person

public String toString() {
return "Name: " + name + ", Age: " + age;
}

// Implement the below public instance method "birthYear"
public int birthYear(int currentYear) {
return currentYear - age;
}
// There should NOT be any print statement in this method.
/**
* birthYear returns the year the person was born.
Expand All @@ -28,26 +38,29 @@ public class Person {
* @return The year the person was born
*/
// (create the instance method here)

public int birthYear(int currentYear) {
return currentYear - age;
}

public static void main(String[] args) {
// Create an instance of Person
Person person1 = new Person("Alice", 30);

// Create another instance of Person with a different name and age and
// assign it to a different variable

Person person2 = new Person("Bob", 25);
// Print the first person

System.out.println(person1);
// Print the second person

System.out.println(person2);
// Get the name of the first person and store it in a local variable

String firstPersonName = person1.name;
// Using the birthYear method, get the birth year of the first person
// and store it in a local variable. Input the actual current year (e.g. 2025)
// as the argument.

int birthYear = person1.birthYear(2025);
// In a separate statement, print the local variable holding the birth year.

System.out.println("Birth year of " + firstPersonName + " is " + birthYear);
/**
* Terminology!
*
Expand Down
23 changes: 19 additions & 4 deletions src/SetPractice.java
Original file line number Diff line number Diff line change
@@ -1,18 +1,33 @@
import java.util.HashSet;
import java.util.Set;

public class SetPractice {
public static void main(String[] args) {
// Create a HashSet of Strings and assign it to a variable of type Set

Set<String> set = new HashSet<String>();
// Add 3 elements to the set
// (It's OK to do it one-by-one)

set.add("Apple");
set.add("Banana");
set.add("Cherry");

// Check whether the Set contains a given String
if (set.contains("Banana")) {
System.out.println("The set contains Banana");
} else {
System.out.println("The set does not contain Banana");
}

// Remove an element from the Set

set.remove("Apple");

// Get the size of the Set

System.out.println("The size of the set is " + set.size());
// Iterate over the elements of the Set, printing each one on a separate line

for (String item : set) {
System.out.println(item);
}
/*
* Warning!
*
Expand Down
44 changes: 35 additions & 9 deletions src/StringPractice.java
Original file line number Diff line number Diff line change
@@ -1,26 +1,52 @@
import java.util.ArrayList;

public class StringPractice {
public static void main(String[] args) {
// Create a string with at least 5 characters and assign it to a variable

String[] fruits = {"Apple", "Mango", "Pineapple", "Kiwi", "Watermelon"};
// Find the length of the string

for ( String fruit : fruits) {
System.out.println("The length of " + fruit + " is " + fruit.length());
}
// Concatenate (add) two strings together and reassign the result

String joinString = String.join(", ", fruits);
System.out.println(joinString);
// Find the value of the character at index 3

String fruit = fruits[0];
System.out.println("The character at index 3 of " + fruit + " is " + fruit.charAt(3));
// Check whether the string contains a given substring (i.e. does the string have "abc" in it?)

for (String fruit : fruits) {
if (fruit.contains("abc")) {
System.out.println("The string contains abc");
} else {
System.out.println("The string does not contain abc");
}
}

// Iterate over the characters of the string, printing each one on a separate line

for (String fruit : fruits) {
for (int i = 0; i < fruit.length(); i++) {
System.out.println(fruit.charAt(i));
}
}
// Create an ArrayList of Strings and assign it to a variable

ArrayList<String> List = new ArrayList<String>();
// Add multiple strings to the List (OK to do one-by-one)

List.add("Apple");
List.add("Mango");
List.add("Banana");
// Join all of the strings in the list together into a single string separated by commas
// Use a built-in method to achieve this instead of using a loop
String joinedString = String.join(", ", List);
System.out.println(joinedString);

// Check whether two strings are equal

if (List.get(0).equals("Apple")) {
System.out.println("The first string is Apple");
} else {
System.out.println("The first string is not Apple");
}

/*
* Reminder!
*
Expand Down