Learnings

  • Static Initialization Blocks are mainly used to initialize static fields of a class.
  • Objects are instances within a class
  • Methods: certain set of code that runs a specific task
  • Non static methods are dot operators
  • Void methods don't return values, hence void
  • Strings are created with String class constructor
  • Wrapper class: integer and double class are part of java.lang

Concatenation

  • Combines strings together
  • Must be string to string
String a = "I like";
String b = " turtles";
System.out.println(a + b + " a lot!");
I like turtles a lot!

Math Class

  • Can do mathematical operations such as square root and power
  • Random num generator
int a = 100;
int b = 23;
// Absolute value
Math.abs(a/b);
4

Comparing numbers/strings/objects

  • Can check if numbers are equal using "==" or "!="
  • .equals() used for strings
int a = 4;
int b = 4;
int c = 5;

// same
System.out.println(a == b);

// dif
System.out.println(a == c);

// does not equal
System.out.println(a != b);

String j = new String("wow");
String l = new String("wow");
String k = new String("not wow");

// Comparing strings
System.out.println(j == l);
System.out.println(j == k);

// Using .equals()
System.out.println(j.equals(l));
true
false
false
false
false
true
// FRQ 1a

public int scoreGuess(String guess)
{
    int count = 0;
    for (int i = 0; i <= secret.length() - guess.length(); i++)
    {
        if (secret.substring(i, i + guess.length()).equals(guess))
        {
            count++;
        }
    }
    return count * guess.length();
}
// FRQ 1b

public String findBetterGuess(String guess1, String guess2)
{
    if (scoreGuess(guess1) > scoreGuess(guess2))
    {
        return guess1;
    }
    if (scoreGuess(guess2) > scoreGuess(guess1))
    {
        return guess2;
    }
    if (guess1.compareTo(guess2) > 0)
    {
        return guess1;
    }
    return guess2;
}