Kotlinlearncs.online LogoJava

    ← Prev


    Next →

    • Lists and Type Parameters : 20

    • Imports and Libraries : 19

    • Multidimensional Arrays : 18

    • Practice with Strings : 17

    • null : 16

    • Algorithms and Strings : 15

    • Strings : 14

    • Functions and Algorithms : 13

    • Practice with Functions : 12

    • More About Functions : 11

    • Errors and Debugging : 10

    • Functions : 9

    • Practice with Loops and Algorithms : 8

    • Algorithms I : 7

    • Loops : 6

    • Arrays : 5

    • Compound Conditionals : 4

    • Conditional Expressions and Statements : 3

    • Operations on Variables : 2

    • Variables and Types : 1

    • Hello, world! : 0

    Imports and Libraries

    import java.util.Random;
    import java.util.Date;
    import java.util.Arrays;
    Date date = new Date();
    Random random = new Random();
    if (random.nextBoolean()) {
    } else {
    boolean[] values = new boolean[8];
    Arrays.fill(values, false);

    This may be the most important lesson of the entire course! All kinds of other people are creating and freely sharing useful Java code! And now you’ll learn how to build on top of those contributions. Don’t try to do it yourself! You are not alone…

    Objects Beyond String
    Objects Beyond String

    So far our understanding of Java objects has focused on Strings. We’ve seen how to create them using new:

    String s = new String("test");

    And how to access useful String methods, like length, substring, and split. And we’ve used these methods to solve problems:

    String s = new String("test@illinois.edu");
    String[] parts = s.split("@");

    Strings are built in to Java, meaning that we don’t need to use import statements to access them. But Java allows you to access lots of other kinds of objects that might be useful for solving other kinds of problems! This lesson looks at how to access these other objects in your own code and provides some examples of useful objects and libraries.

    import and Libraries
    import and Libraries

    Computer science is a remarkably collaborative field. In no other pursuit are millions of people all across the world so freely willing to share their creations!

    Because of this, changing the world through your code has never been easier. Let’s see how!

    First, let’s see how we find interesting and useful Java code that is part of the Java standard library.

    Next, let’s see how to actually load those library classes into our project.

    // import

    Practice: Format Date Method

    Created By: Geoffrey Challen
    / Version: 2020.10.0

    Complete the method below formatDate. It should accept a positive long representing milliseconds since 1970 and return a String containing the ISO-8601 representation of this time. Here is one example for a recent timestamp: given 1602106609897 your function should return "2020-10-07T21:36:49.897Z".

    Do not overthink this. The solution we are after is a single line of code. We suggest that you explore the various built-in Java libraries for working with dates and times.

    We have provided starter code so that you can tell where the import statements should go. Ignore the public class Question stuff, since we haven't covered that yet.

    Example Libraries
    Example Libraries

    Now let’s look at a few useful parts of the Java Standard Library. No claim that these are the most useful parts! They’re just a few examples of code that is already out there for you to use!


    Looking to make your Java programs more interesting? Try introducing some randomess! Let’s see how.

    // java.util.Random


    Arrays are useful, but they seem to be missing a few features. Let’s explore where they are hiding out!

    // java.util.Arrays


    Computers can do math, right? That might be useful! Let’s get past +, -, *, and /.

    // java.util.Arrays


    One of the most important part of the Java Standard Library is the collections framework. It provides a variety of different ways of store things.

    We certainly couldn’t do it justice here. But we’ll be covering several of these incredibly useful classes over the next few lessons!

    Homework: Compare Date Strings

    Created By: Geoffrey Challen
    / Version: 2021.9.0

    Completed the method below called compareDates that, given two non-null Strings containing datetimes in ISO-8601 format, returns -1 if the first time is before the second, 1 if the second is before the first, and 0 if they are equal.

    When you are done, here is how your method should work:

    You will want to approach this in two steps. First, convert each String into some kind of datetime representation. We suggest that you explore the various built-in Java libraries for working with dates and times. Don't attempt to do this yourself!

    Next, use the resulting object to compare the two datetimes. We might suggest that you explore the java.time.Instant class and its parse and other methods. We have provided some starter code so that you can identify where the import statements should go. Ignore the public class Question stuff, since we haven't covered that yet.

    More Practice

    Need more practice? Head over to the practice page.