Java

  • Download Java OpenJDK, Standard Edition (SE)
    https://www.azul.com/downloads/?package=jdk#download-openjdk

    Download the Zulu Community OpenJDK, an open-source version of the Java Development Kit (JDK) Standard Edition (SE), before installing any development environments.

  • Download: JavaFX
    https://openjfx.io/

    Download the latest version of the JavaFX GUI toolkit.

  • Java (Beginner) Programming Tutorials (thenewboston)
    https://www.youtube.com/playlist?list=PLFE2CE09D83EE3E28

    Series of short, helpful YouTube video tutorials by Bucky Roberts on Java programming. Covers the same material as the CS218 Java Programming course, as well as graphics and GUI programming.

  • Jenkov: Java Language Tutorial
    http://tutorials.jenkov.com/java/index.html

    Tutorial by Jakob Jenkov introducing Java and the fundamentals of Java programming; covers all of the material in the CS218 Java Programming course. Good place to start if you are a beginner new to Java.

  • Learn Java Programming with Examples (Beginner's Book)
    https://beginnersbook.com/java-tutorial-for-beginners-with-examples/

    A series of Java tutorials by Beginner's Book that discusses the basics of Java. Covers the same material as the CS218 Java Programming course. Includes many sample programs that you can copy and run yourself.

  • A Guide to Java Sockets (Baeldung)
    https://www.baeldung.com/a-guide-to-java-sockets

    Tutorial and reference by Baeldung on using TCP and UDP sockets in Java. Includes basic examples that demonstrate Java's java.net.Socket class in action.

  • CodingBat Recursion Exercises
    http://codingbat.com/java/Recursion-1

    Basic and advanced recursion programming exercises in Java to help you " think recursively ".

  • Eclipse: Changing the Java Code Style Formatting
    http://jpgrady28.azurewebsites.net/Home/Docs/228

    Tutorial walking you through how to edit your Java code style formatting preferences using Eclipse's Formatter tool. Shows you how to set the size of tab indents; the format of code comments; and the placement of curly braces and control statements.

  • Eclipse: Downloading & Enabling Javadocs
    http://jpgrady28.azurewebsites.net/Home/Docs/231

    Tutorial that shows you how to download the Java 10 Standard Edition (SE) documentation (or "Javadocs"), then link it to Eclipse. Doing so gives you access to the Javadoc for a class or method directly in Eclipse's code editor.

  • Eclipse: Fixing Broken Code Auto-completion
    https://stackoverflow.com/questions/908489/eclipse-java-code-completion-not-working

    A stackoverflow thread that explains how to fix Eclipse code auto-completion (i.e., Content Assist) if it stops working. Restore the default options for Content Assist by following the accepted answer's solution.

  • Eclipse: Generating Javadocs
    http://jpgrady28.azurewebsites.net/Home/Docs/235

    Tutorial that walks you through the process of generating Javadocs for your commented Java classes.

  • Gluon Scene Builder Download
    http://gluonhq.com/products/scene-builder/

    The "official" window-based tool for creating JavaFX GUIs; similar to Window Builder for Java Swing.

  • Install Java OpenJDK 11 on Windows (stackoverflow)
    https://stackoverflow.com/questions/52511778/how-to-install-openjdk-11-on-windows

    A stackoverflow thread on how to install Java OpenJDK 11 on Windows. The accepted answer walks you through the steps, including setting your JAVA_HOME and PATH environmental variables.

  • Introduction to Genetic Algorithms
    https://towardsdatascience.com/introduction-to-genetic-algorithms-including-example-code-e396e98d8bf3

    Helpful tutorial by Vijini Mallawaarachchi that explains how genetic algorithms work. Includes a generic example coded in Java.

  • Java Math Class
    https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/lang/Math.html

    The official Javadoc and API for the Java Math class.

  • Java Cheat Sheets & Examples - Vogella
    http://www.vogella.com/tutorials/JavaIntroduction/article.html#cheatsheets

    Quick reference for basic Java language syntax: classes, instance variables, local variables, methods and constructors. Includes easy-to-understand examples with clear, concise explanations.

  • Java Client Technologies (Java2D, Swing, and JavaFX)
    http://docs.oracle.com/javase/8/javase-clienttechnologies.htm

    Home page for all of Java's 2D graphics and GUI platforms. Includes many links to tutorials and examples on JavaFX, Java2D, and Java Swing

  • Java Formatted Strings
    https://www.homeandlearn.co.uk/java/java_formatted_strings.html

    Tutorial from Home and Learn on using Java's System.out.printf() command and its formatting syntax. Provides examples of formatting strings, integers, and decimal numbers. You can use the same formatting syntax with Java's String.format() method.

  • Java I/O Streams Tutorial
    http://docs.oracle.com/javase/tutorial/essential/io/streams.html

    Oracle tutorial on input and output streams in Java. Also includes explanations and examples of how to use the File class.

  • Java Serialization (tutorialspoint)
    https://www.tutorialspoint.com/java/java_serialization.htm

    Tutorial by tutorialspoint demonstrating how to serialize and deserialize Java objects. Examples include the use of the transient to mark fields that should not be serialized.

  • Java Tutorial: Printing an Array Using a For Loop
    http://jpgrady28.azurewebsites.net/Home/Docs/240

    Interactive tutorial demonstrating how to use a for loop to print the elements of an array in Java.

  • Java: Math Class Examples
    https://www.geeksforgeeks.org/java-lang-math-class-in-java-set-1/

    Tutorial and program example from GeeksforGeeks showing how to use some of the most commonly-used methods of Java's Math class.

  • Java: Random class
    https://www.digitalocean.com/community/tutorials/java-random

    Tutorial from Digital Ocean demonstrating how to use Java's Random class with examples. Also includes the newer Random class method introduced in Java 8.

  • Java: Scanner Class
    https://www.geeksforgeeks.org/scanner-class-in-java/

    Tutorial that shows you how to use Java's Scanner class to read user input from a console. Demonstrates the class's most popular methods for reading input, as well as those for validating input.

  • Java: String class
    https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/lang/String.html

    The official Javadoc and API of the Java String class.

  • Java: JDBC Connection Example
    https://docs.microsoft.com/en-us/sql/connect/jdbc/connection-url-sample

    Example code from Microsoft showing you how to connect to a SQL Server database from a Java progam. Also includes a link for downloading the necessary JDBC database drivers for SQL Server.

  • Java: Loops
    https://www.geeksforgeeks.org/loops-in-java/

    Tutorial that discusses loops and how to write them in Java. Covers the basics of loops and Java syntax for while, for, and do-while loops. Includes examples that you can view and run.

  • Java: Setting the PATH environment variable
    http://java.com/en/download/help/path.xml

    This page explains how to set the PATH variable on a variety of operating systems. Setting the path to your Java JDK distribution makes it easier to compile and run Java source and class files, respectively, from anywhere on your machine. NOTE: Set your PATH variable prior to running Eclipse for the first time to prevent startup errors.

  • Java: String Format Examples
    https://dzone.com/articles/java-string-format-examples

    Examples using Java's String.format() method to format numbers and dates. Also includes a reference for Java's format specifiers (useful with the System.out.printf() method, too).

  • Java: Using String.format()
    https://www.dotnetperls.com/format-java

    Tutorial with examples of how to format numbers, dates, and time in Java using the String.format() method.

  • Javadoc Tutorial
    https://www.protechtraining.com/content/java_fundamentals_tutorial-javadoc

    Brief tutorial on Javadocs, Java's formal, standardized documentation of code. Explains why Javadocs are useful, how they're used, and how you can create them for your own Java classes. Describes doc comment formatting, tags, and styles with an example.

  • Jenkov: Java NumberFormat Tutorial
    http://tutorials.jenkov.com/java-internationalization/numberformat.html

    Examples showing you how to use Java's NumberFormat class to format numbers, currencies, and percentages.

  • Jenkov: Java SimpleDateFormat Tutorial
    http://tutorials.jenkov.com/java-internationalization/simpledateformat.html

    Tutorial and examples showing you how to format dates and time using Java's SimpleDateFormat class.

  • Jenkov: Java Collections Tutorial
    http://tutorials.jenkov.com/java-collections/index.html

    Tutorial on Java's bulit-in data structures, including the ArrayList, HashMap, and SortedMap classes covered in the CS218 Java Programming and CS216 Data Structures courses

  • Jenkov: Java Date Time Tutorial
    http://tutorials.jenkov.com/java-date-time/index.html

    Tutorial covering the original Date Time API, as well as the newer Date Time API introduced in Java 8.

  • Jenkov: Java Exceptions Tutorial
    http://tutorials.jenkov.com/java-exception-handling/index.html

    Covers try-catch blocks, try-with-resource blocks, checked vs. unchecked exceptions, and other related topics.

  • Jenkov: Java I/O Tutorial
    http://tutorials.jenkov.com/java-io/index.html

    Covers all things related to Java input and output: files, streams, readers. Covers many of the I/O classes individually.

  • Jenkov: Java JDBC Tutorial
    http://tutorials.jenkov.com/jdbc/index.html

    Tutorial by Jakob Jenkov introducing JDBC and how to write Java programs that interact with a relational database. Discusses opening connections, using the PreparedStatement class to build SQL statements securely, and how to use the ResultSet to process data.

  • Jenkov: Java Map Tutorial
    http://tutorials.jenkov.com/java-collections/map.html

    Tutorial (written and video) focusing specifically on Java's Map structures, including the HashMap, and TreeMap classes. Demonstrates how to create a map, add items, get items remove items, check if a key exists, and more.

  • Microsoft JDBC Driver for SQL Server: Download
    https://docs.microsoft.com/en-us/sql/connect/jdbc/download-microsoft-jdbc-driver-for-sql-server?view=sql-server-ver15

    Download page for the latest version of Microsoft's JDBC Driver for SQL Server. Allows your Java programs to connect to SQL Server databases.

  • SEI CERT Oracle Coding Standard for Java (Security)
    https://wiki.sei.cmu.edu/confluence/display/java/SEI+CERT+Oracle+Coding+Standard+for+Java

    Wiki maintained by Carnegie Mellon's Software Engineering Institute detailing recommended coding practices and rules for writing secure Java applications.

  • Sorting: Quicksort Algorithm (Joe James)
    https://www.youtube.com/watch?v=Fiot5yuwPAg

    Video tutorial by Joe James that walks you through how the basic quicksort algorithm works, as well as the Java implementation of quicksort. Also discusses the pros and cons of choosing a certain array items as pivot values.

  • Writing JUnit 4 Tests in Eclipse IDE
    http://www.bogotobogo.com/TestingFramworks/JUnit/JUnit_Eclipse_Plugin.php

    Tutorial demonstrating how to write and run JUnit 4 unit tests in Eclipse. NOTE: The tutorial uses an older version (Luna) of Eclipse, but the same steps apply to the current version.