René's URL Explorer Experiment


Title: Modern Java

Description: Book teaching how to write modern and effective Java.

direct link

Domain: together-java.github.io

theme-color#ffffff

Links:

1. Preludehttps://together-java.github.io/ModernJava/prelude.html
1.1. Asking for Helphttps://together-java.github.io/ModernJava/prelude/asking_for_help.html
1.2. Toy Problemshttps://together-java.github.io/ModernJava/prelude/toy_problems.html
1.3. Lieshttps://together-java.github.io/ModernJava/prelude/lies.html
1.4. AIhttps://together-java.github.io/ModernJava/prelude/ai.html
1.5. Javahttps://together-java.github.io/ModernJava/prelude/java.html
2. Set Up Your Computerhttps://together-java.github.io/ModernJava/text_editors/set_up_your_computer.html
2.1. Text Editorshttps://together-java.github.io/ModernJava/text_editors.html
2.2. IDEshttps://together-java.github.io/ModernJava/text_editors/ides.html
2.3. VSCodiumhttps://together-java.github.io/ModernJava/text_editors/vscodium.html
2.4. Install VSCodiumhttps://together-java.github.io/ModernJava/text_editors/install_vscodium.html
2.5. Install Javahttps://together-java.github.io/ModernJava/text_editors/install_java.html
3. The Terminalhttps://together-java.github.io/ModernJava/the_terminal.html
3.1. Bashhttps://together-java.github.io/ModernJava/the_terminal/bash.html
3.2. Windows Subsystem for Linuxhttps://together-java.github.io/ModernJava/the_terminal/windows_subsystem_for_linux.html
3.3. Chromebooks and School Computershttps://together-java.github.io/ModernJava/the_terminal/chromebooks_and_school_computers.html
3.4. Commandshttps://together-java.github.io/ModernJava/the_terminal/commands.html
3.5. Directorieshttps://together-java.github.io/ModernJava/the_terminal/directories.html
3.6. Listing Fileshttps://together-java.github.io/ModernJava/the_terminal/listing_files.html
3.7. Creating Directorieshttps://together-java.github.io/ModernJava/the_terminal/creating_directories.html
3.8. Changing Directorieshttps://together-java.github.io/ModernJava/the_terminal/changing_directories.html
3.9. Creating Fileshttps://together-java.github.io/ModernJava/the_terminal/creating_files.html
3.10. Run Java Programshttps://together-java.github.io/ModernJava/the_terminal/run_java_programs.html
3.11. Getting Used to ithttps://together-java.github.io/ModernJava/the_terminal/getting_used_to_it.html
4. First Stepshttps://together-java.github.io/ModernJava/first_steps.html
4.1. Commentshttps://together-java.github.io/ModernJava/first_steps/comments.html
4.2. Semicolonshttps://together-java.github.io/ModernJava/first_steps/semicolon.html
4.3. Formattinghttps://together-java.github.io/ModernJava/first_steps/formatting.html
4.4. Challengeshttps://together-java.github.io/ModernJava/first_steps/challenges.html
5. Local Variableshttps://together-java.github.io/ModernJava/variables.html
5.1. Naminghttps://together-java.github.io/ModernJava/variables/naming.html
5.2. Reassignmenthttps://together-java.github.io/ModernJava/variables/reassignment.html
5.3. Delayed Assignmenthttps://together-java.github.io/ModernJava/variables/delayed_assignment.html
5.4. Typeshttps://together-java.github.io/ModernJava/variables/types.html
5.5. Final Variableshttps://together-java.github.io/ModernJava/variables/final_variables.html
5.6. Inferred Typeshttps://together-java.github.io/ModernJava/variables/inferred_types.html
5.7. Challengeshttps://together-java.github.io/ModernJava/variables/challenges.html
6. Booleanshttps://together-java.github.io/ModernJava/boolean.html
6.1. Nothttps://together-java.github.io/ModernJava/boolean/not.html
6.2. Andhttps://together-java.github.io/ModernJava/boolean/and.html
6.3. Orhttps://together-java.github.io/ModernJava/boolean/or.html
6.4. Operator Precedencehttps://together-java.github.io/ModernJava/boolean/operator_precedence.html
6.5. Challengeshttps://together-java.github.io/ModernJava/boolean/challenges.html
7. Integershttps://together-java.github.io/ModernJava/integers.html
7.1. Integer Literalshttps://together-java.github.io/ModernJava/integers/integer_literals.html
7.2. Additionhttps://together-java.github.io/ModernJava/integers/addition.html
7.3. Subtractionhttps://together-java.github.io/ModernJava/integers/subtraction.html
7.4. Multiplicationhttps://together-java.github.io/ModernJava/integers/multiplication.html
7.5. Divisionhttps://together-java.github.io/ModernJava/integers/division.html
7.6. Remainderhttps://together-java.github.io/ModernJava/integers/remainder.html
7.7. Equalityhttps://together-java.github.io/ModernJava/integers/equality.html
7.8. Comparisonhttps://together-java.github.io/ModernJava/integers/comparison.html
7.9. Chained Comparisonshttps://together-java.github.io/ModernJava/integers/chained_comparisons.html
7.10. Operator Precedencehttps://together-java.github.io/ModernJava/integers/operator_precedence.html
7.11. Reassignmenthttps://together-java.github.io/ModernJava/integers/reassignment.html
7.12. Shorthands for Reassignmenthttps://together-java.github.io/ModernJava/integers/shorthands_for_reassignment.html
7.13. Limitshttps://together-java.github.io/ModernJava/integers/limits.html
7.14. Challengeshttps://together-java.github.io/ModernJava/integers/challenges.html
8. Floating Point Numbershttps://together-java.github.io/ModernJava/floating_point_numbers.html
8.1. Floating Point Literalshttps://together-java.github.io/ModernJava/floating_point_numbers/floating_point_literals.html
8.2. Accuracyhttps://together-java.github.io/ModernJava/floating_point_numbers/accuracy.html
8.3. Additionhttps://together-java.github.io/ModernJava/floating_point_numbers/addition.html
8.4. Subtractionhttps://together-java.github.io/ModernJava/floating_point_numbers/subtraction.html
8.5. Multiplicationhttps://together-java.github.io/ModernJava/floating_point_numbers/multiplication.html
8.6. Divisionhttps://together-java.github.io/ModernJava/floating_point_numbers/division.html
8.7. Equalityhttps://together-java.github.io/ModernJava/floating_point_numbers/equality.html
8.8. Comparisonhttps://together-java.github.io/ModernJava/floating_point_numbers/comparison.html
8.9. Shorthands for Reassignmenthttps://together-java.github.io/ModernJava/floating_point_numbers/shorthands_for_reassignment.html
8.10. NaNhttps://together-java.github.io/ModernJava/floating_point_numbers/nan.html
8.11. Positive and Negative Infinityhttps://together-java.github.io/ModernJava/floating_point_numbers/positive_and_negative_infinity.html
8.12. Square Roothttps://together-java.github.io/ModernJava/floating_point_numbers/square_root.html
8.13. Conversion to Integershttps://together-java.github.io/ModernJava/floating_point_numbers/conversion_to_integers.html
8.14. Conversion from Integershttps://together-java.github.io/ModernJava/floating_point_numbers/conversion_from_integers.html
8.15. Challengeshttps://together-java.github.io/ModernJava/floating_point_numbers/challenges.html
9. Charactershttps://together-java.github.io/ModernJava/characters.html
9.1. Character Literalshttps://together-java.github.io/ModernJava/characters/character_literals.html
9.2. Common Escape Sequenceshttps://together-java.github.io/ModernJava/characters/common_escape_sequences.html
9.3. Conversion to Integershttps://together-java.github.io/ModernJava/characters/conversion_to_integers.html
9.4. Conversion from Integershttps://together-java.github.io/ModernJava/characters/conversion_from_integers.html
9.5. Unicodehttps://together-java.github.io/ModernJava/characters/unicode.html
9.6. Challengeshttps://together-java.github.io/ModernJava/characters/challenges.html
10. Stringshttps://together-java.github.io/ModernJava/strings.html
10.1. String Literalshttps://together-java.github.io/ModernJava/strings/string_literals.html
10.2. Common Escape Sequenceshttps://together-java.github.io/ModernJava/strings/common_escape_sequences.html
10.3. The Empty Stringhttps://together-java.github.io/ModernJava/strings/empty_string.html
10.4. Multiline String Literalshttps://together-java.github.io/ModernJava/strings/multiline.html
10.5. Concatenationhttps://together-java.github.io/ModernJava/strings/concatenation.html
10.6. Equalityhttps://together-java.github.io/ModernJava/strings/equality.html
10.7. Lengthhttps://together-java.github.io/ModernJava/strings/length.html
10.8. Access Individual Charactershttps://together-java.github.io/ModernJava/strings/access_individual_characters.html
10.9. Challengeshttps://together-java.github.io/ModernJava/strings/challenges.html
11. Standard Inputhttps://together-java.github.io/ModernJava/standard_input.html
11.1. Promptinghttps://together-java.github.io/ModernJava/standard_input/prompting.html
11.2. Interpreting Inputhttps://together-java.github.io/ModernJava/standard_input/interpreting_input.html
11.3. Integershttps://together-java.github.io/ModernJava/standard_input/integers.html
11.4. Floating Point Numbershttps://together-java.github.io/ModernJava/standard_input/floating_point_numbers.html
11.5. Other Typeshttps://together-java.github.io/ModernJava/standard_input/other_types.html
11.6. Challengeshttps://together-java.github.io/ModernJava/standard_input/challenges.html
12. Branching Pathshttps://together-java.github.io/ModernJava/branching_paths.html
12.1. Ifhttps://together-java.github.io/ModernJava/branching_logic/if.html
12.2. Nested Ifshttps://together-java.github.io/ModernJava/branching_logic/nested_ifs.html
12.3. Elsehttps://together-java.github.io/ModernJava/branching_logic/else.html
12.4. Else Ifhttps://together-java.github.io/ModernJava/branching_logic/else_if.html
12.5. Relation to Delayed Assignmenthttps://together-java.github.io/ModernJava/branching_logic/relation_to_delayed_assignment.html
12.6. Scoped Variableshttps://together-java.github.io/ModernJava/branching_logic/scoped_variables.html
12.7. Conditional Operatorhttps://together-java.github.io/ModernJava/branching_logic/conditional_operator.html
12.8. Boolean Expressionshttps://together-java.github.io/ModernJava/branching_logic/boolean_expressions.html
12.9. Challengeshttps://together-java.github.io/ModernJava/branching_logic/challenges.html
13. Loopshttps://together-java.github.io/ModernJava/loops.html
13.1. Whilehttps://together-java.github.io/ModernJava/loops/while.html
13.2. Endless Loopshttps://together-java.github.io/ModernJava/loops/endless_loops.html
13.3. Breakhttps://together-java.github.io/ModernJava/loops/break.html
13.4. Continuehttps://together-java.github.io/ModernJava/loops/continue.html
13.5. Unreachable Codehttps://together-java.github.io/ModernJava/loops/unreachable_code.html
13.6. Do Whilehttps://together-java.github.io/ModernJava/loops/do_while.html
13.7. Nested Loopshttps://together-java.github.io/ModernJava/loops/nested_loops.html
13.8. Labeled Breakhttps://together-java.github.io/ModernJava/loops/labeled_break.html
13.9. Labeled Continuehttps://together-java.github.io/ModernJava/loops/labeled_continue.html
13.10. Iterationhttps://together-java.github.io/ModernJava/loops/iteration.html
13.11. Counting Uphttps://together-java.github.io/ModernJava/loops/counting_up.html
13.12. Counting Downhttps://together-java.github.io/ModernJava/loops/counting_down.html
13.13. Iterate over a Stringhttps://together-java.github.io/ModernJava/loops/iterate_over_a_string.html
13.14. Challengeshttps://together-java.github.io/ModernJava/loops/challenges.html
14. Preludehttps://together-java.github.io/ModernJava/projects/prelude.html
15. Calorie Trackerhttps://together-java.github.io/ModernJava/projects/calorie_tracker.html
16. Arrayshttps://together-java.github.io/ModernJava/arrays.html
16.1. Array Initializershttps://together-java.github.io/ModernJava/arrays/array_initializers.html
16.2. Lengthhttps://together-java.github.io/ModernJava/arrays/length.html
16.3. Access Individual Elementshttps://together-java.github.io/ModernJava/arrays/access_individual_elements.html
16.4. Set Individual Elementshttps://together-java.github.io/ModernJava/arrays/set_individual_elements.html
16.5. Aliasinghttps://together-java.github.io/ModernJava/arrays/aliasing.html
16.6. Reassignmenthttps://together-java.github.io/ModernJava/arrays/reassignment.html
16.7. Relation to Final Variableshttps://together-java.github.io/ModernJava/arrays/relation_to_final_variables.html
16.8. Printing the Contents of an Arrayhttps://together-java.github.io/ModernJava/arrays/printing_the_contents_of_an_array.html
16.9. Empty Arrayhttps://together-java.github.io/ModernJava/arrays/empty_array.html
16.10. Difference between Initializer and Literalhttps://together-java.github.io/ModernJava/arrays/difference_between_initializer_and_literal.html
16.11. Initialization with newhttps://together-java.github.io/ModernJava/arrays/initialization_with_new.html
16.12. Challengeshttps://together-java.github.io/ModernJava/arrays/challenges.html
17. Loops IIhttps://together-java.github.io/ModernJava/loops_ii.html
17.1. Forhttps://together-java.github.io/ModernJava/loops_ii/for.html
17.2. For Syntaxhttps://together-java.github.io/ModernJava/loops_ii/for_syntax.html
17.3. Counting Up and Downhttps://together-java.github.io/ModernJava/loops_ii/for_counting_up_and_down.html
17.4. Iterate over a Stringhttps://together-java.github.io/ModernJava/loops_ii/iterate_over_a_string.html
17.5. Iterate over an Arrayhttps://together-java.github.io/ModernJava/loops_ii/iterate_over_an_array.html
17.6. Comparison to whilehttps://together-java.github.io/ModernJava/loops_ii/comparison_to_while.html
17.7. ihttps://together-java.github.io/ModernJava/loops_ii/i.html
17.8. Breakhttps://together-java.github.io/ModernJava/loops_ii/break.html
17.9. Continuehttps://together-java.github.io/ModernJava/loops_ii/continue.html
17.10. Delayed Assignmenthttps://together-java.github.io/ModernJava/loops_ii/delayed_assignment.html
17.11. Inferred Typeshttps://together-java.github.io/ModernJava/loops_ii/inferred_types.html
17.12. Empty Initializershttps://together-java.github.io/ModernJava/loops_ii/empty_initializers.html
17.13. Empty Expressionshttps://together-java.github.io/ModernJava/loops_ii/empty_expressions.html
17.14. Empty Statementshttps://together-java.github.io/ModernJava/loops_ii/empty_statements.html
17.15. Final Variableshttps://together-java.github.io/ModernJava/loops_ii/final_variables.html
17.16. Labeled Breakhttps://together-java.github.io/ModernJava/loops_ii/labeled_break.html
17.17. Labeled Continuehttps://together-java.github.io/ModernJava/loops_ii/labeled_continue.html
17.18. Drawing Right Triangleshttps://together-java.github.io/ModernJava/loops_ii/drawing_right_triangles.html
17.19. Drawing Isosceles Triangleshttps://together-java.github.io/ModernJava/loops_ii/drawing_isosceles_triangles.html
17.20. Challengeshttps://together-java.github.io/ModernJava/loops_ii/challenges.html
18. Methodshttps://together-java.github.io/ModernJava/methods.html
18.1. Declarationhttps://together-java.github.io/ModernJava/methods/declaration.html
18.2. Invocationhttps://together-java.github.io/ModernJava/methods/invocation.html
18.3. Scopehttps://together-java.github.io/ModernJava/methods/scope.html
18.4. mainhttps://together-java.github.io/ModernJava/methods/main.html
18.5. Challengeshttps://together-java.github.io/ModernJava/methods/challenges.html
19. Argumentshttps://together-java.github.io/ModernJava/arguments.html
19.1. Declarationhttps://together-java.github.io/ModernJava/arguments/declaration.html
19.2. Invocation with Argumentshttps://together-java.github.io/ModernJava/arguments/invocation_with_arguments.html
19.3. Reassignmenthttps://together-java.github.io/ModernJava/arguments/reassignment.html
19.4. Final Argumentshttps://together-java.github.io/ModernJava/arguments/final_arguments.html
19.5. Aliasinghttps://together-java.github.io/ModernJava/arguments/aliasing.html
19.6. Overloadinghttps://together-java.github.io/ModernJava/arguments/overloading.html
19.7. Inferred Typeshttps://together-java.github.io/ModernJava/arguments/inferred_types.html
19.8. Challengeshttps://together-java.github.io/ModernJava/arguments/challenges.html
20. Return Valueshttps://together-java.github.io/ModernJava/return_values.html
20.1. Declarationhttps://together-java.github.io/ModernJava/return_values/declaration.html
20.2. Return Statementhttps://together-java.github.io/ModernJava/return_values/return_statement.html
20.3. Exhaustivenesshttps://together-java.github.io/ModernJava/return_values/exhaustiveness.html
20.4. voidhttps://together-java.github.io/ModernJava/return_values/void.html
20.5. Return in void methodshttps://together-java.github.io/ModernJava/return_values/return_in_void_methods.html
20.6. Conversionhttps://together-java.github.io/ModernJava/return_values/conversion.html
20.7. Unreachable Statementshttps://together-java.github.io/ModernJava/return_values/unreachable_statements.html
20.8. Challengeshttps://together-java.github.io/ModernJava/return_values/challenges.html
21. Multi-Dimensional Arrayshttps://together-java.github.io/ModernJava/multi_dimensional_arrays.html
21.1. Declarationhttps://together-java.github.io/ModernJava/multi_dimensional_arrays/declaration.html
21.2. Array Initializershttps://together-java.github.io/ModernJava/multi_dimensional_arrays/array_initializers.html
21.3. Initialization with newhttps://together-java.github.io/ModernJava/multi_dimensional_arrays/initialization_with_new.html
21.4. Access Individual Elementshttps://together-java.github.io/ModernJava/multi_dimensional_arrays/access_individual_elements.html
21.5. Set Individual Elementshttps://together-java.github.io/ModernJava/multi_dimensional_arrays/set_individual_elements.html
21.6. Initialization with Sizehttps://together-java.github.io/ModernJava/multi_dimensional_arrays/initialize_with_size.html
21.7. Default Valueshttps://together-java.github.io/ModernJava/multi_dimensional_arrays/default_values.html
21.8. Populate Valueshttps://together-java.github.io/ModernJava/multi_dimensional_arrays/populate_values.html
21.9. Ragged Arrayshttps://together-java.github.io/ModernJava/multi_dimensional_arrays/ragged_arrays.html
21.10. Challengeshttps://together-java.github.io/ModernJava/multi_dimensional_arrays/challenges.html
22. ASCII Art Generatorhttps://together-java.github.io/ModernJava/projects/ascii_art.html
23. nullhttps://together-java.github.io/ModernJava/null.html
23.1. Null as Absencehttps://together-java.github.io/ModernJava/null/null_as_absence.html
23.2. Null as Unknownhttps://together-java.github.io/ModernJava/null/null_as_unknown.html
23.3. Checking for nullhttps://together-java.github.io/ModernJava/null/checking_for_null.html
23.4. NullPointerExceptionhttps://together-java.github.io/ModernJava/null/null_pointer_exception.html
23.5. Challengeshttps://together-java.github.io/ModernJava/null/challenges.html
24. Boxed Primitiveshttps://together-java.github.io/ModernJava/boxed_primitives.html
24.1. Integerhttps://together-java.github.io/ModernJava/boxed_primitives/integer.html
24.2. Doublehttps://together-java.github.io/ModernJava/boxed_primitives/double.html
24.3. Characterhttps://together-java.github.io/ModernJava/boxed_primitives/character.html
24.4. Booleanhttps://together-java.github.io/ModernJava/boxed_primitives/boolean.html
24.5. Unboxing Conversionhttps://together-java.github.io/ModernJava/boxed_primitives/unboxing_conversion.html
24.6. Boxing Conversionhttps://together-java.github.io/ModernJava/boxed_primitives/boxing_conversion.html
24.7. Arrays of Boxed Primitiveshttps://together-java.github.io/ModernJava/boxed_primitives/arrays_of_boxed_primitives.html
24.8. Challengeshttps://together-java.github.io/ModernJava/boxed_primitives/challenges.html
25. Arrays IIhttps://together-java.github.io/ModernJava/arrays_ii.html
25.1. Initializion with Sizehttps://together-java.github.io/ModernJava/arrays_ii/initialization_with_size.html
25.2. Default Valueshttps://together-java.github.io/ModernJava/arrays_ii/default_values.html
25.3. Populate Arrayshttps://together-java.github.io/ModernJava/arrays_ii/populate_arrays.html
25.4. Challengeshttps://together-java.github.io/ModernJava/arrays_ii/challenges.html
26. Classeshttps://together-java.github.io/ModernJava/classes.html
26.1. The meaning of the word Classhttps://together-java.github.io/ModernJava/classes/the_meaning_of_the_word_class.html
26.2. Class Declarationhttps://together-java.github.io/ModernJava/classes/class_declaration.html
26.3. Naminghttps://together-java.github.io/ModernJava/classes/naming.html
26.4. Instanceshttps://together-java.github.io/ModernJava/classes/instances.html
26.5. Fieldshttps://together-java.github.io/ModernJava/classes/fields.html
26.6. Field Initializationhttps://together-java.github.io/ModernJava/classes/field_initialization.html
26.7. Field Accesshttps://together-java.github.io/ModernJava/classes/field_access.html
26.8. Field Default Valueshttps://together-java.github.io/ModernJava/classes/field_default_values.html
26.9. Aliasinghttps://together-java.github.io/ModernJava/classes/aliasing.html
26.10. Return Multiple Valueshttps://together-java.github.io/ModernJava/classes/return_multiple_values.html
26.11. Challengeshttps://together-java.github.io/ModernJava/classes/challenges.html
27. Instance Methodshttps://together-java.github.io/ModernJava/instance_methods.html
27.1. Invocationhttps://together-java.github.io/ModernJava/instance_methods/invocation.html
27.2. Argumentshttps://together-java.github.io/ModernJava/instance_methods/arguments.html
27.3. Field Accesshttps://together-java.github.io/ModernJava/instance_methods/field_access.html
27.4. Field Updateshttps://together-java.github.io/ModernJava/instance_methods/field_updates.html
27.5. Derived Valueshttps://together-java.github.io/ModernJava/instance_methods/derived_values.html
27.6. Invoke Other Methodshttps://together-java.github.io/ModernJava/instance_methods/invoke_other_methods.html
27.7. thishttps://together-java.github.io/ModernJava/instance_methods/this.html
27.8. Disambiguationhttps://together-java.github.io/ModernJava/instance_methods/disambiguation.html
27.9. Clarityhttps://together-java.github.io/ModernJava/instance_methods/clarity.html
27.10. Challengeshttps://together-java.github.io/ModernJava/instance_methods/challenges.html
28. Point of Sale Systemhttps://together-java.github.io/ModernJava/projects/point_of_sale_system.html
29. Enumshttps://together-java.github.io/ModernJava/enums.html
29.1. Declarationhttps://together-java.github.io/ModernJava/enums/declaration.html
29.2. Variantshttps://together-java.github.io/ModernJava/enums/variants.html
29.3. Naminghttps://together-java.github.io/ModernJava/enums/naming.html
29.4. Usagehttps://together-java.github.io/ModernJava/enums/usage.html
29.5. Equalityhttps://together-java.github.io/ModernJava/enums/equality.html
29.6. Comparison to booleanhttps://together-java.github.io/ModernJava/enums/comparison_to_boolean.html
29.7. Challengeshttps://together-java.github.io/ModernJava/enums/challenges.html
30. Strings IIhttps://together-java.github.io/ModernJava/strings_ii.html
30.1. lowercasehttps://together-java.github.io/ModernJava/strings_ii/lowercase.html
30.2. UPPERCASEhttps://together-java.github.io/ModernJava/strings_ii/UPPERCASE.html
30.3. Equality ignoring casehttps://together-java.github.io/ModernJava/strings_ii/equality_ignoring_case.html
30.4. Check if emptyhttps://together-java.github.io/ModernJava/strings_ii/check_if_empty.html
30.5. Check if blankhttps://together-java.github.io/ModernJava/strings_ii/check_if_blank.html
30.6. Strip extra whitespacehttps://together-java.github.io/ModernJava/strings_ii/strip_extra_whitespace.html
30.7. Challengeshttps://together-java.github.io/ModernJava/strings_ii/challenges.html
31. Exceptionshttps://together-java.github.io/ModernJava/exceptions.html
31.1. throwhttps://together-java.github.io/ModernJava/exceptions/throw.html
31.2. Messageshttps://together-java.github.io/ModernJava/exceptions/messages.html
31.3. Stack Traceshttps://together-java.github.io/ModernJava/exceptions/stack_traces.html
31.4. try/catchhttps://together-java.github.io/ModernJava/exceptions/try_catch.html
31.5. Challengeshttps://together-java.github.io/ModernJava/exceptions/challenges.html
32. Switchhttps://together-java.github.io/ModernJava/switch.html
32.1. Case and Defaulthttps://together-java.github.io/ModernJava/switch/case_and_default.html
32.2. Stringshttps://together-java.github.io/ModernJava/switch/strings.html
32.3. intshttps://together-java.github.io/ModernJava/switch/ints.html
32.4. Enumshttps://together-java.github.io/ModernJava/switch/enums.html
32.5. Omitted Defaulthttps://together-java.github.io/ModernJava/switch/omitted_default.html
32.6. Combining Caseshttps://together-java.github.io/ModernJava/switch/combining_cases.html
32.7. nullhttps://together-java.github.io/ModernJava/switch/null.html
32.8. Exhaustivenesshttps://together-java.github.io/ModernJava/switch/exhaustiveness.html
32.9. Challengeshttps://together-java.github.io/ModernJava/switch/challenges.html
33. Standard Input IIhttps://together-java.github.io/ModernJava/standard_input_ii.html
33.1. Repromptinghttps://together-java.github.io/ModernJava/standard_input_ii/reprompting.html
33.2. Enumshttps://together-java.github.io/ModernJava/standard_input_ii/enums.html
33.3. Delayed Assignmenthttps://together-java.github.io/ModernJava/standard_input_ii/delayed_assignment.html
33.4. Leniencyhttps://together-java.github.io/ModernJava/standard_input_ii/leniency.html
33.5. Aggregating Datahttps://together-java.github.io/ModernJava/standard_input_ii/aggregating_data.html
33.6. Challengeshttps://together-java.github.io/ModernJava/standard_input_ii/challenges.html
34. Constructorshttps://together-java.github.io/ModernJava/constructors.html
34.1. Declarationhttps://together-java.github.io/ModernJava/constructors/declaration.html
34.2. The Default Constructorhttps://together-java.github.io/ModernJava/constructors/the_default_constructor.html
34.3. Argumentshttps://together-java.github.io/ModernJava/constructors/arguments.html
34.4. Final Fieldshttps://together-java.github.io/ModernJava/constructors/final_fields.html
34.5. Invariantshttps://together-java.github.io/ModernJava/constructors/invariants.html
34.6. Overloadshttps://together-java.github.io/ModernJava/constructors/overloads.html
34.7. Delegationhttps://together-java.github.io/ModernJava/constructors/delegation.html
34.8. Challengeshttps://together-java.github.io/ModernJava/constructors/challenges.html
35. Global Fieldshttps://together-java.github.io/ModernJava/global_fields.html
35.1. Default Valueshttps://together-java.github.io/ModernJava/global_fields/default_values.html
35.2. Final Fieldshttps://together-java.github.io/ModernJava/global_fields/final_fields.html
35.3. Field Accesshttps://together-java.github.io/ModernJava/global_fields/field_access.html
35.4. Inferred Typeshttps://together-java.github.io/ModernJava/global_fields/inferred_types.html
35.5. Challengeshttps://together-java.github.io/ModernJava/global_fields/challenges.html
36. Tic-Tac-Toehttps://together-java.github.io/ModernJava/projects/tic_tac_toe.html
37. Code is Read more than Writtenhttps://together-java.github.io/ModernJava/code_is_read_more_than_written.html
37.1. Meaninghttps://together-java.github.io/ModernJava/code_is_read_more_than_written/meaning.html
37.2. Implicationshttps://together-java.github.io/ModernJava/code_is_read_more_than_written/implications.html
37.3. Information Densityhttps://together-java.github.io/ModernJava/code_is_read_more_than_written/information_density.html
37.4. Audiencehttps://together-java.github.io/ModernJava/code_is_read_more_than_written/audience.html
37.5. Practicehttps://together-java.github.io/ModernJava/code_is_read_more_than_written/practice.html
38. Exceptions IIhttps://together-java.github.io/ModernJava/exceptions_ii.html
38.1. Checked Exceptionshttps://together-java.github.io/ModernJava/exceptions_ii/checked_exceptions.html
38.2. Unchecked Exceptionshttps://together-java.github.io/ModernJava/exceptions_ii/unchecked_exceptions.html
38.3. throwshttps://together-java.github.io/ModernJava/exceptions_ii/throws.html
38.4. Propagating Exceptionshttps://together-java.github.io/ModernJava/exceptions_ii/propagating_exceptions.html
38.5. Exceptionhttps://together-java.github.io/ModernJava/exceptions_ii/exception.html
38.6. RuntimeExceptionhttps://together-java.github.io/ModernJava/exceptions_ii/runtime_exception.html
38.7. Rethrowing Exceptionshttps://together-java.github.io/ModernJava/exceptions_ii/rethrowing_exceptions.html
38.8. mainhttps://together-java.github.io/ModernJava/exceptions_ii/main.html
38.9. Challengeshttps://together-java.github.io/ModernJava/exceptions_ii/challenges.html
39. Switch IIhttps://together-java.github.io/ModernJava/switch_ii.html
39.1. Yieldhttps://together-java.github.io/ModernJava/switch_ii/yield.html
39.2. Omitted Yieldhttps://together-java.github.io/ModernJava/switch_ii/omitted_yield.html
39.3. Exhaustivenesshttps://together-java.github.io/ModernJava/switch_ii/exhaustiveness.html
39.4. Return a Switchhttps://together-java.github.io/ModernJava/switch_ii/return_a_switch.html
39.5. Challengeshttps://together-java.github.io/ModernJava/switch_ii/challenges.html
40. Multi-File Programshttps://together-java.github.io/ModernJava/multi_file_programs.html
40.1. The Sources folderhttps://together-java.github.io/ModernJava/multi_file_programs/the_sources_folder.html
40.2. The Main filehttps://together-java.github.io/ModernJava/multi_file_programs/the_main_file.html
40.3. A Second filehttps://together-java.github.io/ModernJava/multi_file_programs/a_second_file.html
40.4. File nameshttps://together-java.github.io/ModernJava/multi_file_programs/file_names.html
40.5. The Anonymous Main Classhttps://together-java.github.io/ModernJava/multi_file_programs/the_anonymous_main_class.html
40.6. Global Fieldshttps://together-java.github.io/ModernJava/multi_file_programs/global_fields.html
40.7. Challengeshttps://together-java.github.io/ModernJava/multi_file_programs/challenges.html
41. Visibilityhttps://together-java.github.io/ModernJava/visibility.html
41.1. Private Methodshttps://together-java.github.io/ModernJava/visibility/private_methods.html
41.2. Private Fieldshttps://together-java.github.io/ModernJava/visibility/private_fields.html
41.3. Invariantshttps://together-java.github.io/ModernJava/visibility/invariants.html
41.4. Accessorshttps://together-java.github.io/ModernJava/visibility/accessors.html
41.5. Getters and Settershttps://together-java.github.io/ModernJava/visibility/getter_and_setters.html
41.6. Challengeshttps://together-java.github.io/ModernJava/visibility/challenges.html
42. Static Fieldshttps://together-java.github.io/ModernJava/static_fields.html
42.1. Declarationhttps://together-java.github.io/ModernJava/static_fields/declaration.html
42.2. Initializationhttps://together-java.github.io/ModernJava/static_fields/initialization.html
42.3. Usagehttps://together-java.github.io/ModernJava/static_fields/usage.html
42.4. Constantshttps://together-java.github.io/ModernJava/static_fields/constants.html
42.5. Controversyhttps://together-java.github.io/ModernJava/static_fields/controversy.html
42.6. Naminghttps://together-java.github.io/ModernJava/static_fields/naming.html
42.7. Challengeshttps://together-java.github.io/ModernJava/static_fields/challenges.html
43. Static Methodshttps://together-java.github.io/ModernJava/static_methods.html
43.1. Declarationhttps://together-java.github.io/ModernJava/static_methods/declaration.html
43.2. Scopehttps://together-java.github.io/ModernJava/static_methods/scope.html
43.3. Naminghttps://together-java.github.io/ModernJava/static_methods/naming.html
43.4. Usagehttps://together-java.github.io/ModernJava/static_methods/usage.html
43.5. Mathhttps://together-java.github.io/ModernJava/static_methods/math.html
43.6. Factorieshttps://together-java.github.io/ModernJava/static_methods/factories.html
43.7. Challengeshttps://together-java.github.io/ModernJava/static_methods/challenges.html
44. Growable Arrayshttps://together-java.github.io/ModernJava/growable_arrays.html
44.1. Concepthttps://together-java.github.io/ModernJava/growable_arrays/concept.html
44.2. Simple Implementationhttps://together-java.github.io/ModernJava/growable_arrays/simple_implementation.html
44.3. Usagehttps://together-java.github.io/ModernJava/growable_arrays/usage.html
44.4. Performance Problemshttps://together-java.github.io/ModernJava/growable_arrays/performance_problems.html
44.5. Performance Solutionshttps://together-java.github.io/ModernJava/growable_arrays/performance_solutions.html
44.6. Optimized Implementationhttps://together-java.github.io/ModernJava/growable_arrays/optimized_implementation.html
44.7. Challengeshttps://together-java.github.io/ModernJava/growable_arrays/challenges.html
45. Command Line Argumentshttps://together-java.github.io/ModernJava/command_line_arguments.html
45.1. Accessing Argumentshttps://together-java.github.io/ModernJava/command_line_arguments/accessing_arguments.html
45.2. Conventionshttps://together-java.github.io/ModernJava/command_line_arguments/conventions.html
45.3. Challengeshttps://together-java.github.io/ModernJava/command_line_arguments/challenges.html
46. Inner Classeshttps://together-java.github.io/ModernJava/inner_classes.html
46.1. Typehttps://together-java.github.io/ModernJava/inner_classes/type.html
46.2. Instanceshttps://together-java.github.io/ModernJava/inner_classes/instances.html
46.3. New Operatorhttps://together-java.github.io/ModernJava/inner_classes/new_operator.html
46.4. Scopehttps://together-java.github.io/ModernJava/inner_classes/scope.html
46.5. Disambiguationhttps://together-java.github.io/ModernJava/inner_classes/disambiguation.html
46.6. The anonymous main classhttps://together-java.github.io/ModernJava/inner_classes/the_anonymous_main_class.html
46.7. Static Inner Classeshttps://together-java.github.io/ModernJava/inner_classes/static_inner_classes.html
46.8. Private Inner Classeshttps://together-java.github.io/ModernJava/inner_classes/private_inner_classes.html
46.9. Challengeshttps://together-java.github.io/ModernJava/inner_classes/challenges.html
47. Packageshttps://together-java.github.io/ModernJava/packages.html
47.1. Declarationhttps://together-java.github.io/ModernJava/packages/declaration.html
47.2. Visibilityhttps://together-java.github.io/ModernJava/packages/visibility.html
47.3. Public Classeshttps://together-java.github.io/ModernJava/packages/public_classes.html
47.4. Fully Qualified Class Namehttps://together-java.github.io/ModernJava/packages/fully_qualified_class_name.html
47.5. Importhttps://together-java.github.io/ModernJava/packages/import.html
47.6. Package Importshttps://together-java.github.io/ModernJava/packages/package_imports.html
47.7. The Default Packagehttps://together-java.github.io/ModernJava/packages/the_default_package.html
47.8. The Anonymous Main Classhttps://together-java.github.io/ModernJava/packages/the_anonymous_main_class.html
47.9. Public Methodshttps://together-java.github.io/ModernJava/packages/public_methods.html
47.10. Package-Private Methodshttps://together-java.github.io/ModernJava/packages/package_private_methods.html
47.11. Public Fieldshttps://together-java.github.io/ModernJava/packages/public_fields.html
47.12. Package-Private Fieldshttps://together-java.github.io/ModernJava/packages/package_private_fields.html
47.13. The Default Constructorhttps://together-java.github.io/ModernJava/packages/the_default_constructor.html
47.14. Public Constructorshttps://together-java.github.io/ModernJava/packages/public_constructors.html
47.15. Package-Private Constructorshttps://together-java.github.io/ModernJava/packages/package_private_constructors.html
47.16. Subpackageshttps://together-java.github.io/ModernJava/packages/subpackages.html
47.17. Reverse Domain Name Notationhttps://together-java.github.io/ModernJava/packages/reverse_domain_name_notation.html
47.18. Challengeshttps://together-java.github.io/ModernJava/packages/challenges.html
48. Recordshttps://together-java.github.io/ModernJava/records.html
48.1. Declarationhttps://together-java.github.io/ModernJava/records/declaration.html
48.2. The Canonical Constructorhttps://together-java.github.io/ModernJava/records/the_canonical_constructor.html
48.3. Component Accessorshttps://together-java.github.io/ModernJava/records/component_accessors.html
48.4. Component Accessor Visibilityhttps://together-java.github.io/ModernJava/records/component_accessor_visibility.html
48.5. Printing a Recordhttps://together-java.github.io/ModernJava/records/printing_a_record.html
48.6. Check for Equalityhttps://together-java.github.io/ModernJava/records/check_for_equality.html
48.7. Return Multiple Valueshttps://together-java.github.io/ModernJava/records/return_multiple_values.html
48.8. Shorthandhttps://together-java.github.io/ModernJava/records/shorthand.html
48.9. Challengeshttps://together-java.github.io/ModernJava/records/challenges.html
49. Integers IIhttps://together-java.github.io/ModernJava/integers_ii.html
49.1. Integer from a Stringhttps://together-java.github.io/ModernJava/integers_ii/integer_from_a_string.html
49.2. Integer to a Stringhttps://together-java.github.io/ModernJava/integers_ii/integer_to_a_string.html
49.3. Base 16 Integer Literalshttps://together-java.github.io/ModernJava/integers_ii/base_16_integer_literals.html
49.4. Integer from a Base 16 Stringhttps://together-java.github.io/ModernJava/integers_ii/integer_from_a_base_16_string.html
49.5. Integer to a Base 16 Stringhttps://together-java.github.io/ModernJava/integers_ii/integer_to_a_base_16_string.html
49.6. Underscores in Integer Literalshttps://together-java.github.io/ModernJava/integers_ii/underscores_in_integer_literals.html
49.7. Challengeshttps://together-java.github.io/ModernJava/integers_ii/challenges.html
50. Fileshttps://together-java.github.io/ModernJava/files.html
50.1. Pathshttps://together-java.github.io/ModernJava/files/paths.html
50.2. IOExceptionhttps://together-java.github.io/ModernJava/files/ioexception.html
50.3. UncheckedIOExceptionhttps://together-java.github.io/ModernJava/files/uncheckedioexception.html
50.4. Write to a Filehttps://together-java.github.io/ModernJava/files/write_to_a_file.html
50.5. Read from a Filehttps://together-java.github.io/ModernJava/files/read_from_a_file.html
50.6. Create a Folderhttps://together-java.github.io/ModernJava/files/creating_a_folder.html
50.7. Challengeshttps://together-java.github.io/ModernJava/files/challenges.html
51. Data Visualizationhttps://together-java.github.io/ModernJava/projects/data_visualization.html
52. Objecthttps://together-java.github.io/ModernJava/objects.html
52.1. Subtypeshttps://together-java.github.io/ModernJava/objects/subtypes.html
52.2. instanceofhttps://together-java.github.io/ModernJava/objects/instanceof.html
52.3. toStringhttps://together-java.github.io/ModernJava/objects/toString.html
52.4. Override toStringhttps://together-java.github.io/ModernJava/objects/override_toString.html
52.5. @Overridehttps://together-java.github.io/ModernJava/objects/override.html
52.6. equals and hashCodehttps://together-java.github.io/ModernJava/objects/equals_and_hashCode.html
52.7. Override equals and hashCodehttps://together-java.github.io/ModernJava/objects/override_equals_and_hashCode.html
52.8. Challengeshttps://together-java.github.io/ModernJava/objects/challenges.html
53. Genericshttps://together-java.github.io/ModernJava/generics.html
53.1. Type Variableshttps://together-java.github.io/ModernJava/generics/type_variables.html
53.2. Naminghttps://together-java.github.io/ModernJava/generics/naming.html
53.3. Instantiationhttps://together-java.github.io/ModernJava/generics/instantiation.html
53.4. Inferencehttps://together-java.github.io/ModernJava/generics/inference.html
53.5. Soundnesshttps://together-java.github.io/ModernJava/generics/soundness.html
53.6. Raw Typeshttps://together-java.github.io/ModernJava/generics/raw_types.html
53.7. Challengeshttps://together-java.github.io/ModernJava/generics/challenges.html
54. Interfaceshttps://together-java.github.io/ModernJava/interfaces.html
54.1. Interface Declarationhttps://together-java.github.io/ModernJava/interfaces/interface_declaration.html
54.2. Implementationhttps://together-java.github.io/ModernJava/interfaces/implementation.html
54.3. @Overridehttps://together-java.github.io/ModernJava/interfaces/override.html
54.4. Naminghttps://together-java.github.io/ModernJava/interfaces/naming.html
54.5. Subtypeshttps://together-java.github.io/ModernJava/interfaces/subtypes.html
54.6. Multiple Implementationshttps://together-java.github.io/ModernJava/interfaces/multiple_implementations.html
54.7. Challengeshttps://together-java.github.io/ModernJava/interfaces/challenges.html
55. Timehttps://together-java.github.io/ModernJava/time.html
55.1. Instanthttps://together-java.github.io/ModernJava/time/instant.html
55.2. Durationhttps://together-java.github.io/ModernJava/time/duration.html
55.3. LocalDatehttps://together-java.github.io/ModernJava/time/local_date.html
55.4. LocalTimehttps://together-java.github.io/ModernJava/time/local_time.html
55.5. LocalDateTimehttps://together-java.github.io/ModernJava/time/local_date_time.html
55.6. Time Zoneshttps://together-java.github.io/ModernJava/time/time_zones.html
55.7. ZonedDateTimehttps://together-java.github.io/ModernJava/time/zoned_date_time.html
55.8. OffsetDateTimehttps://together-java.github.io/ModernJava/time/offset_date_time.html
55.9. Datehttps://together-java.github.io/ModernJava/time/date.html
55.10. Challengeshttps://together-java.github.io/ModernJava/time/challenges.html
56. ArrayListhttps://together-java.github.io/ModernJava/array_list.html
56.1. Ubiquityhttps://together-java.github.io/ModernJava/array_list/ubiquity.html
56.2. Add an itemhttps://together-java.github.io/ModernJava/array_list/add_an_item.html
56.3. Sizehttps://together-java.github.io/ModernJava/array_list/size.html
56.4. Get an itemhttps://together-java.github.io/ModernJava/array_list/get_an_item.html
56.5. Loop over itemshttps://together-java.github.io/ModernJava/array_list/loop_over_items.html
56.6. Set an itemhttps://together-java.github.io/ModernJava/array_list/set_an_item.html
56.7. Remove an itemhttps://together-java.github.io/ModernJava/array_list/remove_an_item.html
56.8. Challengeshttps://together-java.github.io/ModernJava/array_list/challenges.html
57. HashMaphttps://together-java.github.io/ModernJava/hash_maps.html
57.1. Filing Cabinetshttps://together-java.github.io/ModernJava/hash_maps/filing_cabinets.html
57.2. Keys and Valueshttps://together-java.github.io/ModernJava/hash_maps/keys_and_values.html
57.3. Put Itemshttps://together-java.github.io/ModernJava/hash_maps/put_items.html
57.4. Get Itemshttps://together-java.github.io/ModernJava/hash_maps/get_items.html
57.5. Hash Functionshttps://together-java.github.io/ModernJava/hash_maps/hash_functions.html
57.6. Hash Collisionhttps://together-java.github.io/ModernJava/hash_maps/hash_collision.html
57.7. Hash Distributionhttps://together-java.github.io/ModernJava/hash_maps/hash_distribution.html
57.8. Reference Based Identityhttps://together-java.github.io/ModernJava/hash_maps/reference_based_identity.html
57.9. Value Based Identityhttps://together-java.github.io/ModernJava/hash_maps/value_based_identity.html
57.10. Appropriate Keyshttps://together-java.github.io/ModernJava/hash_maps/appropriate_keys.html
57.11. Ubiquityhttps://together-java.github.io/ModernJava/hash_maps/ubiquity.html
57.12. Challengeshttps://together-java.github.io/ModernJava/hash_maps/challenges.html
58. Hyrum's Lawhttps://together-java.github.io/ModernJava/hyrums_law.html
58.1. Authorityhttps://together-java.github.io/ModernJava/hyrums_law/authority.html
58.2. Validityhttps://together-java.github.io/ModernJava/hyrums_law/validity.html
58.3. Emergent Propertieshttps://together-java.github.io/ModernJava/hyrums_law/emergent_properties.html
58.4. Importancehttps://together-java.github.io/ModernJava/hyrums_law/importance.html
59. Switch IIIhttps://together-java.github.io/ModernJava/switch_iii.html
59.1. breakhttps://together-java.github.io/ModernJava/switch_iii/break.html
59.2. fallthroughhttps://together-java.github.io/ModernJava/switch_iii/fallthrough.html
59.3. returnhttps://together-java.github.io/ModernJava/switch_iii/return.html
59.4. defaulthttps://together-java.github.io/ModernJava/switch_iii/default.html
59.5. yieldhttps://together-java.github.io/ModernJava/switch_iii/yield.html
59.6. Challengeshttps://together-java.github.io/ModernJava/switch_iii/challenges.html
60. Recursionhttps://together-java.github.io/ModernJava/recursion.html
60.1. Disclaimerhttps://together-java.github.io/ModernJava/recursion/disclaimer.html
60.2. Base Casehttps://together-java.github.io/ModernJava/recursion/base_case.html
60.3. Comparison to Delegationhttps://together-java.github.io/ModernJava/recursion/comparison_to_delegation.html
60.4. Comparison to Loopshttps://together-java.github.io/ModernJava/recursion/comparison_to_loops.html
60.5. Counting Downhttps://together-java.github.io/ModernJava/recursion/counting_down.html
60.6. Accumulatorshttps://together-java.github.io/ModernJava/recursion/accumulators.html
60.7. Recurse Over a Stringhttps://together-java.github.io/ModernJava/recursion/recursing_over_strings.html
60.8. Recurse Over an Arrayhttps://together-java.github.io/ModernJava/recursion/recursing_over_arrays.html
60.9. Challengeshttps://together-java.github.io/ModernJava/recursion/challenges.html
61. Loops IIIhttps://together-java.github.io/ModernJava/loops_iii.html
61.1. For-each loopshttps://together-java.github.io/ModernJava/loops_iii/for_each_loops.html
61.2. Arrayshttps://together-java.github.io/ModernJava/loops_iii/arrays.html
61.3. Iterable and Iteratorhttps://together-java.github.io/ModernJava/loops_iii/iterable_and_iterator.html
61.4. ArrayListhttps://together-java.github.io/ModernJava/loops_iii/arraylist.html
61.5. Stringhttps://together-java.github.io/ModernJava/loops_iii/string.html
61.6. Concurrent Modificationshttps://together-java.github.io/ModernJava/loops_iii/concurrent_modifications.html
61.7. Inferred Typeshttps://together-java.github.io/ModernJava/loops_iii/inferred_types.html
61.8. Challengeshttps://together-java.github.io/ModernJava/loops_iii/challenges.html
62. Encapsulationhttps://together-java.github.io/ModernJava/encapsulation.html
62.1. Implementation Detailshttps://together-java.github.io/ModernJava/encapsulation/implementation_details.html
62.2. Implicit Interfaceshttps://together-java.github.io/ModernJava/encapsulation/implicit_interfaces.html
62.3. Methodshttps://together-java.github.io/ModernJava/encapsulation/methods.html
62.4. Classeshttps://together-java.github.io/ModernJava/encapsulation/classes.html
62.5. Abstractionhttps://together-java.github.io/ModernJava/encapsulation/abstractions.html
62.6. Couplinghttps://together-java.github.io/ModernJava/encapsulation/coupling.html
62.7. Leaky Abstractionshttps://together-java.github.io/ModernJava/encapsulation/leaky_abstractions.html
62.8. Information Hidinghttps://together-java.github.io/ModernJava/encapsulation/information_hiding.html
63. Collectionshttps://together-java.github.io/ModernJava/collections.html
63.1. Listhttps://together-java.github.io/ModernJava/collections/list.html
63.2. Maphttps://together-java.github.io/ModernJava/collections/map.html
63.3. Sethttps://together-java.github.io/ModernJava/collections/set.html
63.4. Arrayshttps://together-java.github.io/ModernJava/collections/arrays.html
63.5. UnsupportedOperationExceptionhttps://together-java.github.io/ModernJava/collections/unsupported_operation_exception.html
63.6. Factorieshttps://together-java.github.io/ModernJava/collections/factories.html
63.7. Specificityhttps://together-java.github.io/ModernJava/collections/specificity.html
63.8. Challengeshttps://together-java.github.io/ModernJava/collections/challenges.html
64. Reflectionhttps://together-java.github.io/ModernJava/reflection.html
64.1. Class Objectshttps://together-java.github.io/ModernJava/reflection/class_objects.html
64.2. Get all Fieldshttps://together-java.github.io/ModernJava/reflection/get_all_fields.html
64.3. Get a Fieldhttps://together-java.github.io/ModernJava/reflection/get_a_field.html
64.4. Read from a Fieldhttps://together-java.github.io/ModernJava/reflection/read_from_a_field.html
64.5. Write to a Fieldhttps://together-java.github.io/ModernJava/reflection/write_to_a_field.html
64.6. Get all Methodshttps://together-java.github.io/ModernJava/reflection/get_all_methods.html
64.7. Get a Methodhttps://together-java.github.io/ModernJava/reflection/get_a_method.html
64.8. Invoke a Methodhttps://together-java.github.io/ModernJava/reflection/invoke_a_method.html
64.9. Get a Constructorhttps://together-java.github.io/ModernJava/reflection/get_a_constructor.html
64.10. Get all Constructorshttps://together-java.github.io/ModernJava/reflection/get_all_constructors.html
64.11. Invoke a Constructorhttps://together-java.github.io/ModernJava/reflection/invoke_a_constructor.html
64.12. Challengeshttps://together-java.github.io/ModernJava/reflection/challenges.html
65. Annotationshttps://together-java.github.io/ModernJava/annotations.html
65.1. Declarationhttps://together-java.github.io/ModernJava/annotations/declaration.html
65.2. Usagehttps://together-java.github.io/ModernJava/annotations/usage.html
65.3. Elementshttps://together-java.github.io/ModernJava/annotations/elements.html
65.4. Usage with Elementshttps://together-java.github.io/ModernJava/annotations/usage_with_elements.html
65.5. Defaultshttps://together-java.github.io/ModernJava/annotations/defaults.html
65.6. @Targethttps://together-java.github.io/ModernJava/annotations/target.html
65.7. @Retentionhttps://together-java.github.io/ModernJava/annotations/retention.html
65.8. Reflective Accesshttps://together-java.github.io/ModernJava/annotations/reflective_access.html
65.9. @Overridehttps://together-java.github.io/ModernJava/annotations/override.html
65.10. Challengeshttps://together-java.github.io/ModernJava/annotations/challenges.html
66. Interfaces IIhttps://together-java.github.io/ModernJava/interfaces_ii.html
66.1. Default Methodshttps://together-java.github.io/ModernJava/interfaces_ii/default_methods.html
66.2. Interface Extensionhttps://together-java.github.io/ModernJava/interfaces_ii/interface_extension.html
66.3. Static Methodshttps://together-java.github.io/ModernJava/interfaces_ii/static_methods.html
66.4. Static Fieldshttps://together-java.github.io/ModernJava/interfaces_ii/static_fields.html
66.5. Challengeshttps://together-java.github.io/ModernJava/interfaces_ii/challenges.html
67. Class Extensionhttps://together-java.github.io/ModernJava/class_extension.html
67.1. Extend a Classhttps://together-java.github.io/ModernJava/class_extension/extend_a_class.html
67.2. Inheritancehttps://together-java.github.io/ModernJava/class_extension/inheritance.html
67.3. Overridehttps://together-java.github.io/ModernJava/class_extension/override.html
67.4. Protectedhttps://together-java.github.io/ModernJava/class_extension/protected.html
67.5. Abstract Classeshttps://together-java.github.io/ModernJava/class_extension/abstract_classes.html
67.6. Abstract Methodshttps://together-java.github.io/ModernJava/class_extension/abstract_methods.html
67.7. Relation to Interfaceshttps://together-java.github.io/ModernJava/class_extension/relation_to_interfaces.html
67.8. Relation to Encapsulationhttps://together-java.github.io/ModernJava/class_extension/relation_to_encapsulation.html
67.9. Final Classeshttps://together-java.github.io/ModernJava/class_extension/final_classes.html
67.10. Challengeshttps://together-java.github.io/ModernJava/class_extension/challenges.html
68. Niche Numericshttps://together-java.github.io/ModernJava/niche_numerics.html
68.1. bytehttps://together-java.github.io/ModernJava/niche_numerics/byte.html
68.2. shorthttps://together-java.github.io/ModernJava/niche_numerics/short.html
68.3. longhttps://together-java.github.io/ModernJava/niche_numerics/long.html
68.4. Unsigned Operationshttps://together-java.github.io/ModernJava/niche_numerics/unsigned_operations.html
68.5. floathttps://together-java.github.io/ModernJava/niche_numerics/float.html
68.6. Challengeshttps://together-java.github.io/ModernJava/niche_numerics/challenges.html
69. Music Makerhttps://together-java.github.io/ModernJava/projects/music_maker.html
70. Moduleshttps://together-java.github.io/ModernJava/modules.html
70.1. Declarationhttps://together-java.github.io/ModernJava/modules/declaration.html
70.2. Restrictionshttps://together-java.github.io/ModernJava/modules/restrictions.html
70.3. Exportshttps://together-java.github.io/ModernJava/modules/exports.html
70.4. Requireshttps://together-java.github.io/ModernJava/modules/requires.html
70.5. Module Importshttps://together-java.github.io/ModernJava/modules/module_imports.html
70.6. java.basehttps://together-java.github.io/ModernJava/modules/java.base.html
70.7. The Unnamed Modulehttps://together-java.github.io/ModernJava/modules/the_unnamed_module.html
70.8. Multi-Module Directory Layouthttps://together-java.github.io/ModernJava/modules/multi_module_directory_layout.html
70.9. Purposehttps://together-java.github.io/ModernJava/modules/purpose.html
70.10. Challengeshttps://together-java.github.io/ModernJava/modules/challenges.html
71. Lambdashttps://together-java.github.io/ModernJava/lambdas.html
71.1. Functional Interfaceshttps://together-java.github.io/ModernJava/lambdas/functional_interfaces.html
71.2. @FunctionalInterfacehttps://together-java.github.io/ModernJava/lambdas/functional_interface_annotation.html
71.3. Lambda Expressionshttps://together-java.github.io/ModernJava/lambdas/lambda_expressions.html
71.4. Argumentshttps://together-java.github.io/ModernJava/lambdas/arguments.html
71.5. Returnhttps://together-java.github.io/ModernJava/lambdas/return.html
71.6. Method Referenceshttps://together-java.github.io/ModernJava/lambdas/method_references.html
71.7. Constructor Referenceshttps://together-java.github.io/ModernJava/lambdas/constructor_references.html
71.8. Inferencehttps://together-java.github.io/ModernJava/lambdas/inference.html
71.9. Built-In Functional Interfaceshttps://together-java.github.io/ModernJava/lambdas/built_in_functional_interfaces.html
71.10. Checked Exceptionshttps://together-java.github.io/ModernJava/lambdas/checked_exceptions.html
71.11. Challengeshttps://together-java.github.io/ModernJava/lambdas/challenges.html
72. Compilationhttps://together-java.github.io/ModernJava/compilation.html
72.1. javachttps://together-java.github.io/ModernJava/compilation/javac.html
72.2. Class Fileshttps://together-java.github.io/ModernJava/compilation/class_files.html
72.3. Moduleshttps://together-java.github.io/ModernJava/compilation/modules.html
72.4. Compile Multiple Fileshttps://together-java.github.io/ModernJava/compilation/multiple_files.html
72.5. Cleanhttps://together-java.github.io/ModernJava/compilation/clean.html
72.6. -ghttps://together-java.github.io/ModernJava/compilation/g.html
72.7. Running Compiled Codehttps://together-java.github.io/ModernJava/compilation/running_compiled_code.html
72.8. Challengeshttps://together-java.github.io/ModernJava/compilation/challenges.html
73. Packaginghttps://together-java.github.io/ModernJava/packaging.html
73.1. jarhttps://together-java.github.io/ModernJava/packaging/jar.html
73.2. Jar Fileshttps://together-java.github.io/ModernJava/packaging/jar_files.html
73.3. --module-pathhttps://together-java.github.io/ModernJava/packaging/module_path.html
73.4. --main-classhttps://together-java.github.io/ModernJava/packaging/main_class.html
73.5. Librarieshttps://together-java.github.io/ModernJava/packaging/libraries.html
73.6. Challengeshttps://together-java.github.io/ModernJava/packaging/challenges.html
74. justhttps://together-java.github.io/ModernJava/just.html
74.1. Installationhttps://together-java.github.io/ModernJava/just/installation.html
74.2. Justfilehttps://together-java.github.io/ModernJava/just/justfile.html
74.3. Recipeshttps://together-java.github.io/ModernJava/just/recipes.html
74.4. Dependencieshttps://together-java.github.io/ModernJava/just/dependencies.html
74.5. Documentation Commentshttps://together-java.github.io/ModernJava/just/documentation_comments.html
74.6. Further Readinghttps://together-java.github.io/ModernJava/just/further_reading.html
74.7. Challengeshttps://together-java.github.io/ModernJava/just/challenges.html
75. Documentationhttps://together-java.github.io/ModernJava/documentation.html
75.1. Documentation Commentshttps://together-java.github.io/ModernJava/documentation/documentation_comments.html
75.2. Formathttps://together-java.github.io/ModernJava/documentation/format.html
75.3. javadochttps://together-java.github.io/ModernJava/documentation/javadoc.html
75.4. Challengeshttps://together-java.github.io/ModernJava/documentation/challenges.html
76. Streamshttps://together-java.github.io/ModernJava/streams.html
76.1. streamhttps://together-java.github.io/ModernJava/streams/stream.html
76.2. maphttps://together-java.github.io/ModernJava/streams/map.html
76.3. filterhttps://together-java.github.io/ModernJava/streams/filter.html
76.4. Terminal Operationshttps://together-java.github.io/ModernJava/streams/terminal_operations.html
76.5. Collectorshttps://together-java.github.io/ModernJava/streams/collectors.html
76.6. Purposehttps://together-java.github.io/ModernJava/streams/purpose.html
76.7. Challengeshttps://together-java.github.io/ModernJava/streams/challenges.html
77. What Now?https://together-java.github.io/ModernJava/conclusion/what_now.html
https://together-java.github.io/ModernJava/print.html
https://github.com/Together-Java/ModernJava
https://discord.gg/together-java-272761734820003841
Preludehttps://together-java.github.io/ModernJava/print.html#prelude
The Cayhttps://en.wikipedia.org/wiki/The_Cay
Great Expectationshttps://en.wikipedia.org/wiki/Great_Expectations
1https://together-java.github.io/ModernJava/print.html#footnote-probably
https://together-java.github.io/ModernJava/print.html#fr-probably-1
Asking for Helphttps://together-java.github.io/ModernJava/print.html#asking-for-help
1. You get what you pay forhttps://together-java.github.io/ModernJava/print.html#1-you-get-what-you-pay-for
2. Ask earlyhttps://together-java.github.io/ModernJava/print.html#2-ask-early
3. Don't Ask to Askhttps://together-java.github.io/ModernJava/print.html#3-dont-ask-to-ask
https://dontasktoask.com/https://dontasktoask.com/
Toy Problemshttps://together-java.github.io/ModernJava/print.html#toy-problems
Lieshttps://together-java.github.io/ModernJava/print.html#lies
AIhttps://together-java.github.io/ModernJava/print.html#ai
thishttps://getcoldturkey.com/
Javahttps://together-java.github.io/ModernJava/print.html#java
Adoptiumhttps://adoptium.net/
history is wildhttps://javascript.tm/
1https://together-java.github.io/ModernJava/print.html#footnote-coffee
2https://together-java.github.io/ModernJava/print.html#footnote-what
drawing below is JavaScript'shttps://javascript-mascot.github.io/
https://together-java.github.io/ModernJava/print.html#fr-coffee-1
https://together-java.github.io/ModernJava/print.html#fr-what-1
Set Up Your Computerhttps://together-java.github.io/ModernJava/print.html#set-up-your-computer
Text Editorshttps://together-java.github.io/ModernJava/print.html#text-editors
IDEshttps://together-java.github.io/ModernJava/print.html#ides
Eclipsehttps://eclipseide.org/
IntelliJhttps://www.jetbrains.com/idea/
Netbeanshttps://netbeans.apache.org/front/main/index.html
VSCodehttps://code.visualstudio.com/
1https://together-java.github.io/ModernJava/print.html#footnote-matter
https://together-java.github.io/ModernJava/print.html#fr-matter-1
VSCodiumhttps://together-java.github.io/ModernJava/print.html#vscodium
VSCodiumhttps://vscodium.com/
Install VSCodiumhttps://together-java.github.io/ModernJava/print.html#install-vscodium
https://github.com/VSCodium/vscodium/releaseshttps://github.com/VSCodium/vscodium/releases
Chromebooks and School Computershttps://together-java.github.io/ModernJava/print.html#chromebooks-and-school-computers
make an account on Githubhttps://github.com/
https://github.com/bowbahdoe/j25-codespacehttps://github.com/bowbahdoe/j25-codespace
Windowshttps://together-java.github.io/ModernJava/print.html#windows
MacOShttps://together-java.github.io/ModernJava/print.html#macos
Linuxhttps://together-java.github.io/ModernJava/print.html#linux
Install Javahttps://together-java.github.io/ModernJava/print.html#install-java
1https://together-java.github.io/ModernJava/print.html#footnote-barebones
Chromebooks and School Computershttps://together-java.github.io/ModernJava/print.html#chromebooks-and-school-computers-1
Windowshttps://together-java.github.io/ModernJava/print.html#windows-1
adoptium.nethttps://adoptium.net/temurin/releases/?version=25&os=windows
Mac OShttps://together-java.github.io/ModernJava/print.html#mac-os
adoptium.nethttps://adoptium.net/temurin/releases/?version=25&os=mac
Linuxhttps://together-java.github.io/ModernJava/print.html#linux-1
adoptium.nethttps://adoptium.net/temurin/releases/?version=25&os=linux
https://together-java.github.io/ModernJava/print.html#fr-barebones-1
The Terminalhttps://together-java.github.io/ModernJava/print.html#the-terminal
Bashhttps://together-java.github.io/ModernJava/print.html#bash
1https://together-java.github.io/ModernJava/print.html#footnote-asterisk
https://together-java.github.io/ModernJava/print.html#fr-asterisk-1
Windows Subsystem for Linuxhttps://together-java.github.io/ModernJava/print.html#windows-subsystem-for-linux
Windows Subsystem for Linuxhttps://learn.microsoft.com/en-us/windows/wsl/about
1https://together-java.github.io/ModernJava/print.html#footnote-other_shells
https://together-java.github.io/ModernJava/print.html#fr-other_shells-1
Chromebooks and School Computershttps://together-java.github.io/ModernJava/print.html#chromebooks-and-school-computers-2
1https://together-java.github.io/ModernJava/print.html#footnote-thems
https://together-java.github.io/ModernJava/print.html#fr-thems-1
Commandshttps://together-java.github.io/ModernJava/print.html#commands
Directorieshttps://together-java.github.io/ModernJava/print.html#directories
1https://together-java.github.io/ModernJava/print.html#footnote-pwd
https://together-java.github.io/ModernJava/print.html#fr-pwd-1
Listing Fileshttps://together-java.github.io/ModernJava/print.html#listing-files
1https://together-java.github.io/ModernJava/print.html#footnote-ls
https://together-java.github.io/ModernJava/print.html#fr-ls-1
Creating Directorieshttps://together-java.github.io/ModernJava/print.html#creating-directories
1https://together-java.github.io/ModernJava/print.html#footnote-mkdir
https://together-java.github.io/ModernJava/print.html#fr-mkdir-1
Changing Directorieshttps://together-java.github.io/ModernJava/print.html#changing-directories
Creating Fileshttps://together-java.github.io/ModernJava/print.html#creating-files
1https://together-java.github.io/ModernJava/print.html#footnote-why
vimhttps://www.vim.org/
2https://together-java.github.io/ModernJava/print.html#footnote-diehard
VSCodiumhttps://vscodium.com/
https://together-java.github.io/ModernJava/print.html#fr-why-1
https://together-java.github.io/ModernJava/print.html#fr-diehard-1
Run Java Programshttps://together-java.github.io/ModernJava/print.html#run-java-programs
1https://together-java.github.io/ModernJava/print.html#footnote-eventually
https://together-java.github.io/ModernJava/print.html#fr-eventually-1
Getting Used to ithttps://together-java.github.io/ModernJava/print.html#getting-used-to-it
First Stepshttps://together-java.github.io/ModernJava/print.html#first-steps
"Set Up Your Computer" sectionhttps://together-java.github.io/ModernJava/text_editors/set_up_your_computer.html
Commentshttps://together-java.github.io/ModernJava/print.html#comments
Single-line Commentshttps://together-java.github.io/ModernJava/print.html#single-line-comments
Multi-line commentshttps://together-java.github.io/ModernJava/print.html#multi-line-comments
Semicolonshttps://together-java.github.io/ModernJava/print.html#semicolons
Formattinghttps://together-java.github.io/ModernJava/print.html#formatting
Challengeshttps://together-java.github.io/ModernJava/print.html#challenges
Challenge 1https://together-java.github.io/ModernJava/print.html#challenge-1
Challenge 2https://together-java.github.io/ModernJava/print.html#challenge-2
Challenge 3https://together-java.github.io/ModernJava/print.html#challenge-3
Local Variableshttps://together-java.github.io/ModernJava/print.html#local-variables
Naminghttps://together-java.github.io/ModernJava/print.html#naming
1https://together-java.github.io/ModernJava/print.html#footnote-perry
Trapped! By societal convention!https://youtu.be/CnOWLuN37D8?t=64
https://together-java.github.io/ModernJava/print.html#fr-perry-1
Reassignmenthttps://together-java.github.io/ModernJava/print.html#reassignment
Delayed Assignmenthttps://together-java.github.io/ModernJava/print.html#delayed-assignment
1https://together-java.github.io/ModernJava/print.html#footnote-whydelay
it's a surprise tool that will help us laterhttps://knowyourmeme.com/memes/its-a-surprise-tool-that-will-help-us-later
https://together-java.github.io/ModernJava/print.html#fr-whydelay-1
Typeshttps://together-java.github.io/ModernJava/print.html#types
Final Variableshttps://together-java.github.io/ModernJava/print.html#final-variables
Inferred Typeshttps://together-java.github.io/ModernJava/print.html#inferred-types
Challengeshttps://together-java.github.io/ModernJava/print.html#challenges-1
Challenge 1https://together-java.github.io/ModernJava/print.html#challenge-1-1
Challenge 2https://together-java.github.io/ModernJava/print.html#challenge-2-1
Challenge 3https://together-java.github.io/ModernJava/print.html#challenge-3-1
Challenge 4https://together-java.github.io/ModernJava/print.html#challenge-4
Challenge 5https://together-java.github.io/ModernJava/print.html#challenge-5
1https://together-java.github.io/ModernJava/print.html#footnote-byconvention
https://together-java.github.io/ModernJava/print.html#fr-byconvention-1
Booleanshttps://together-java.github.io/ModernJava/print.html#booleans
Nothttps://together-java.github.io/ModernJava/print.html#not
Andhttps://together-java.github.io/ModernJava/print.html#and
Universal Declaration of Human Rightshttps://www.un.org/en/about-us/universal-declaration-of-human-rights
Orhttps://together-java.github.io/ModernJava/print.html#or
Exclusive vs. Inclusivehttps://together-java.github.io/ModernJava/print.html#exclusive-vs-inclusive
Operator Precedencehttps://together-java.github.io/ModernJava/print.html#operator-precedence
Challengeshttps://together-java.github.io/ModernJava/print.html#challenges-2
Challenge 1https://together-java.github.io/ModernJava/print.html#challenge-1-2
Challenge 2https://together-java.github.io/ModernJava/print.html#challenge-2-2
Challenge 3https://together-java.github.io/ModernJava/print.html#challenge-3-2
Integershttps://together-java.github.io/ModernJava/print.html#integers
An integer is any number in the set { ..., -2, -1, 0, 1, 2, ... }.https://www.khanacademy.org/math/cc-sixth-grade-math/cc-6th-expressions-and-variables/whole-numbers-integers/a/whole-numbers-integers
Integer Literalshttps://together-java.github.io/ModernJava/print.html#integer-literals
Additionhttps://together-java.github.io/ModernJava/print.html#addition
Subtractionhttps://together-java.github.io/ModernJava/print.html#subtraction
Multiplicationhttps://together-java.github.io/ModernJava/print.html#multiplication
Divisionhttps://together-java.github.io/ModernJava/print.html#division
quotienthttps://www.khanacademy.org/computing/computer-science/cryptography/modarithmetic/a/the-quotient-remainder-theorem
Remainderhttps://together-java.github.io/ModernJava/print.html#remainder
Equalityhttps://together-java.github.io/ModernJava/print.html#equality
Comparisonhttps://together-java.github.io/ModernJava/print.html#comparison
1https://together-java.github.io/ModernJava/print.html#footnote-sharks
https://together-java.github.io/ModernJava/print.html#fr-sharks-1
Chained Comparisonshttps://together-java.github.io/ModernJava/print.html#chained-comparisons
Operator Precedencehttps://together-java.github.io/ModernJava/print.html#operator-precedence-1
PEMDAShttps://www.khanacademy.org/math/cc-seventh-grade-math/cc-7th-negative-numbers-multiply-and-divide/cc-7th-order-of-operations/v/introduction-to-order-of-operations
1https://together-java.github.io/ModernJava/print.html#footnote-theyalldo
https://together-java.github.io/ModernJava/print.html#fr-theyalldo-1
Reassignmenthttps://together-java.github.io/ModernJava/print.html#reassignment-1
Shorthands for Reassignmenthttps://together-java.github.io/ModernJava/print.html#shorthands-for-reassignment
Limitshttps://together-java.github.io/ModernJava/print.html#limits
base ten systemhttps://www.khanacademy.org/math/algebra-home/alg-intro-to-algebra/algebra-alternate-number-bases/v/number-systems-introduction
Challengeshttps://together-java.github.io/ModernJava/print.html#challenges-3
Challenge 1https://together-java.github.io/ModernJava/print.html#challenge-1-3
Challenge 2https://together-java.github.io/ModernJava/print.html#challenge-2-3
Challenge 3https://together-java.github.io/ModernJava/print.html#challenge-3-3
Challenge 4https://together-java.github.io/ModernJava/print.html#challenge-4-1
Challenge 5https://together-java.github.io/ModernJava/print.html#challenge-5-1
Challenge 6https://together-java.github.io/ModernJava/print.html#challenge-6
1https://together-java.github.io/ModernJava/print.html#footnote-fbarticle
Now get in a fight with your relatives about ithttps://slate.com/technology/2013/03/facebook-math-problem-why-pemdas-doesnt-always-give-a-clear-answer.html
https://together-java.github.io/ModernJava/print.html#fr-fbarticle-1
Floating Point Numbershttps://together-java.github.io/ModernJava/print.html#floating-point-numbers
Floating Point Literalshttps://together-java.github.io/ModernJava/print.html#floating-point-literals
Accuracyhttps://together-java.github.io/ModernJava/print.html#accuracy
Additionhttps://together-java.github.io/ModernJava/print.html#addition-1
Subtractionhttps://together-java.github.io/ModernJava/print.html#subtraction-1
Multiplicationhttps://together-java.github.io/ModernJava/print.html#multiplication-1
Divisionhttps://together-java.github.io/ModernJava/print.html#division-1
1https://together-java.github.io/ModernJava/print.html#footnote-caveat
https://together-java.github.io/ModernJava/print.html#fr-caveat-1
Equalityhttps://together-java.github.io/ModernJava/print.html#equality-1
Comparisonhttps://together-java.github.io/ModernJava/print.html#comparison-1
Shorthands for Reassignmenthttps://together-java.github.io/ModernJava/print.html#shorthands-for-reassignment-1
NaNhttps://together-java.github.io/ModernJava/print.html#nan
Positive and Negative Infinityhttps://together-java.github.io/ModernJava/print.html#positive-and-negative-infinity
Square Roothttps://together-java.github.io/ModernJava/print.html#square-root
Conversion to Integershttps://together-java.github.io/ModernJava/print.html#conversion-to-integers
1https://together-java.github.io/ModernJava/print.html#footnote-cast
https://together-java.github.io/ModernJava/print.html#fr-cast-1
Conversion from Integershttps://together-java.github.io/ModernJava/print.html#conversion-from-integers
Challengeshttps://together-java.github.io/ModernJava/print.html#challenges-4
Challenge 1https://together-java.github.io/ModernJava/print.html#challenge-1-4
Challenge 2https://together-java.github.io/ModernJava/print.html#challenge-2-4
Challenge 3https://together-java.github.io/ModernJava/print.html#challenge-3-4
Challenge 4https://together-java.github.io/ModernJava/print.html#challenge-4-2
Challenge 5https://together-java.github.io/ModernJava/print.html#challenge-5-2
Charactershttps://together-java.github.io/ModernJava/print.html#characters
Character Literalshttps://together-java.github.io/ModernJava/print.html#character-literals
Common Escape Sequenceshttps://together-java.github.io/ModernJava/print.html#common-escape-sequences
Conversion to Integershttps://together-java.github.io/ModernJava/print.html#conversion-to-integers-1
1https://together-java.github.io/ModernJava/print.html#footnote-ascii
2https://together-java.github.io/ModernJava/print.html#footnote-onmars
ASCII Tablehttps://www.ascii-code.com/
https://together-java.github.io/ModernJava/print.html#fr-ascii-1
https://www.youtube.com/watch?v=0xkP_FQUsuMhttps://www.youtube.com/watch?v=0xkP_FQUsuM
https://together-java.github.io/ModernJava/print.html#fr-onmars-1
Conversion from Integershttps://together-java.github.io/ModernJava/print.html#conversion-from-integers-1
Unicodehttps://together-java.github.io/ModernJava/print.html#unicode
Challengeshttps://together-java.github.io/ModernJava/print.html#challenges-5
Challenge 1https://together-java.github.io/ModernJava/print.html#challenge-1-5
Challenge 2https://together-java.github.io/ModernJava/print.html#challenge-2-5
Challenge 3https://together-java.github.io/ModernJava/print.html#challenge-3-5
Stringshttps://together-java.github.io/ModernJava/print.html#strings
String Literalshttps://together-java.github.io/ModernJava/print.html#string-literals
Common Escape Sequenceshttps://together-java.github.io/ModernJava/print.html#common-escape-sequences-1
1https://together-java.github.io/ModernJava/print.html#footnote-forwardslash
https://together-java.github.io/ModernJava/print.html#fr-forwardslash-1
The Empty Stringhttps://together-java.github.io/ModernJava/print.html#the-empty-string
Multiline Stringshttps://together-java.github.io/ModernJava/print.html#multiline-strings
Concatenationhttps://together-java.github.io/ModernJava/print.html#concatenation
Equalityhttps://together-java.github.io/ModernJava/print.html#equality-2
1https://together-java.github.io/ModernJava/print.html#footnote-inaway
https://together-java.github.io/ModernJava/print.html#fr-inaway-1
Lengthhttps://together-java.github.io/ModernJava/print.html#length
1https://together-java.github.io/ModernJava/print.html#footnote-codepoints
https://together-java.github.io/ModernJava/print.html#fr-codepoints-1
Access Individual Charactershttps://together-java.github.io/ModernJava/print.html#access-individual-characters
1https://together-java.github.io/ModernJava/print.html#footnote-otherds
https://together-java.github.io/ModernJava/print.html#fr-otherds-1
Challengeshttps://together-java.github.io/ModernJava/print.html#challenges-6
Challenge 1https://together-java.github.io/ModernJava/print.html#challenge-1-6
Challenge 2https://together-java.github.io/ModernJava/print.html#challenge-2-6
Challenge 3https://together-java.github.io/ModernJava/print.html#challenge-3-6
Challenge 4https://together-java.github.io/ModernJava/print.html#challenge-4-3
Challenge 5https://together-java.github.io/ModernJava/print.html#challenge-5-3
Standard Inputhttps://together-java.github.io/ModernJava/print.html#standard-input
Promptinghttps://together-java.github.io/ModernJava/print.html#prompting
Interpreting Inputhttps://together-java.github.io/ModernJava/print.html#interpreting-input
Integershttps://together-java.github.io/ModernJava/print.html#integers-1
Floating Point Numbershttps://together-java.github.io/ModernJava/print.html#floating-point-numbers-1
Other Typeshttps://together-java.github.io/ModernJava/print.html#other-types
Challengeshttps://together-java.github.io/ModernJava/print.html#challenges-7
Challenge 1https://together-java.github.io/ModernJava/print.html#challenge-1-7
Challenge 2https://together-java.github.io/ModernJava/print.html#challenge-2-7
Challenge 3https://together-java.github.io/ModernJava/print.html#challenge-3-7
Challenge 4https://together-java.github.io/ModernJava/print.html#challenge-4-4
"Mad Libs"https://en.wikipedia.org/wiki/Mad_Libs
Branching Pathshttps://together-java.github.io/ModernJava/print.html#branching-paths
1https://together-java.github.io/ModernJava/print.html#footnote-insurance
https://together-java.github.io/ModernJava/print.html#fr-insurance-1
Ifhttps://together-java.github.io/ModernJava/print.html#if
Nested Ifshttps://together-java.github.io/ModernJava/print.html#nested-ifs
1https://together-java.github.io/ModernJava/print.html#footnote-or
https://together-java.github.io/ModernJava/print.html#fr-or-1
Elsehttps://together-java.github.io/ModernJava/print.html#else
Else Ifhttps://together-java.github.io/ModernJava/print.html#else-if
Relation to Delayed Assignmenthttps://together-java.github.io/ModernJava/print.html#relation-to-delayed-assignment
Scoped Variableshttps://together-java.github.io/ModernJava/print.html#scoped-variables
Conditional Operatorhttps://together-java.github.io/ModernJava/print.html#conditional-operator
1https://together-java.github.io/ModernJava/print.html#footnote-ternary
https://together-java.github.io/ModernJava/print.html#fr-ternary-1
Boolean Expressionshttps://together-java.github.io/ModernJava/print.html#boolean-expressions
Challengeshttps://together-java.github.io/ModernJava/print.html#challenges-8
Challenge 1https://together-java.github.io/ModernJava/print.html#challenge-1-8
Challenge 2https://together-java.github.io/ModernJava/print.html#challenge-2-8
Challenge 3https://together-java.github.io/ModernJava/print.html#challenge-3-8
Challenge 4https://together-java.github.io/ModernJava/print.html#challenge-4-5
Loopshttps://together-java.github.io/ModernJava/print.html#loops
Whilehttps://together-java.github.io/ModernJava/print.html#while
1https://together-java.github.io/ModernJava/print.html#footnote-tortoise
https://together-java.github.io/ModernJava/print.html#fr-tortoise-1
Endless Loopshttps://together-java.github.io/ModernJava/print.html#endless-loops
Breakhttps://together-java.github.io/ModernJava/print.html#break
Continuehttps://together-java.github.io/ModernJava/print.html#continue
Unreachable Codehttps://together-java.github.io/ModernJava/print.html#unreachable-code
Dohttps://together-java.github.io/ModernJava/print.html#do
Nested Loopshttps://together-java.github.io/ModernJava/print.html#nested-loops
Labeled Breakhttps://together-java.github.io/ModernJava/print.html#labeled-break
Labeled Continuehttps://together-java.github.io/ModernJava/print.html#labeled-continue
Iterationhttps://together-java.github.io/ModernJava/print.html#iteration
Counting Uphttps://together-java.github.io/ModernJava/print.html#counting-up
Counting Downhttps://together-java.github.io/ModernJava/print.html#counting-down
Iterate over a Stringhttps://together-java.github.io/ModernJava/print.html#iterate-over-a-string
Challengeshttps://together-java.github.io/ModernJava/print.html#challenges-9
Challenge 1https://together-java.github.io/ModernJava/print.html#challenge-1-9
Challenge 2https://together-java.github.io/ModernJava/print.html#challenge-2-9
Challenge 3https://together-java.github.io/ModernJava/print.html#challenge-3-9
Challenge 4https://together-java.github.io/ModernJava/print.html#challenge-4-6
Challenge 5https://together-java.github.io/ModernJava/print.html#challenge-5-4
Challenge 6https://together-java.github.io/ModernJava/print.html#challenge-6-1
Challenge 7https://together-java.github.io/ModernJava/print.html#challenge-7
Challenge 8https://together-java.github.io/ModernJava/print.html#challenge-8
Challenge 9https://together-java.github.io/ModernJava/print.html#challenge-9
Challenge 10https://together-java.github.io/ModernJava/print.html#challenge-10
Challenge 11https://together-java.github.io/ModernJava/print.html#challenge-11
Challenge 12https://together-java.github.io/ModernJava/print.html#challenge-12
Challenge 13https://together-java.github.io/ModernJava/print.html#challenge-13
Preludehttps://together-java.github.io/ModernJava/print.html#prelude-1
Calorie Trackerhttps://together-java.github.io/ModernJava/print.html#calorie-tracker
Problem Statementhttps://together-java.github.io/ModernJava/print.html#problem-statement
1https://together-java.github.io/ModernJava/print.html#footnote-biology
Your Goalhttps://together-java.github.io/ModernJava/print.html#your-goal
Future Goalshttps://together-java.github.io/ModernJava/print.html#future-goals
https://together-java.github.io/ModernJava/print.html#fr-biology-1
Arrayshttps://together-java.github.io/ModernJava/print.html#arrays
Array Initializershttps://together-java.github.io/ModernJava/print.html#array-initializers
1https://together-java.github.io/ModernJava/print.html#footnote-pattern
https://together-java.github.io/ModernJava/print.html#fr-pattern-1
Lengthhttps://together-java.github.io/ModernJava/print.html#length-1
1https://together-java.github.io/ModernJava/print.html#footnote-unlike_string
https://together-java.github.io/ModernJava/print.html#fr-unlike_string-1
Access Individual Elementshttps://together-java.github.io/ModernJava/print.html#access-individual-elements
Set Individual Elementshttps://together-java.github.io/ModernJava/print.html#set-individual-elements
1https://together-java.github.io/ModernJava/print.html#footnote-strings
https://together-java.github.io/ModernJava/print.html#fr-strings-1
Aliasinghttps://together-java.github.io/ModernJava/print.html#aliasing
Reassignmenthttps://together-java.github.io/ModernJava/print.html#reassignment-2
Relation to Final Variableshttps://together-java.github.io/ModernJava/print.html#relation-to-final-variables
Printing the Contents of an Arrayhttps://together-java.github.io/ModernJava/print.html#printing-the-contents-of-an-array
1https://together-java.github.io/ModernJava/print.html#footnote-gibberish
2https://together-java.github.io/ModernJava/print.html#footnote-future
https://together-java.github.io/ModernJava/print.html#fr-gibberish-1
https://together-java.github.io/ModernJava/print.html#fr-future-1
Empty Arrayhttps://together-java.github.io/ModernJava/print.html#empty-array
Difference between Initializer and Literalhttps://together-java.github.io/ModernJava/print.html#difference-between-initializer-and-literal
Initialization with newhttps://together-java.github.io/ModernJava/print.html#initialization-with-new
Challengeshttps://together-java.github.io/ModernJava/print.html#challenges-10
Challenge 1https://together-java.github.io/ModernJava/print.html#challenge-1-10
Challenge 2https://together-java.github.io/ModernJava/print.html#challenge-2-10
Challenge 3https://together-java.github.io/ModernJava/print.html#challenge-3-10
Challenge 4https://together-java.github.io/ModernJava/print.html#challenge-4-7
Loops IIhttps://together-java.github.io/ModernJava/print.html#loops-ii
Forhttps://together-java.github.io/ModernJava/print.html#for
For Syntaxhttps://together-java.github.io/ModernJava/print.html#for-syntax
Counting Up and Downhttps://together-java.github.io/ModernJava/print.html#counting-up-and-down
1https://together-java.github.io/ModernJava/print.html#footnote-test
https://together-java.github.io/ModernJava/print.html#fr-test-1
Iterate over a Stringhttps://together-java.github.io/ModernJava/print.html#iterate-over-a-string-1
Iterate over an Arrayhttps://together-java.github.io/ModernJava/print.html#iterate-over-an-array
Comparison to whilehttps://together-java.github.io/ModernJava/print.html#comparison-to-while
ihttps://together-java.github.io/ModernJava/print.html#i
1https://together-java.github.io/ModernJava/print.html#footnote-jindex
https://together-java.github.io/ModernJava/print.html#fr-jindex-1
Breakhttps://together-java.github.io/ModernJava/print.html#break-1
Continuehttps://together-java.github.io/ModernJava/print.html#continue-1
Delayed Assignmenthttps://together-java.github.io/ModernJava/print.html#delayed-assignment-1
Inferred Typeshttps://together-java.github.io/ModernJava/print.html#inferred-types-1
Empty Initializershttps://together-java.github.io/ModernJava/print.html#empty-initializers
Empty Expressionshttps://together-java.github.io/ModernJava/print.html#empty-expressions
Empty Statementshttps://together-java.github.io/ModernJava/print.html#empty-statements
Final Variableshttps://together-java.github.io/ModernJava/print.html#final-variables-1
Labeled Breakhttps://together-java.github.io/ModernJava/print.html#labeled-break-1
Labeled Continuehttps://together-java.github.io/ModernJava/print.html#labeled-continue-1
Drawing Right Triangleshttps://together-java.github.io/ModernJava/print.html#drawing-right-triangles
Drawing Isosceles Triangleshttps://together-java.github.io/ModernJava/print.html#drawing-isosceles-triangles
1https://together-java.github.io/ModernJava/print.html#footnote-reason
you can dodge a ballhttps://www.youtube.com/watch?v=1ZXHsNqkDI4
https://together-java.github.io/ModernJava/print.html#fr-reason-1
Challengeshttps://together-java.github.io/ModernJava/print.html#challenges-11
Challenge 1https://together-java.github.io/ModernJava/print.html#challenge-1-11
Challenge 2https://together-java.github.io/ModernJava/print.html#challenge-2-11
Challenge 3https://together-java.github.io/ModernJava/print.html#challenge-3-11
Challenge 4.https://together-java.github.io/ModernJava/print.html#challenge-4-8
Challenge 5.https://together-java.github.io/ModernJava/print.html#challenge-5-5
Challenge 6.https://together-java.github.io/ModernJava/print.html#challenge-6-2
Challenge 7.https://together-java.github.io/ModernJava/print.html#challenge-7-1
Challenge 8.https://together-java.github.io/ModernJava/print.html#challenge-8-1
Methodshttps://together-java.github.io/ModernJava/print.html#methods
1https://together-java.github.io/ModernJava/print.html#footnote-def
https://together-java.github.io/ModernJava/print.html#fr-def-1
Declarationhttps://together-java.github.io/ModernJava/print.html#declaration
Invocationhttps://together-java.github.io/ModernJava/print.html#invocation
1https://together-java.github.io/ModernJava/print.html#footnote-wizard
https://together-java.github.io/ModernJava/print.html#fr-wizard-1
Scopehttps://together-java.github.io/ModernJava/print.html#scope
mainhttps://together-java.github.io/ModernJava/print.html#main
Challengeshttps://together-java.github.io/ModernJava/print.html#challenges-12
Challenge 1.https://together-java.github.io/ModernJava/print.html#challenge-1-12
Challenge 2.https://together-java.github.io/ModernJava/print.html#challenge-2-12
Challenge 3.https://together-java.github.io/ModernJava/print.html#challenge-3-12
Argumentshttps://together-java.github.io/ModernJava/print.html#arguments
Declarationhttps://together-java.github.io/ModernJava/print.html#declaration-1
Invocation with Argumentshttps://together-java.github.io/ModernJava/print.html#invocation-with-arguments
Reassignmenthttps://together-java.github.io/ModernJava/print.html#reassignment-3
Final Argumentshttps://together-java.github.io/ModernJava/print.html#final-arguments
1https://together-java.github.io/ModernJava/print.html#footnote-opinion
https://together-java.github.io/ModernJava/print.html#fr-opinion-1
Aliasinghttps://together-java.github.io/ModernJava/print.html#aliasing-1
Overloadinghttps://together-java.github.io/ModernJava/print.html#overloading
1https://together-java.github.io/ModernJava/print.html#footnote-overload
https://together-java.github.io/ModernJava/print.html#fr-overload-1
Inferred Typeshttps://together-java.github.io/ModernJava/print.html#inferred-types-2
Challengeshttps://together-java.github.io/ModernJava/print.html#challenges-13
Challenge 1.https://together-java.github.io/ModernJava/print.html#challenge-1-13
Challenge 2.https://together-java.github.io/ModernJava/print.html#challenge-2-13
Challenge 3.https://together-java.github.io/ModernJava/print.html#challenge-3-13
Challenge 4.https://together-java.github.io/ModernJava/print.html#challenge-4-9
Returnhttps://together-java.github.io/ModernJava/print.html#return
Declarationhttps://together-java.github.io/ModernJava/print.html#declaration-2
Return Statementhttps://together-java.github.io/ModernJava/print.html#return-statement
Exhaustivenesshttps://together-java.github.io/ModernJava/print.html#exhaustiveness
voidhttps://together-java.github.io/ModernJava/print.html#void
Return in void methodshttps://together-java.github.io/ModernJava/print.html#return-in-void-methods
Conversionhttps://together-java.github.io/ModernJava/print.html#conversion
Unreachable Statementshttps://together-java.github.io/ModernJava/print.html#unreachable-statements
1https://together-java.github.io/ModernJava/print.html#footnote-trick
https://together-java.github.io/ModernJava/print.html#fr-trick-1
Challengeshttps://together-java.github.io/ModernJava/print.html#challenges-14
Challenge 1.https://together-java.github.io/ModernJava/print.html#challenge-1-14
Challenge 2.https://together-java.github.io/ModernJava/print.html#challenge-2-14
Challenge 3.https://together-java.github.io/ModernJava/print.html#challenge-3-14
Challenge 4.https://together-java.github.io/ModernJava/print.html#challenge-4-10
Multi-Dimensional Arrayshttps://together-java.github.io/ModernJava/print.html#multi-dimensional-arrays
Declarationhttps://together-java.github.io/ModernJava/print.html#declaration-3
Array Initializershttps://together-java.github.io/ModernJava/print.html#array-initializers-1
1https://together-java.github.io/ModernJava/print.html#footnote-moray
https://together-java.github.io/ModernJava/print.html#fr-moray-1
Initialization with newhttps://together-java.github.io/ModernJava/print.html#initialization-with-new-1
Access Individual Elementshttps://together-java.github.io/ModernJava/print.html#access-individual-elements-1
Set Individual Elementshttps://together-java.github.io/ModernJava/print.html#set-individual-elements-1
Initialization with Sizehttps://together-java.github.io/ModernJava/print.html#initialization-with-size
Default Valueshttps://together-java.github.io/ModernJava/print.html#default-values
Populate Valueshttps://together-java.github.io/ModernJava/print.html#populate-values
Ragged Arrayshttps://together-java.github.io/ModernJava/print.html#ragged-arrays
1https://together-java.github.io/ModernJava/print.html#footnote-alreadyunique
https://together-java.github.io/ModernJava/print.html#fr-alreadyunique-1
Challengeshttps://together-java.github.io/ModernJava/print.html#challenges-15
Challenge 1.https://together-java.github.io/ModernJava/print.html#challenge-1-15
Challenge 2.https://together-java.github.io/ModernJava/print.html#challenge-2-15
Challenge 3.https://together-java.github.io/ModernJava/print.html#challenge-3-15
Challenge 4.https://together-java.github.io/ModernJava/print.html#challenge-4-11
game of Tic-Tac-Toehttps://en.wikipedia.org/wiki/Tic-tac-toe
ASCII Art Generatorhttps://together-java.github.io/ModernJava/print.html#ascii-art-generator
Problem Statementhttps://together-java.github.io/ModernJava/print.html#problem-statement-1
dating back at least 51,200 years.https://en.wikipedia.org/wiki/Cave_painting
a website that archives examples of this form of arthttps://www.asciiart.eu/animals/bats
Here are some cubeshttps://www.asciiart.eu/art-and-design/geometries
And this one is a doghttps://www.asciiart.eu/animals/dogs
entirely ASCII art rendition of the Star Wars IV: A New Hopehttps://www.asciimation.co.nz/index.php
Your Goalhttps://together-java.github.io/ModernJava/print.html#your-goal-1
Future Goalshttps://together-java.github.io/ModernJava/print.html#future-goals-1
this examplehttps://www.asciiart.eu/holiday-and-events/christmas/trees
cowsayhttps://en.wikipedia.org/wiki/Cowsay#:~:text=cowsay%20is%20a%20program%20that,a%20cow%20with%20a%20message.
nullhttps://together-java.github.io/ModernJava/print.html#null
1https://together-java.github.io/ModernJava/print.html#footnote-aswellas
https://together-java.github.io/ModernJava/print.html#fr-aswellas-1
Null as Absencehttps://together-java.github.io/ModernJava/print.html#null-as-absence
Cherhttps://en.wikipedia.org/wiki/Cher
Null as Unknownhttps://together-java.github.io/ModernJava/print.html#null-as-unknown
Checking for nullhttps://together-java.github.io/ModernJava/print.html#checking-for-null
NullPointerExceptionhttps://together-java.github.io/ModernJava/print.html#nullpointerexception
Challengeshttps://together-java.github.io/ModernJava/print.html#challenges-16
Challenge 1.https://together-java.github.io/ModernJava/print.html#challenge-1-16
Challenge 2.https://together-java.github.io/ModernJava/print.html#challenge-2-16
Challenge 3.https://together-java.github.io/ModernJava/print.html#challenge-3-16
Challenge 4.https://together-java.github.io/ModernJava/print.html#challenge-4-12
Challenge 5.https://together-java.github.io/ModernJava/print.html#challenge-5-6
Boxed Primitiveshttps://together-java.github.io/ModernJava/print.html#boxed-primitives
1https://together-java.github.io/ModernJava/print.html#footnote-primitive
2https://together-java.github.io/ModernJava/print.html#footnote-boxing
https://together-java.github.io/ModernJava/print.html#fr-primitive-1
https://together-java.github.io/ModernJava/print.html#fr-boxing-1
Integerhttps://together-java.github.io/ModernJava/print.html#integer
Doublehttps://together-java.github.io/ModernJava/print.html#double
Characterhttps://together-java.github.io/ModernJava/print.html#character
Booleanhttps://together-java.github.io/ModernJava/print.html#boolean
Unboxing Conversionhttps://together-java.github.io/ModernJava/print.html#unboxing-conversion
Boxing Conversionhttps://together-java.github.io/ModernJava/print.html#boxing-conversion
1https://together-java.github.io/ModernJava/print.html#footnote-obvious
https://together-java.github.io/ModernJava/print.html#fr-obvious-1
Arrays of Boxed Primitiveshttps://together-java.github.io/ModernJava/print.html#arrays-of-boxed-primitives
1https://together-java.github.io/ModernJava/print.html#footnote-interesting
https://together-java.github.io/ModernJava/print.html#fr-interesting-1
Challengeshttps://together-java.github.io/ModernJava/print.html#challenges-17
Challenge 1.https://together-java.github.io/ModernJava/print.html#challenge-1-17
Challenge 2.https://together-java.github.io/ModernJava/print.html#challenge-2-17
Challenge 3.https://together-java.github.io/ModernJava/print.html#challenge-3-17
Challenge 4.https://together-java.github.io/ModernJava/print.html#challenge-4-13
Challenge 4.https://together-java.github.io/ModernJava/print.html#challenge-4-14
Challenge 5.https://together-java.github.io/ModernJava/print.html#challenge-5-7
Arrays IIhttps://together-java.github.io/ModernJava/print.html#arrays-ii
Initialization with Sizehttps://together-java.github.io/ModernJava/print.html#initialization-with-size-1
1https://together-java.github.io/ModernJava/print.html#footnote-bw
https://together-java.github.io/ModernJava/print.html#fr-bw-1
Default Valueshttps://together-java.github.io/ModernJava/print.html#default-values-1
1https://together-java.github.io/ModernJava/print.html#footnote-funfact
https://together-java.github.io/ModernJava/print.html#fr-funfact-1
Populate Arrayshttps://together-java.github.io/ModernJava/print.html#populate-arrays
Challengeshttps://together-java.github.io/ModernJava/print.html#challenges-18
Challenge 1.https://together-java.github.io/ModernJava/print.html#challenge-1-18
Challenge 2.https://together-java.github.io/ModernJava/print.html#challenge-2-18
Challenge 3.https://together-java.github.io/ModernJava/print.html#challenge-3-18
Challenge 4.https://together-java.github.io/ModernJava/print.html#challenge-4-15
Challenge 5.https://together-java.github.io/ModernJava/print.html#challenge-5-8
Classeshttps://together-java.github.io/ModernJava/print.html#classes
The meaning of Classhttps://together-java.github.io/ModernJava/print.html#the-meaning-of-class
1https://together-java.github.io/ModernJava/print.html#footnote-idiot
2https://together-java.github.io/ModernJava/print.html#footnote-heady
idiothttps://penelope.uchicago.edu/encyclopaedia_romana/greece/hetairai/diogenes.html
https://together-java.github.io/ModernJava/print.html#fr-idiot-1
https://together-java.github.io/ModernJava/print.html#fr-heady-1
Class Declarationhttps://together-java.github.io/ModernJava/print.html#class-declaration
Naminghttps://together-java.github.io/ModernJava/print.html#naming-1
1https://together-java.github.io/ModernJava/print.html#footnote-fuzzy
https://together-java.github.io/ModernJava/print.html#fr-fuzzy-1
Instanceshttps://together-java.github.io/ModernJava/print.html#instances
1https://together-java.github.io/ModernJava/print.html#footnote-var
https://together-java.github.io/ModernJava/print.html#fr-var-1
Fieldshttps://together-java.github.io/ModernJava/print.html#fields
1https://together-java.github.io/ModernJava/print.html#footnote-box
https://together-java.github.io/ModernJava/print.html#fr-box-1
Field Initializationhttps://together-java.github.io/ModernJava/print.html#field-initialization
Field Accesshttps://together-java.github.io/ModernJava/print.html#field-access
Field Default Valueshttps://together-java.github.io/ModernJava/print.html#field-default-values
Aliasinghttps://together-java.github.io/ModernJava/print.html#aliasing-2
Return Multiple Valueshttps://together-java.github.io/ModernJava/print.html#return-multiple-values
1https://together-java.github.io/ModernJava/print.html#footnote-manymore
https://together-java.github.io/ModernJava/print.html#fr-manymore-1
Challengeshttps://together-java.github.io/ModernJava/print.html#challenges-19
Challenge 1.https://together-java.github.io/ModernJava/print.html#challenge-1-19
Challenge 2.https://together-java.github.io/ModernJava/print.html#challenge-2-19
Challenge 3.https://together-java.github.io/ModernJava/print.html#challenge-3-19
Challenge 4.https://together-java.github.io/ModernJava/print.html#challenge-4-16
Challenge 5.https://together-java.github.io/ModernJava/print.html#challenge-5-9
Challenge 6.https://together-java.github.io/ModernJava/print.html#challenge-6-3
Instance Methodshttps://together-java.github.io/ModernJava/print.html#instance-methods
1https://together-java.github.io/ModernJava/print.html#footnote-kermitangry
randomly gets really mad.https://www.youtube.com/watch?v=SVDgHEg2jnY
https://together-java.github.io/ModernJava/print.html#fr-kermitangry-1
Invocationhttps://together-java.github.io/ModernJava/print.html#invocation-1
1https://together-java.github.io/ModernJava/print.html#footnote-elmo
hates Rockohttps://www.youtube.com/watch?v=DFBMcwaSdns
https://together-java.github.io/ModernJava/print.html#fr-elmo-1
Argumentshttps://together-java.github.io/ModernJava/print.html#arguments-1
Field Accesshttps://together-java.github.io/ModernJava/print.html#field-access-1
Field Updateshttps://together-java.github.io/ModernJava/print.html#field-updates
Derived Valueshttps://together-java.github.io/ModernJava/print.html#derived-values
Invoke Other Methodshttps://together-java.github.io/ModernJava/print.html#invoke-other-methods
thishttps://together-java.github.io/ModernJava/print.html#this
Disambiguationhttps://together-java.github.io/ModernJava/print.html#disambiguation
1https://together-java.github.io/ModernJava/print.html#footnote-javanotconfused
https://together-java.github.io/ModernJava/print.html#fr-javanotconfused-1
Clarityhttps://together-java.github.io/ModernJava/print.html#clarity
1https://together-java.github.io/ModernJava/print.html#footnote-preference
https://together-java.github.io/ModernJava/print.html#fr-preference-1
Challengeshttps://together-java.github.io/ModernJava/print.html#challenges-20
Challenge 1.https://together-java.github.io/ModernJava/print.html#challenge-1-20
Challenge 2.https://together-java.github.io/ModernJava/print.html#challenge-2-20
Challenge 3.https://together-java.github.io/ModernJava/print.html#challenge-3-20
Challenge 4.https://together-java.github.io/ModernJava/print.html#challenge-4-17
Challenge 5.https://together-java.github.io/ModernJava/print.html#challenge-5-10
Challenge 6.https://together-java.github.io/ModernJava/print.html#challenge-6-4
Point of Sale Systemhttps://together-java.github.io/ModernJava/print.html#point-of-sale-system
Problem Statementhttps://together-java.github.io/ModernJava/print.html#problem-statement-2
avacadohttps://en.wikipedia.org/wiki/Avocado
really cheap for some reasonhttps://en.wikipedia.org/wiki/Banana_republic
1https://together-java.github.io/ModernJava/print.html#footnote-plu
2https://together-java.github.io/ModernJava/print.html#footnote-viral
3https://together-java.github.io/ModernJava/print.html#footnote-common
Your Goalhttps://together-java.github.io/ModernJava/print.html#your-goal-2
Future Goalshttps://together-java.github.io/ModernJava/print.html#future-goals-2
PLUhttps://www.fsproduce.com/wp-content/uploads/2015/05/2011-PLU-Listing1.pdf
https://together-java.github.io/ModernJava/print.html#fr-plu-1
https://together-java.github.io/ModernJava/print.html#fr-viral-1
https://together-java.github.io/ModernJava/print.html#fr-common-1
Enumshttps://together-java.github.io/ModernJava/print.html#enums
Declarationhttps://together-java.github.io/ModernJava/print.html#declaration-4
Variantshttps://together-java.github.io/ModernJava/print.html#variants
Naminghttps://together-java.github.io/ModernJava/print.html#naming-2
1https://together-java.github.io/ModernJava/print.html#footnote-scream
https://together-java.github.io/ModernJava/print.html#fr-scream-1
Usagehttps://together-java.github.io/ModernJava/print.html#usage
Equalityhttps://together-java.github.io/ModernJava/print.html#equality-3
Comparison to booleanhttps://together-java.github.io/ModernJava/print.html#comparison-to-boolean
Challengeshttps://together-java.github.io/ModernJava/print.html#challenges-21
Challenge 1.https://together-java.github.io/ModernJava/print.html#challenge-1-21
Challenge 2.https://together-java.github.io/ModernJava/print.html#challenge-2-21
Challenge 3.https://together-java.github.io/ModernJava/print.html#challenge-3-21
Strings IIhttps://together-java.github.io/ModernJava/print.html#strings-ii
lowercasehttps://together-java.github.io/ModernJava/print.html#lowercase
UPPERCASEhttps://together-java.github.io/ModernJava/print.html#uppercase
Equality ignoring casehttps://together-java.github.io/ModernJava/print.html#equality-ignoring-case
Check if emptyhttps://together-java.github.io/ModernJava/print.html#check-if-empty
1https://together-java.github.io/ModernJava/print.html#footnote-noshame
https://together-java.github.io/ModernJava/print.html#fr-noshame-1
Check if blankhttps://together-java.github.io/ModernJava/print.html#check-if-blank
Strip extra whitespacehttps://together-java.github.io/ModernJava/print.html#strip-extra-whitespace
Challengeshttps://together-java.github.io/ModernJava/print.html#challenges-22
Challenge 1.https://together-java.github.io/ModernJava/print.html#challenge-1-22
Challenge 2.https://together-java.github.io/ModernJava/print.html#challenge-2-22
Challenge 3.https://together-java.github.io/ModernJava/print.html#challenge-3-22
Challenge 4.https://together-java.github.io/ModernJava/print.html#challenge-4-18
Exceptionshttps://together-java.github.io/ModernJava/print.html#exceptions
throwhttps://together-java.github.io/ModernJava/print.html#throw
Messageshttps://together-java.github.io/ModernJava/print.html#messages
Stack Traceshttps://together-java.github.io/ModernJava/print.html#stack-traces
try/catchhttps://together-java.github.io/ModernJava/print.html#trycatch
1https://together-java.github.io/ModernJava/print.html#footnote-needvar
2https://together-java.github.io/ModernJava/print.html#footnote-trywithresources
https://together-java.github.io/ModernJava/print.html#fr-needvar-1
https://together-java.github.io/ModernJava/print.html#fr-trywithresources-1
Challengeshttps://together-java.github.io/ModernJava/print.html#challenges-23
Challenge 1.https://together-java.github.io/ModernJava/print.html#challenge-1-23
Challenge 2.https://together-java.github.io/ModernJava/print.html#challenge-2-23
Challenge 3.https://together-java.github.io/ModernJava/print.html#challenge-3-23
Challenge 4.https://together-java.github.io/ModernJava/print.html#challenge-4-19
Challenge 5.https://together-java.github.io/ModernJava/print.html#challenge-5-11
Switchhttps://together-java.github.io/ModernJava/print.html#switch
Case and Defaulthttps://together-java.github.io/ModernJava/print.html#case-and-default
Stringshttps://together-java.github.io/ModernJava/print.html#strings-1
intshttps://together-java.github.io/ModernJava/print.html#ints
Enumshttps://together-java.github.io/ModernJava/print.html#enums-1
Omitted Defaulthttps://together-java.github.io/ModernJava/print.html#omitted-default
Combining Caseshttps://together-java.github.io/ModernJava/print.html#combining-cases
nullhttps://together-java.github.io/ModernJava/print.html#null-1
Exhaustivenesshttps://together-java.github.io/ModernJava/print.html#exhaustiveness-1
1https://together-java.github.io/ModernJava/print.html#footnote-sometimes
2https://together-java.github.io/ModernJava/print.html#footnote-lies
https://together-java.github.io/ModernJava/print.html#fr-sometimes-1
https://together-java.github.io/ModernJava/print.html#fr-lies-1
Challengeshttps://together-java.github.io/ModernJava/print.html#challenges-24
Challenge 1.https://together-java.github.io/ModernJava/print.html#challenge-1-24
Challenge 2.https://together-java.github.io/ModernJava/print.html#challenge-2-24
Challenge 3.https://together-java.github.io/ModernJava/print.html#challenge-3-24
Challenge 4.https://together-java.github.io/ModernJava/print.html#challenge-4-20
Challenge 5.https://together-java.github.io/ModernJava/print.html#challenge-5-12
Standard Input IIhttps://together-java.github.io/ModernJava/print.html#standard-input-ii
Repromptinghttps://together-java.github.io/ModernJava/print.html#reprompting
Enumshttps://together-java.github.io/ModernJava/print.html#enums-2
Delayed Assignmenthttps://together-java.github.io/ModernJava/print.html#delayed-assignment-2
Leniencyhttps://together-java.github.io/ModernJava/print.html#leniency
1https://together-java.github.io/ModernJava/print.html#footnote-idiots
https://together-java.github.io/ModernJava/print.html#fr-idiots-1
Aggregating Datahttps://together-java.github.io/ModernJava/print.html#aggregating-data
1https://together-java.github.io/ModernJava/print.html#footnote-dto
https://together-java.github.io/ModernJava/print.html#fr-dto-1
Challengeshttps://together-java.github.io/ModernJava/print.html#challenges-25
Challenge 1https://together-java.github.io/ModernJava/print.html#challenge-1-25
Challenge 2https://together-java.github.io/ModernJava/print.html#challenge-2-25
Challenge 3https://together-java.github.io/ModernJava/print.html#challenge-3-25
Challenge 4https://together-java.github.io/ModernJava/print.html#challenge-4-21
Challenge 5https://together-java.github.io/ModernJava/print.html#challenge-5-13
Constructorshttps://together-java.github.io/ModernJava/print.html#constructors
Declarationhttps://together-java.github.io/ModernJava/print.html#declaration-5
The Default Constructorhttps://together-java.github.io/ModernJava/print.html#the-default-constructor
Argumentshttps://together-java.github.io/ModernJava/print.html#arguments-2
1https://together-java.github.io/ModernJava/print.html#footnote-this
https://together-java.github.io/ModernJava/print.html#fr-this-1
Final Fieldshttps://together-java.github.io/ModernJava/print.html#final-fields
1https://together-java.github.io/ModernJava/print.html#footnote-constant
https://together-java.github.io/ModernJava/print.html#fr-constant-1
Invariantshttps://together-java.github.io/ModernJava/print.html#invariants
1https://together-java.github.io/ModernJava/print.html#footnote-naming
https://together-java.github.io/ModernJava/print.html#fr-naming-1
Overloadshttps://together-java.github.io/ModernJava/print.html#overloads
Delegationhttps://together-java.github.io/ModernJava/print.html#delegation
Challengeshttps://together-java.github.io/ModernJava/print.html#challenges-26
Challenge 1.https://together-java.github.io/ModernJava/print.html#challenge-1-26
Challenge 2.https://together-java.github.io/ModernJava/print.html#challenge-2-26
Challenge 3.https://together-java.github.io/ModernJava/print.html#challenge-3-26
1https://together-java.github.io/ModernJava/print.html#footnote-holes
Challenge 4.https://together-java.github.io/ModernJava/print.html#challenge-4-22
https://together-java.github.io/ModernJava/print.html#fr-holes-1
Global Fieldshttps://together-java.github.io/ModernJava/print.html#global-fields
1https://together-java.github.io/ModernJava/print.html#footnote-wonthold
https://together-java.github.io/ModernJava/print.html#fr-wonthold-1
Default Valueshttps://together-java.github.io/ModernJava/print.html#default-values-2
Final Fieldshttps://together-java.github.io/ModernJava/print.html#final-fields-1
Field Accesshttps://together-java.github.io/ModernJava/print.html#field-access-2
1https://together-java.github.io/ModernJava/print.html#footnote-different
https://together-java.github.io/ModernJava/print.html#fr-different-1
Inferred Typeshttps://together-java.github.io/ModernJava/print.html#inferred-types-3
Challengeshttps://together-java.github.io/ModernJava/print.html#challenges-27
Challenge 1https://together-java.github.io/ModernJava/print.html#challenge-1-27
Challenge 2https://together-java.github.io/ModernJava/print.html#challenge-2-27
1https://together-java.github.io/ModernJava/print.html#footnote-drake
Challenge 3https://together-java.github.io/ModernJava/print.html#challenge-3-27
Kendrick Lamar's 2025 Superbowl Halftime Showhttps://www.youtube.com/watch?v=KDorKy-13ak
herehttps://genius.com/Kendrick-lamar-and-nfl-super-bowl-lix-halftime-show-lyrics
https://together-java.github.io/ModernJava/print.html#fr-drake-1
Tic-Tac-Toehttps://together-java.github.io/ModernJava/print.html#tic-tac-toe
Problem Statementhttps://together-java.github.io/ModernJava/print.html#problem-statement-3
1https://together-java.github.io/ModernJava/print.html#footnote-tball
2https://together-java.github.io/ModernJava/print.html#footnote-not
Your Goalhttps://together-java.github.io/ModernJava/print.html#your-goal-3
tic-tac-toehttps://en.wikipedia.org/wiki/Tic-tac-toe
Future Goalshttps://together-java.github.io/ModernJava/print.html#future-goals-3
ultimate tic-tac-toehttps://en.wikipedia.org/wiki/Ultimate_tic-tac-toe
3https://together-java.github.io/ModernJava/print.html#footnote-better
https://together-java.github.io/ModernJava/print.html#fr-tball-1
https://together-java.github.io/ModernJava/print.html#fr-not-1
https://together-java.github.io/ModernJava/print.html#fr-better-1
Code is Read more than Writtenhttps://together-java.github.io/ModernJava/print.html#code-is-read-more-than-written
Meaninghttps://together-java.github.io/ModernJava/print.html#meaning
1https://together-java.github.io/ModernJava/print.html#footnote-ormaybe
https://together-java.github.io/ModernJava/print.html#fr-ormaybe-1
Implicationshttps://together-java.github.io/ModernJava/print.html#implications
Information Densityhttps://together-java.github.io/ModernJava/print.html#information-density
1https://together-java.github.io/ModernJava/print.html#footnote-literate
https://together-java.github.io/ModernJava/print.html#fr-literate-1
Audiencehttps://together-java.github.io/ModernJava/print.html#audience
1https://together-java.github.io/ModernJava/print.html#footnote-arxiv
2https://together-java.github.io/ModernJava/print.html#footnote-offense
https://together-java.github.io/ModernJava/print.html#fr-arxiv-1
https://together-java.github.io/ModernJava/print.html#fr-offense-1
Practicehttps://together-java.github.io/ModernJava/print.html#practice
Exceptions IIhttps://together-java.github.io/ModernJava/print.html#exceptions-ii
Checked Exceptionshttps://together-java.github.io/ModernJava/print.html#checked-exceptions
1https://together-java.github.io/ModernJava/print.html#footnote-thisrule
https://together-java.github.io/ModernJava/print.html#fr-thisrule-1
Unchecked Exceptionshttps://together-java.github.io/ModernJava/print.html#unchecked-exceptions
throwshttps://together-java.github.io/ModernJava/print.html#throws
1https://together-java.github.io/ModernJava/print.html#footnote-doc
https://together-java.github.io/ModernJava/print.html#fr-doc-1
Propagating Exceptionshttps://together-java.github.io/ModernJava/print.html#propagating-exceptions
Exceptionhttps://together-java.github.io/ModernJava/print.html#exception
1https://together-java.github.io/ModernJava/print.html#footnote-vanillacopypasta
Tumblr user "kirbyofthestars"https://www.tumblr.com/peaceoutofthepieces/684810307611377664
https://together-java.github.io/ModernJava/print.html#fr-vanillacopypasta-1
RuntimeExceptionhttps://together-java.github.io/ModernJava/print.html#runtimeexception
1https://together-java.github.io/ModernJava/print.html#footnote-naming
https://together-java.github.io/ModernJava/print.html#fr-naming-1
Rethrowing Exceptionshttps://together-java.github.io/ModernJava/print.html#rethrowing-exceptions
1https://together-java.github.io/ModernJava/print.html#footnote-examples
https://together-java.github.io/ModernJava/print.html#fr-examples-1
mainhttps://together-java.github.io/ModernJava/print.html#main-1
Challengeshttps://together-java.github.io/ModernJava/print.html#challenges-28
Challenge 1https://together-java.github.io/ModernJava/print.html#challenge-1-28
Challenge 2https://together-java.github.io/ModernJava/print.html#challenge-2-28
Challenge 3https://together-java.github.io/ModernJava/print.html#challenge-3-28
Switch IIhttps://together-java.github.io/ModernJava/print.html#switch-ii
Yieldhttps://together-java.github.io/ModernJava/print.html#yield
1https://together-java.github.io/ModernJava/print.html#footnote-context
https://together-java.github.io/ModernJava/print.html#fr-context-1
Omitted Yieldhttps://together-java.github.io/ModernJava/print.html#omitted-yield
Exhaustivenesshttps://together-java.github.io/ModernJava/print.html#exhaustiveness-2
1https://together-java.github.io/ModernJava/print.html#footnote-reason
https://together-java.github.io/ModernJava/print.html#fr-reason-1
Return a Switchhttps://together-java.github.io/ModernJava/print.html#return-a-switch
Challengeshttps://together-java.github.io/ModernJava/print.html#challenges-29
Challenge 1https://together-java.github.io/ModernJava/print.html#challenge-1-29
Challenge 2https://together-java.github.io/ModernJava/print.html#challenge-2-29
Multi-File Programshttps://together-java.github.io/ModernJava/print.html#multi-file-programs
The Sources folderhttps://together-java.github.io/ModernJava/print.html#the-sources-folder
1https://together-java.github.io/ModernJava/print.html#footnote-layouts
https://together-java.github.io/ModernJava/print.html#fr-layouts-1
The Main filehttps://together-java.github.io/ModernJava/print.html#the-main-file
A Second filehttps://together-java.github.io/ModernJava/print.html#a-second-file
File nameshttps://together-java.github.io/ModernJava/print.html#file-names
The Anonymous Main Classhttps://together-java.github.io/ModernJava/print.html#the-anonymous-main-class
Global Fieldshttps://together-java.github.io/ModernJava/print.html#global-fields-1
1https://together-java.github.io/ModernJava/print.html#footnote-bummer
https://together-java.github.io/ModernJava/print.html#fr-bummer-1
Challengeshttps://together-java.github.io/ModernJava/print.html#challenges-30
Challenge 1https://together-java.github.io/ModernJava/print.html#challenge-1-30
Challenge 2https://together-java.github.io/ModernJava/print.html#challenge-2-30
Challenge 3https://together-java.github.io/ModernJava/print.html#challenge-3-29
Challenge 4https://together-java.github.io/ModernJava/print.html#challenge-4-23
Visibilityhttps://together-java.github.io/ModernJava/print.html#visibility
Private Methodshttps://together-java.github.io/ModernJava/print.html#private-methods
Private Fieldshttps://together-java.github.io/ModernJava/print.html#private-fields
Invariantshttps://together-java.github.io/ModernJava/print.html#invariants-1
Accessorshttps://together-java.github.io/ModernJava/print.html#accessors
1https://together-java.github.io/ModernJava/print.html#footnote-notthat
https://together-java.github.io/ModernJava/print.html#fr-notthat-1
Getters and Settershttps://together-java.github.io/ModernJava/print.html#getters-and-setters
Challengeshttps://together-java.github.io/ModernJava/print.html#challenges-31
Challenge 1https://together-java.github.io/ModernJava/print.html#challenge-1-31
Challenge 2https://together-java.github.io/ModernJava/print.html#challenge-2-31
Challenge 3https://together-java.github.io/ModernJava/print.html#challenge-3-30
Challenge 4https://together-java.github.io/ModernJava/print.html#challenge-4-24
Challenge 5https://together-java.github.io/ModernJava/print.html#challenge-5-14
Static Fieldshttps://together-java.github.io/ModernJava/print.html#static-fields
Declarationhttps://together-java.github.io/ModernJava/print.html#declaration-6
Initializationhttps://together-java.github.io/ModernJava/print.html#initialization
1https://together-java.github.io/ModernJava/print.html#footnote-confusing
https://together-java.github.io/ModernJava/print.html#fr-confusing-1
Usagehttps://together-java.github.io/ModernJava/print.html#usage-1
Constantshttps://together-java.github.io/ModernJava/print.html#constants
Controversyhttps://together-java.github.io/ModernJava/print.html#controversy
1https://together-java.github.io/ModernJava/print.html#footnote-and
https://together-java.github.io/ModernJava/print.html#fr-and-1
Naminghttps://together-java.github.io/ModernJava/print.html#naming-3
Challengeshttps://together-java.github.io/ModernJava/print.html#challenges-32
Challenge 1https://together-java.github.io/ModernJava/print.html#challenge-1-32
1https://together-java.github.io/ModernJava/print.html#footnote-threads
Challenge 2https://together-java.github.io/ModernJava/print.html#challenge-2-32
Challenge 3https://together-java.github.io/ModernJava/print.html#challenge-3-31
https://together-java.github.io/ModernJava/print.html#fr-threads-1
Static Methodshttps://together-java.github.io/ModernJava/print.html#static-methods
Declarationhttps://together-java.github.io/ModernJava/print.html#declaration-7
Scopehttps://together-java.github.io/ModernJava/print.html#scope-1
Naminghttps://together-java.github.io/ModernJava/print.html#naming-4
Usagehttps://together-java.github.io/ModernJava/print.html#usage-2
Mathhttps://together-java.github.io/ModernJava/print.html#math
1https://together-java.github.io/ModernJava/print.html#footnote-more
Take a lookhttps://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Math.html
https://together-java.github.io/ModernJava/print.html#fr-more-1
Factorieshttps://together-java.github.io/ModernJava/print.html#factories
1https://together-java.github.io/ModernJava/print.html#footnote-note
https://together-java.github.io/ModernJava/print.html#fr-note-1
Challengeshttps://together-java.github.io/ModernJava/print.html#challenges-33
Challenge 1https://together-java.github.io/ModernJava/print.html#challenge-1-33
Challenge 2https://together-java.github.io/ModernJava/print.html#challenge-2-33
quadradic formulahttps://en.wikipedia.org/wiki/Quadratic_formula
Challenge 3https://together-java.github.io/ModernJava/print.html#challenge-3-32
1https://together-java.github.io/ModernJava/print.html#footnote-other
Challenge 4https://together-java.github.io/ModernJava/print.html#challenge-4-25
https://together-java.github.io/ModernJava/print.html#fr-other-1
Growable Arrayshttps://together-java.github.io/ModernJava/print.html#growable-arrays
Concepthttps://together-java.github.io/ModernJava/print.html#concept
Simple Implementationhttps://together-java.github.io/ModernJava/print.html#simple-implementation
Usagehttps://together-java.github.io/ModernJava/print.html#usage-3
Performance Problemshttps://together-java.github.io/ModernJava/print.html#performance-problems
Performance Solutionshttps://together-java.github.io/ModernJava/print.html#performance-solutions
1https://together-java.github.io/ModernJava/print.html#footnote-important
https://together-java.github.io/ModernJava/print.html#fr-important-1
Optimized Implementationhttps://together-java.github.io/ModernJava/print.html#optimized-implementation
1https://together-java.github.io/ModernJava/print.html#footnote-obvious
https://together-java.github.io/ModernJava/print.html#fr-obvious-1
Challengeshttps://together-java.github.io/ModernJava/print.html#challenges-34
Challenge 1.https://together-java.github.io/ModernJava/print.html#challenge-1-34
Challenge 2.https://together-java.github.io/ModernJava/print.html#challenge-2-34
Challenge 3.https://together-java.github.io/ModernJava/print.html#challenge-3-33
Command Line Argumentshttps://together-java.github.io/ModernJava/print.html#command-line-arguments
1https://together-java.github.io/ModernJava/print.html#footnote-name
https://together-java.github.io/ModernJava/print.html#fr-name-1
Accessing Argumentshttps://together-java.github.io/ModernJava/print.html#accessing-arguments
Conventionshttps://together-java.github.io/ModernJava/print.html#conventions
Challengeshttps://together-java.github.io/ModernJava/print.html#challenges-35
Challenge 1.https://together-java.github.io/ModernJava/print.html#challenge-1-35
Challenge 2.https://together-java.github.io/ModernJava/print.html#challenge-2-35
Challenge 3.https://together-java.github.io/ModernJava/print.html#challenge-3-34
Challenge 4.https://together-java.github.io/ModernJava/print.html#challenge-4-26
Challenge 5.https://together-java.github.io/ModernJava/print.html#challenge-5-15
Inner Classeshttps://together-java.github.io/ModernJava/print.html#inner-classes
Typehttps://together-java.github.io/ModernJava/print.html#type
Instanceshttps://together-java.github.io/ModernJava/print.html#instances-1
New Operatorhttps://together-java.github.io/ModernJava/print.html#new-operator
Scopehttps://together-java.github.io/ModernJava/print.html#scope-2
Disambiguationhttps://together-java.github.io/ModernJava/print.html#disambiguation-1
The anonymous main classhttps://together-java.github.io/ModernJava/print.html#the-anonymous-main-class-1
Static Inner Classeshttps://together-java.github.io/ModernJava/print.html#static-inner-classes
1https://together-java.github.io/ModernJava/print.html#footnote-theme
https://together-java.github.io/ModernJava/print.html#fr-theme-1
Private Inner Classeshttps://together-java.github.io/ModernJava/print.html#private-inner-classes
Challengeshttps://together-java.github.io/ModernJava/print.html#challenges-36
Challenge 1.https://together-java.github.io/ModernJava/print.html#challenge-1-36
Challenge 2.https://together-java.github.io/ModernJava/print.html#challenge-2-36
Challenge 3.https://together-java.github.io/ModernJava/print.html#challenge-3-35
Challenge 4.https://together-java.github.io/ModernJava/print.html#challenge-4-27
Packageshttps://together-java.github.io/ModernJava/print.html#packages
Declarationhttps://together-java.github.io/ModernJava/print.html#declaration-8
Visibilityhttps://together-java.github.io/ModernJava/print.html#visibility-1
Public Classeshttps://together-java.github.io/ModernJava/print.html#public-classes
Fully Qualified Class Namehttps://together-java.github.io/ModernJava/print.html#fully-qualified-class-name
1https://together-java.github.io/ModernJava/print.html#footnote-fqcn
https://together-java.github.io/ModernJava/print.html#fr-fqcn-1
Importhttps://together-java.github.io/ModernJava/print.html#import
Package Importshttps://together-java.github.io/ModernJava/print.html#package-imports
The Default Packagehttps://together-java.github.io/ModernJava/print.html#the-default-package
1https://together-java.github.io/ModernJava/print.html#footnote-andmore
https://together-java.github.io/ModernJava/print.html#fr-andmore-1
The Anonymous Main Classhttps://together-java.github.io/ModernJava/print.html#the-anonymous-main-class-2
Public Methodshttps://together-java.github.io/ModernJava/print.html#public-methods
Package-Private Methodshttps://together-java.github.io/ModernJava/print.html#package-private-methods
Public Fieldshttps://together-java.github.io/ModernJava/print.html#public-fields
Package-Private Fieldshttps://together-java.github.io/ModernJava/print.html#package-private-fields
The Default Constructorhttps://together-java.github.io/ModernJava/print.html#the-default-constructor-1
Public Constructorshttps://together-java.github.io/ModernJava/print.html#public-constructors
1https://together-java.github.io/ModernJava/print.html#footnote-youguessed
https://together-java.github.io/ModernJava/print.html#fr-youguessed-1
Package-Private Constructorshttps://together-java.github.io/ModernJava/print.html#package-private-constructors
1https://together-java.github.io/ModernJava/print.html#footnote-private
https://together-java.github.io/ModernJava/print.html#fr-private-1
Subpackageshttps://together-java.github.io/ModernJava/print.html#subpackages
Reverse Domain Name Notationhttps://together-java.github.io/ModernJava/print.html#reverse-domain-name-notation
1https://together-java.github.io/ModernJava/print.html#footnote-shared
2https://together-java.github.io/ModernJava/print.html#footnote-thisiswhy
https://together-java.github.io/ModernJava/print.html#fr-shared-1
https://together-java.github.io/ModernJava/print.html#fr-thisiswhy-1
Challengeshttps://together-java.github.io/ModernJava/print.html#challenges-37
Challenge 1.https://together-java.github.io/ModernJava/print.html#challenge-1-37
Challenge 2.https://together-java.github.io/ModernJava/print.html#challenge-2-37
Challenge 3.https://together-java.github.io/ModernJava/print.html#challenge-3-36
the list of packages that come with Javahttps://docs.oracle.com/en/java/javase/25/docs/api/java.base/module-summary.html
Recordshttps://together-java.github.io/ModernJava/print.html#records
Declarationhttps://together-java.github.io/ModernJava/print.html#declaration-9
1https://together-java.github.io/ModernJava/print.html#footnote-astowhy
https://together-java.github.io/ModernJava/print.html#fr-astowhy-1
The Canonical Constructorhttps://together-java.github.io/ModernJava/print.html#the-canonical-constructor
Component Accessorshttps://together-java.github.io/ModernJava/print.html#component-accessors
Component Accessor Visibilityhttps://together-java.github.io/ModernJava/print.html#component-accessor-visibility
Printing a Recordhttps://together-java.github.io/ModernJava/print.html#printing-a-record
1https://together-java.github.io/ModernJava/print.html#footnote-possible
https://together-java.github.io/ModernJava/print.html#fr-possible-1
Check for Equalityhttps://together-java.github.io/ModernJava/print.html#check-for-equality
Return Multiple Valueshttps://together-java.github.io/ModernJava/print.html#return-multiple-values-1
Shorthandhttps://together-java.github.io/ModernJava/print.html#shorthand
1https://together-java.github.io/ModernJava/print.html#footnote-nonnative
https://together-java.github.io/ModernJava/print.html#fr-nonnative-1
Challengeshttps://together-java.github.io/ModernJava/print.html#challenges-38
Challenge 1.https://together-java.github.io/ModernJava/print.html#challenge-1-38
Challenge 2.https://together-java.github.io/ModernJava/print.html#challenge-2-38
Challenge 3.https://together-java.github.io/ModernJava/print.html#challenge-3-37
Integers IIhttps://together-java.github.io/ModernJava/print.html#integers-ii
Integer from a Stringhttps://together-java.github.io/ModernJava/print.html#integer-from-a-string
1https://together-java.github.io/ModernJava/print.html#footnote-already
https://together-java.github.io/ModernJava/print.html#fr-already-1
Integer to a Stringhttps://together-java.github.io/ModernJava/print.html#integer-to-a-string
Base 16 Integer Literalshttps://together-java.github.io/ModernJava/print.html#base-16-integer-literals
1https://together-java.github.io/ModernJava/print.html#footnote-everything
https://together-java.github.io/ModernJava/print.html#fr-everything-1
Integer from a Base 16 Stringhttps://together-java.github.io/ModernJava/print.html#integer-from-a-base-16-string
Integer to a Base 16 Stringhttps://together-java.github.io/ModernJava/print.html#integer-to-a-base-16-string
Underscores in Integer Literalshttps://together-java.github.io/ModernJava/print.html#underscores-in-integer-literals
Challengeshttps://together-java.github.io/ModernJava/print.html#challenges-39
Challenge 1.https://together-java.github.io/ModernJava/print.html#challenge-1-39
Challenge 2.https://together-java.github.io/ModernJava/print.html#challenge-2-39
Challenge 3.https://together-java.github.io/ModernJava/print.html#challenge-3-38
Fileshttps://together-java.github.io/ModernJava/print.html#files
1https://together-java.github.io/ModernJava/print.html#footnote-normal
https://together-java.github.io/ModernJava/print.html#fr-normal-1
Pathshttps://together-java.github.io/ModernJava/print.html#paths
1https://together-java.github.io/ModernJava/print.html#footnote-nio
https://together-java.github.io/ModernJava/print.html#fr-nio-1
IOExceptionhttps://together-java.github.io/ModernJava/print.html#ioexception
UncheckedIOExceptionhttps://together-java.github.io/ModernJava/print.html#uncheckedioexception
Write to a Filehttps://together-java.github.io/ModernJava/print.html#write-to-a-file
Read from a Filehttps://together-java.github.io/ModernJava/print.html#read-from-a-file
1https://together-java.github.io/ModernJava/print.html#footnote-filenotfound
2https://together-java.github.io/ModernJava/print.html#footnote-mostly
https://together-java.github.io/ModernJava/print.html#fr-filenotfound-1
https://together-java.github.io/ModernJava/print.html#fr-mostly-1
Creating a Folderhttps://together-java.github.io/ModernJava/print.html#creating-a-folder
Challengeshttps://together-java.github.io/ModernJava/print.html#challenges-40
Challenge 1.https://together-java.github.io/ModernJava/print.html#challenge-1-40
Challenge 2.https://together-java.github.io/ModernJava/print.html#challenge-2-40
Challenge 3.https://together-java.github.io/ModernJava/print.html#challenge-3-39
Challenge 4.https://together-java.github.io/ModernJava/print.html#challenge-4-28
Challenge 5.https://together-java.github.io/ModernJava/print.html#challenge-5-16
Challenge 6.https://together-java.github.io/ModernJava/print.html#challenge-6-5
Data Visualizationhttps://together-java.github.io/ModernJava/print.html#data-visualization
Problem Statementhttps://together-java.github.io/ModernJava/print.html#problem-statement-4
miasma theory of diseasehttps://en.wikipedia.org/wiki/Miasma_theory
a plague doctorhttps://en.wikipedia.org/wiki/Plague_doctor
Dr. John Snowhttps://pmc.ncbi.nlm.nih.gov/articles/PMC11416802/
overlaying the number of people who got sick onto a map of the townhttps://cdn.ncbi.nlm.nih.gov/pmc/blobs/917c/11416802/c06be2237467/cureus-0016-00000067602-i02.jpg
Your Goalhttps://together-java.github.io/ModernJava/print.html#your-goal-4
bar chartshttps://en.wikipedia.org/wiki/Bar_chart
PPMhttps://en.wikipedia.org/wiki/Netpbm
1https://together-java.github.io/ModernJava/print.html#footnote-believe
Future Goalshttps://together-java.github.io/ModernJava/print.html#future-goals-4
CSVhttps://en.wikipedia.org/wiki/Comma-separated_values
https://together-java.github.io/ModernJava/print.html#fr-believe-1
Objecthttps://together-java.github.io/ModernJava/print.html#object
Subtypeshttps://together-java.github.io/ModernJava/print.html#subtypes
1https://together-java.github.io/ModernJava/print.html#footnote-super
https://together-java.github.io/ModernJava/print.html#fr-super-1
instanceofhttps://together-java.github.io/ModernJava/print.html#instanceof
toStringhttps://together-java.github.io/ModernJava/print.html#tostring
Override toStringhttps://together-java.github.io/ModernJava/print.html#override-tostring
@Overridehttps://together-java.github.io/ModernJava/print.html#override
equals and hashCodehttps://together-java.github.io/ModernJava/print.html#equals-and-hashcode
Override equals and hashCodehttps://together-java.github.io/ModernJava/print.html#override-equals-and-hashcode
1https://together-java.github.io/ModernJava/print.html#footnote-exotic
https://together-java.github.io/ModernJava/print.html#fr-exotic-1
Challengeshttps://together-java.github.io/ModernJava/print.html#challenges-41
Challenge 1.https://together-java.github.io/ModernJava/print.html#challenge-1-41
Challenge 2.https://together-java.github.io/ModernJava/print.html#challenge-2-41
Challenge 3.https://together-java.github.io/ModernJava/print.html#challenge-3-40
Challenge 4.https://together-java.github.io/ModernJava/print.html#challenge-4-29
Genericshttps://together-java.github.io/ModernJava/print.html#generics
Type Variableshttps://together-java.github.io/ModernJava/print.html#type-variables
Naminghttps://together-java.github.io/ModernJava/print.html#naming-5
Instantiationhttps://together-java.github.io/ModernJava/print.html#instantiation
Inferencehttps://together-java.github.io/ModernJava/print.html#inference
Soundnesshttps://together-java.github.io/ModernJava/print.html#soundness
Raw Typeshttps://together-java.github.io/ModernJava/print.html#raw-types
1https://together-java.github.io/ModernJava/print.html#footnote-unbounded
https://together-java.github.io/ModernJava/print.html#fr-unbounded-1
Challengeshttps://together-java.github.io/ModernJava/print.html#challenges-42
Challenge 1.https://together-java.github.io/ModernJava/print.html#challenge-1-42
Challenge 2.https://together-java.github.io/ModernJava/print.html#challenge-2-42
Challenge 3.https://together-java.github.io/ModernJava/print.html#challenge-3-41
Interfaceshttps://together-java.github.io/ModernJava/print.html#interfaces
Interface Declarationhttps://together-java.github.io/ModernJava/print.html#interface-declaration
Implementationhttps://together-java.github.io/ModernJava/print.html#implementation
1https://together-java.github.io/ModernJava/print.html#footnote-fornow
2https://together-java.github.io/ModernJava/print.html#footnote-all
https://together-java.github.io/ModernJava/print.html#fr-fornow-1
https://together-java.github.io/ModernJava/print.html#fr-all-1
@Overridehttps://together-java.github.io/ModernJava/print.html#override-1
Naminghttps://together-java.github.io/ModernJava/print.html#naming-6
Subtypeshttps://together-java.github.io/ModernJava/print.html#subtypes-1
Multiple Implementationshttps://together-java.github.io/ModernJava/print.html#multiple-implementations
Challengeshttps://together-java.github.io/ModernJava/print.html#challenges-43
Challenge 1.https://together-java.github.io/ModernJava/print.html#challenge-1-43
Challenge 2.https://together-java.github.io/ModernJava/print.html#challenge-2-43
Challenge 3.https://together-java.github.io/ModernJava/print.html#challenge-3-42
Challenge 4.https://together-java.github.io/ModernJava/print.html#challenge-4-30
each tarot card featured in JoJo's Bizzare Adventurehttps://jojowiki.com/Tarot_Cards
Challenge 5.https://together-java.github.io/ModernJava/print.html#challenge-5-17
Timehttps://together-java.github.io/ModernJava/print.html#time
1https://together-java.github.io/ModernJava/print.html#footnote-source
https://together-java.github.io/ModernJava/print.html#fr-source-1
Instanthttps://together-java.github.io/ModernJava/print.html#instant
1https://together-java.github.io/ModernJava/print.html#footnote-epoch
https://together-java.github.io/ModernJava/print.html#fr-epoch-1
Durationhttps://together-java.github.io/ModernJava/print.html#duration
LocalDatehttps://together-java.github.io/ModernJava/print.html#localdate
LocalTimehttps://together-java.github.io/ModernJava/print.html#localtime
LocalDateTimehttps://together-java.github.io/ModernJava/print.html#localdatetime
Time Zoneshttps://together-java.github.io/ModernJava/print.html#time-zones
a big listhttps://www.iana.org/time-zones
ZonedDateTimehttps://together-java.github.io/ModernJava/print.html#zoneddatetime
OffsetDateTimehttps://together-java.github.io/ModernJava/print.html#offsetdatetime
UTChttps://en.wikipedia.org/wiki/Coordinated_Universal_Time
1https://together-java.github.io/ModernJava/print.html#footnote-utc
a compromise between the two languageshttps://www.nist.gov/pml/time-and-frequency-division/how-utcnist-related-coordinated-universal-time-utc-international#7114136
https://together-java.github.io/ModernJava/print.html#fr-utc-1
Datehttps://together-java.github.io/ModernJava/print.html#date
1https://together-java.github.io/ModernJava/print.html#footnote-gmt
the documentation for Datehttps://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/util/Date.html
https://together-java.github.io/ModernJava/print.html#fr-gmt-1
Challengeshttps://together-java.github.io/ModernJava/print.html#challenges-44
Challenge 1.https://together-java.github.io/ModernJava/print.html#challenge-1-44
Challenge 2.https://together-java.github.io/ModernJava/print.html#challenge-2-44
Challenge 3.https://together-java.github.io/ModernJava/print.html#challenge-3-43
Challenge 4.https://together-java.github.io/ModernJava/print.html#challenge-4-31
ArrayListhttps://together-java.github.io/ModernJava/print.html#arraylist
Ubiquityhttps://together-java.github.io/ModernJava/print.html#ubiquity
Add an itemhttps://together-java.github.io/ModernJava/print.html#add-an-item
Sizehttps://together-java.github.io/ModernJava/print.html#size
Get an itemhttps://together-java.github.io/ModernJava/print.html#get-an-item
Loop over Contentshttps://together-java.github.io/ModernJava/print.html#loop-over-contents
Set an itemhttps://together-java.github.io/ModernJava/print.html#set-an-item
Remove an itemhttps://together-java.github.io/ModernJava/print.html#remove-an-item
Challengeshttps://together-java.github.io/ModernJava/print.html#challenges-45
Challenge 1.https://together-java.github.io/ModernJava/print.html#challenge-1-45
Challenge 2.https://together-java.github.io/ModernJava/print.html#challenge-2-45
Challenge 3.https://together-java.github.io/ModernJava/print.html#challenge-3-44
the list herehttps://listofdeaths.fandom.com/wiki/John_Wick#John_Wick_(2014)
Challenge 4.https://together-java.github.io/ModernJava/print.html#challenge-4-32
HashMaphttps://together-java.github.io/ModernJava/print.html#hashmap
Filing Cabinetshttps://together-java.github.io/ModernJava/print.html#filing-cabinets
1https://together-java.github.io/ModernJava/print.html#footnote-sorted
https://together-java.github.io/ModernJava/print.html#fr-sorted-1
Keys and Valueshttps://together-java.github.io/ModernJava/print.html#keys-and-values
Put Itemshttps://together-java.github.io/ModernJava/print.html#put-items
1https://together-java.github.io/ModernJava/print.html#footnote-watchcars
https://together-java.github.io/ModernJava/print.html#fr-watchcars-1
Get Itemshttps://together-java.github.io/ModernJava/print.html#get-items
Hash Functionshttps://together-java.github.io/ModernJava/print.html#hash-functions
Hash Collisionhttps://together-java.github.io/ModernJava/print.html#hash-collision
Hash Distributionhttps://together-java.github.io/ModernJava/print.html#hash-distribution
1https://together-java.github.io/ModernJava/print.html#footnote-irish
https://together-java.github.io/ModernJava/print.html#fr-irish-1
Reference Based Identityhttps://together-java.github.io/ModernJava/print.html#reference-based-identity
Value Based Identityhttps://together-java.github.io/ModernJava/print.html#value-based-identity
1https://together-java.github.io/ModernJava/print.html#footnote-difference
2https://together-java.github.io/ModernJava/print.html#footnote-bydefault
https://together-java.github.io/ModernJava/print.html#fr-difference-1
https://together-java.github.io/ModernJava/print.html#fr-bydefault-1
Appropriate Keyshttps://together-java.github.io/ModernJava/print.html#appropriate-keys
Ubiquityhttps://together-java.github.io/ModernJava/print.html#ubiquity-1
Challengeshttps://together-java.github.io/ModernJava/print.html#challenges-46
Challenge 1.https://together-java.github.io/ModernJava/print.html#challenge-1-46
ISBNhttps://en.wikipedia.org/wiki/ISBN
Challenge 2.https://together-java.github.io/ModernJava/print.html#challenge-2-46
other methods on HashMap that can help youhttps://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/util/HashMap.html
Challenge 3.https://together-java.github.io/ModernJava/print.html#challenge-3-45
Hyrum's Lawhttps://together-java.github.io/ModernJava/print.html#hyrums-law
Authorityhttps://together-java.github.io/ModernJava/print.html#authority
Validityhttps://together-java.github.io/ModernJava/print.html#validity
https://www.hyrumslaw.com/https://www.hyrumslaw.com/
Emergent Propertieshttps://together-java.github.io/ModernJava/print.html#emergent-properties
Importancehttps://together-java.github.io/ModernJava/print.html#importance
1https://together-java.github.io/ModernJava/print.html#footnote-setAccessible
https://together-java.github.io/ModernJava/print.html#fr-setAccessible-1
Switch IIIhttps://together-java.github.io/ModernJava/print.html#switch-iii
breakhttps://together-java.github.io/ModernJava/print.html#break-2
1https://together-java.github.io/ModernJava/print.html#footnote-cookout
Who should be invited to the cookout?https://www.youtube.com/watch?v=64SoFWJHSd8
https://together-java.github.io/ModernJava/print.html#fr-cookout-1
Fallthroughhttps://together-java.github.io/ModernJava/print.html#fallthrough
1https://together-java.github.io/ModernJava/print.html#footnote-history
This StackExchange Posthttps://softwareengineering.stackexchange.com/questions/162615/why-dont-languages-use-explicit-fall-through-on-switch-statements
https://together-java.github.io/ModernJava/print.html#fr-history-1
returnhttps://together-java.github.io/ModernJava/print.html#return-1
defaulthttps://together-java.github.io/ModernJava/print.html#default
yieldhttps://together-java.github.io/ModernJava/print.html#yield-1
Challengeshttps://together-java.github.io/ModernJava/print.html#challenges-47
Challenge 1.https://together-java.github.io/ModernJava/print.html#challenge-1-47
Challenge 2.https://together-java.github.io/ModernJava/print.html#challenge-2-47
Challenge 3.https://together-java.github.io/ModernJava/print.html#challenge-3-46
Recursionhttps://together-java.github.io/ModernJava/print.html#recursion
Disclaimerhttps://together-java.github.io/ModernJava/print.html#disclaimer
Base Casehttps://together-java.github.io/ModernJava/print.html#base-case
Comparison to Delegationhttps://together-java.github.io/ModernJava/print.html#comparison-to-delegation
Comparison to Loopshttps://together-java.github.io/ModernJava/print.html#comparison-to-loops
Counting Downhttps://together-java.github.io/ModernJava/print.html#counting-down-1
Accumulatorshttps://together-java.github.io/ModernJava/print.html#accumulators
1https://together-java.github.io/ModernJava/print.html#footnote-naming
https://together-java.github.io/ModernJava/print.html#fr-naming-1
Recurse Over a Stringhttps://together-java.github.io/ModernJava/print.html#recurse-over-a-string
Recurse Over an Arrayhttps://together-java.github.io/ModernJava/print.html#recurse-over-an-array
Challengeshttps://together-java.github.io/ModernJava/print.html#challenges-48
Challenge 1.https://together-java.github.io/ModernJava/print.html#challenge-1-48
Challenge 2.https://together-java.github.io/ModernJava/print.html#challenge-2-48
Challenge 3.https://together-java.github.io/ModernJava/print.html#challenge-3-47
Challenge 4.https://together-java.github.io/ModernJava/print.html#challenge-4-33
Challenge 5.https://together-java.github.io/ModernJava/print.html#challenge-5-18
Loops IIIhttps://together-java.github.io/ModernJava/print.html#loops-iii
For-each loopshttps://together-java.github.io/ModernJava/print.html#for-each-loops
1https://together-java.github.io/ModernJava/print.html#footnote-enhanced
That is its name in the language spechttps://docs.oracle.com/javase/specs/jls/se25/html/jls-14.html#jls-14.14.2
https://together-java.github.io/ModernJava/print.html#fr-enhanced-1
Arrayshttps://together-java.github.io/ModernJava/print.html#arrays-1
Iterable and Iteratorhttps://together-java.github.io/ModernJava/print.html#iterable-and-iterator
Iteratorhttps://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/util/Iterator.html
1https://together-java.github.io/ModernJava/print.html#footnote-remove
Iterablehttps://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/util/Iterable.html
2https://together-java.github.io/ModernJava/print.html#footnote-important
https://together-java.github.io/ModernJava/print.html#fr-remove-1
https://together-java.github.io/ModernJava/print.html#fr-important-1
ArrayListhttps://together-java.github.io/ModernJava/print.html#arraylist-1
Stringhttps://together-java.github.io/ModernJava/print.html#string
Concurrent Modificationshttps://together-java.github.io/ModernJava/print.html#concurrent-modifications
1https://together-java.github.io/ModernJava/print.html#footnote-should
2https://together-java.github.io/ModernJava/print.html#footnote-remove
https://together-java.github.io/ModernJava/print.html#fr-should-1
https://together-java.github.io/ModernJava/print.html#fr-remove-1
Inferred Typeshttps://together-java.github.io/ModernJava/print.html#inferred-types-4
Challengeshttps://together-java.github.io/ModernJava/print.html#challenges-49
Challenge 1.https://together-java.github.io/ModernJava/print.html#challenge-1-49
Challenge 2.https://together-java.github.io/ModernJava/print.html#challenge-2-49
Challenge 3.https://together-java.github.io/ModernJava/print.html#challenge-3-48
Encapsulationhttps://together-java.github.io/ModernJava/print.html#encapsulation
Implementation Detailshttps://together-java.github.io/ModernJava/print.html#implementation-details
1https://together-java.github.io/ModernJava/print.html#footnote-bingit
https://together-java.github.io/ModernJava/print.html#fr-bingit-1
Implicit Interfaceshttps://together-java.github.io/ModernJava/print.html#implicit-interfaces
1https://together-java.github.io/ModernJava/print.html#footnote-implicit
https://together-java.github.io/ModernJava/print.html#fr-implicit-1
Methodshttps://together-java.github.io/ModernJava/print.html#methods-1
1https://together-java.github.io/ModernJava/print.html#footnote-liberties
2https://together-java.github.io/ModernJava/print.html#footnote-notimpressive
3https://together-java.github.io/ModernJava/print.html#footnote-news
https://together-java.github.io/ModernJava/print.html#fr-liberties-1
https://together-java.github.io/ModernJava/print.html#fr-notimpressive-1
https://together-java.github.io/ModernJava/print.html#fr-news-1
Classeshttps://together-java.github.io/ModernJava/print.html#classes-1
1https://together-java.github.io/ModernJava/print.html#footnote-liberties
https://together-java.github.io/ModernJava/print.html#fr-liberties-1
Abstractionhttps://together-java.github.io/ModernJava/print.html#abstraction
Couplinghttps://together-java.github.io/ModernJava/print.html#coupling
Leaky Abstractionshttps://together-java.github.io/ModernJava/print.html#leaky-abstractions
Information Hidinghttps://together-java.github.io/ModernJava/print.html#information-hiding
1https://together-java.github.io/ModernJava/print.html#footnote-if
https://together-java.github.io/ModernJava/print.html#fr-if-1
Collectionshttps://together-java.github.io/ModernJava/print.html#collections
1https://together-java.github.io/ModernJava/print.html#footnote-marketing
https://together-java.github.io/ModernJava/print.html#fr-marketing-1
Listhttps://together-java.github.io/ModernJava/print.html#list
1https://together-java.github.io/ModernJava/print.html#footnote-saveafew
https://together-java.github.io/ModernJava/print.html#fr-saveafew-1
Maphttps://together-java.github.io/ModernJava/print.html#map
Sethttps://together-java.github.io/ModernJava/print.html#set
Arrayshttps://together-java.github.io/ModernJava/print.html#arrays-2
1https://together-java.github.io/ModernJava/print.html#footnote-history
https://together-java.github.io/ModernJava/print.html#fr-history-1
UnsupportedOperationExceptionhttps://together-java.github.io/ModernJava/print.html#unsupportedoperationexception
Factorieshttps://together-java.github.io/ModernJava/print.html#factories-1
1https://together-java.github.io/ModernJava/print.html#footnote-interface_static_methods
2https://together-java.github.io/ModernJava/print.html#footnote-fine
https://together-java.github.io/ModernJava/print.html#fr-interface_static_methods-1
https://together-java.github.io/ModernJava/print.html#fr-fine-1
Specificityhttps://together-java.github.io/ModernJava/print.html#specificity
Challengeshttps://together-java.github.io/ModernJava/print.html#challenges-50
Challenge 1.https://together-java.github.io/ModernJava/print.html#challenge-1-50
Challenge 2.https://together-java.github.io/ModernJava/print.html#challenge-2-50
Reflectionhttps://together-java.github.io/ModernJava/print.html#reflection
1https://together-java.github.io/ModernJava/print.html#footnote-whenhumans
https://together-java.github.io/ModernJava/print.html#fr-whenhumans-1
Class Objectshttps://together-java.github.io/ModernJava/print.html#class-objects
1https://together-java.github.io/ModernJava/print.html#footnote-ifconfused
https://together-java.github.io/ModernJava/print.html#fr-ifconfused-1
Get all Fieldshttps://together-java.github.io/ModernJava/print.html#get-all-fields
Get a Fieldhttps://together-java.github.io/ModernJava/print.html#get-a-field
Read from a Fieldhttps://together-java.github.io/ModernJava/print.html#read-from-a-field
1https://together-java.github.io/ModernJava/print.html#footnote-permission
https://together-java.github.io/ModernJava/print.html#fr-permission-1
Write to a Fieldhttps://together-java.github.io/ModernJava/print.html#write-to-a-field
1https://together-java.github.io/ModernJava/print.html#footnote-finalfields
https://together-java.github.io/ModernJava/print.html#fr-finalfields-1
Get all Methodshttps://together-java.github.io/ModernJava/print.html#get-all-methods
Get a Methodhttps://together-java.github.io/ModernJava/print.html#get-a-method
Invoke a Methodhttps://together-java.github.io/ModernJava/print.html#invoke-a-method
1https://together-java.github.io/ModernJava/print.html#footnote-strange
https://together-java.github.io/ModernJava/print.html#fr-strange-1
Get a Constructorhttps://together-java.github.io/ModernJava/print.html#get-a-constructor
Get all Constructorshttps://together-java.github.io/ModernJava/print.html#get-all-constructors
1https://together-java.github.io/ModernJava/print.html#footnote-genericarrays
https://together-java.github.io/ModernJava/print.html#fr-genericarrays-1
Invoke a Constructorhttps://together-java.github.io/ModernJava/print.html#invoke-a-constructor
Challengeshttps://together-java.github.io/ModernJava/print.html#challenges-51
Challenge 1.https://together-java.github.io/ModernJava/print.html#challenge-1-51
Classhttps://docs.oracle.com/en/java/javase/25/docs/api/index.html
Challenge 2.https://together-java.github.io/ModernJava/print.html#challenge-2-51
Challenge 3.https://together-java.github.io/ModernJava/print.html#challenge-3-49
Challenge 4.https://together-java.github.io/ModernJava/print.html#challenge-4-34
1https://together-java.github.io/ModernJava/print.html#footnote-speech
https://together-java.github.io/ModernJava/print.html#fr-speech-1
Annotationshttps://together-java.github.io/ModernJava/print.html#annotations
Declarationhttps://together-java.github.io/ModernJava/print.html#declaration-10
1https://together-java.github.io/ModernJava/print.html#footnote-shared
https://together-java.github.io/ModernJava/print.html#fr-shared-1
Usagehttps://together-java.github.io/ModernJava/print.html#usage-4
Elementshttps://together-java.github.io/ModernJava/print.html#elements
1https://together-java.github.io/ModernJava/print.html#footnote-fulllist
herehttps://docs.oracle.com/javase/specs/jls/se25/html/jls-9.html#jls-9.6
https://together-java.github.io/ModernJava/print.html#fr-fulllist-1
Usage with Elementshttps://together-java.github.io/ModernJava/print.html#usage-with-elements
Defaultshttps://together-java.github.io/ModernJava/print.html#defaults
@Targethttps://together-java.github.io/ModernJava/print.html#target
1https://together-java.github.io/ModernJava/print.html#footnote-typeuse
https://together-java.github.io/ModernJava/print.html#fr-typeuse-1
@Retentionhttps://together-java.github.io/ModernJava/print.html#retention
Reflective Accesshttps://together-java.github.io/ModernJava/print.html#reflective-access
@Overridehttps://together-java.github.io/ModernJava/print.html#override-2
Challengeshttps://together-java.github.io/ModernJava/print.html#challenges-52
Challenge 1.https://together-java.github.io/ModernJava/print.html#challenge-1-52
Challenge 2.https://together-java.github.io/ModernJava/print.html#challenge-2-52
24/7 Lofi Hip Hop Radio - Beats to Relax/Study Tohttps://www.youtube.com/watch?v=jfKfPfyJRdk
Challenge 3.https://together-java.github.io/ModernJava/print.html#challenge-3-50
Interfaces IIhttps://together-java.github.io/ModernJava/print.html#interfaces-ii
Default Methodshttps://together-java.github.io/ModernJava/print.html#default-methods
1https://together-java.github.io/ModernJava/print.html#footnote-allmethods
https://together-java.github.io/ModernJava/print.html#fr-allmethods-1
Interface Extensionhttps://together-java.github.io/ModernJava/print.html#interface-extension
Static Methodshttps://together-java.github.io/ModernJava/print.html#static-methods-1
Static Fieldshttps://together-java.github.io/ModernJava/print.html#static-fields-1
Challengeshttps://together-java.github.io/ModernJava/print.html#challenges-53
Challenge 1.https://together-java.github.io/ModernJava/print.html#challenge-1-53
Challenge 2.https://together-java.github.io/ModernJava/print.html#challenge-2-53
1https://together-java.github.io/ModernJava/print.html#footnote-zero
Challenge 3.https://together-java.github.io/ModernJava/print.html#challenge-3-51
2https://together-java.github.io/ModernJava/print.html#footnote-unrunnable
https://together-java.github.io/ModernJava/print.html#fr-zero-1
https://together-java.github.io/ModernJava/print.html#fr-unrunnable-1
Class Extensionhttps://together-java.github.io/ModernJava/print.html#class-extension
Extend a Classhttps://together-java.github.io/ModernJava/print.html#extend-a-class
Inheritancehttps://together-java.github.io/ModernJava/print.html#inheritance
Overridehttps://together-java.github.io/ModernJava/print.html#override-3
Protectedhttps://together-java.github.io/ModernJava/print.html#protected
Abstract Classeshttps://together-java.github.io/ModernJava/print.html#abstract-classes
1https://together-java.github.io/ModernJava/print.html#footnote-concrete
https://together-java.github.io/ModernJava/print.html#fr-concrete-1
Abstract Methodshttps://together-java.github.io/ModernJava/print.html#abstract-methods
Relation to Interfaceshttps://together-java.github.io/ModernJava/print.html#relation-to-interfaces
1https://together-java.github.io/ModernJava/print.html#footnote-somelangs
2https://together-java.github.io/ModernJava/print.html#footnote-tricky
https://together-java.github.io/ModernJava/print.html#fr-somelangs-1
https://together-java.github.io/ModernJava/print.html#fr-tricky-1
Relation to Encapsulationhttps://together-java.github.io/ModernJava/print.html#relation-to-encapsulation
1https://together-java.github.io/ModernJava/print.html#footnote-well
1https://together-java.github.io/ModernJava/print.html#footnote-well
https://together-java.github.io/ModernJava/print.html#fr-well-1
↩2https://together-java.github.io/ModernJava/print.html#fr-well-2
Final Classeshttps://together-java.github.io/ModernJava/print.html#final-classes
Challengeshttps://together-java.github.io/ModernJava/print.html#challenges-54
Challenge 1.https://together-java.github.io/ModernJava/print.html#challenge-1-54
Challenge 2.https://together-java.github.io/ModernJava/print.html#challenge-2-54
herehttps://docs.oracle.com/javase/25/docs/api/java/util/AbstractList.html
Challenge 3.https://together-java.github.io/ModernJava/print.html#challenge-3-52
Challenge 4.https://together-java.github.io/ModernJava/print.html#challenge-4-35
Niche Numericshttps://together-java.github.io/ModernJava/print.html#niche-numerics
1https://together-java.github.io/ModernJava/print.html#footnote-wording
https://together-java.github.io/ModernJava/print.html#fr-wording-1
bytehttps://together-java.github.io/ModernJava/print.html#byte
shorthttps://together-java.github.io/ModernJava/print.html#short
1https://together-java.github.io/ModernJava/print.html#footnote-neither
2https://together-java.github.io/ModernJava/print.html#footnote-rare
https://together-java.github.io/ModernJava/print.html#fr-neither-1
https://together-java.github.io/ModernJava/print.html#fr-rare-1
longhttps://together-java.github.io/ModernJava/print.html#long
1https://together-java.github.io/ModernJava/print.html#footnote-lforlong
https://together-java.github.io/ModernJava/print.html#fr-lforlong-1
Unsigned Operationshttps://together-java.github.io/ModernJava/print.html#unsigned-operations
floathttps://together-java.github.io/ModernJava/print.html#float
Challengeshttps://together-java.github.io/ModernJava/print.html#challenges-55
Challenge 1.https://together-java.github.io/ModernJava/print.html#challenge-1-55
Challenge 2.https://together-java.github.io/ModernJava/print.html#challenge-2-55
Challenge 3.https://together-java.github.io/ModernJava/print.html#challenge-3-53
Challenge 4.https://together-java.github.io/ModernJava/print.html#challenge-4-36
Music Makerhttps://together-java.github.io/ModernJava/print.html#music-maker
Problem Statementhttps://together-java.github.io/ModernJava/print.html#problem-statement-5
it vibrates your eardrumhttps://www.nidcd.nih.gov/health/how-do-we-hear
to a thousands of years old stone tablet.https://www.youtube.com/watch?v=KElPnD-dbkk
1https://together-java.github.io/ModernJava/print.html#footnote-lincoln
in 1860 in Paris by Édouard-Léon Scott de Martinvillehttps://www.firstsounds.org/sounds/scott.php
vinyl recordhttps://victrola.com/blogs/articles/does-music-really-sound-better-on-vinyl
2https://together-java.github.io/ModernJava/print.html#footnote-debate
Your Goalhttps://together-java.github.io/ModernJava/print.html#your-goal-5
Three Blind Micehttps://en.wikipedia.org/wiki/Three_Blind_Mice
3https://together-java.github.io/ModernJava/print.html#footnote-haloreach
Future Goalshttps://together-java.github.io/ModernJava/print.html#future-goals-5
https://together-java.github.io/ModernJava/print.html#fr-lincoln-1
https://together-java.github.io/ModernJava/print.html#fr-debate-1
https://together-java.github.io/ModernJava/print.html#fr-haloreach-1
Moduleshttps://together-java.github.io/ModernJava/print.html#modules
Declarationhttps://together-java.github.io/ModernJava/print.html#declaration-11
1https://together-java.github.io/ModernJava/print.html#footnote-itsbest
https://together-java.github.io/ModernJava/print.html#fr-itsbest-1
Restrictionshttps://together-java.github.io/ModernJava/print.html#restrictions
Exportshttps://together-java.github.io/ModernJava/print.html#exports
Requireshttps://together-java.github.io/ModernJava/print.html#requires
Module Importshttps://together-java.github.io/ModernJava/print.html#module-imports
java.basehttps://together-java.github.io/ModernJava/print.html#javabase
The Unnamed Modulehttps://together-java.github.io/ModernJava/print.html#the-unnamed-module
Multi-Module Directory Layouthttps://together-java.github.io/ModernJava/print.html#multi-module-directory-layout
1https://together-java.github.io/ModernJava/print.html#footnote-src
https://together-java.github.io/ModernJava/print.html#fr-src-1
Purposehttps://together-java.github.io/ModernJava/print.html#purpose
1https://together-java.github.io/ModernJava/print.html#footnote-more
https://together-java.github.io/ModernJava/print.html#fr-more-1
Challengeshttps://together-java.github.io/ModernJava/print.html#challenges-56
Challenge 1.https://together-java.github.io/ModernJava/print.html#challenge-1-56
Challenge 2.https://together-java.github.io/ModernJava/print.html#challenge-2-56
Challenge 3.https://together-java.github.io/ModernJava/print.html#challenge-3-54
Challenge 4.https://together-java.github.io/ModernJava/print.html#challenge-4-37
Lambdashttps://together-java.github.io/ModernJava/print.html#lambdas
Functional Interfaceshttps://together-java.github.io/ModernJava/print.html#functional-interfaces
1https://together-java.github.io/ModernJava/print.html#footnote-SAM
https://together-java.github.io/ModernJava/print.html#fr-SAM-1
@FunctionalInterfacehttps://together-java.github.io/ModernJava/print.html#functionalinterface
Lambda Expressionshttps://together-java.github.io/ModernJava/print.html#lambda-expressions
Argumentshttps://together-java.github.io/ModernJava/print.html#arguments-3
Returnhttps://together-java.github.io/ModernJava/print.html#return-2
Method Referenceshttps://together-java.github.io/ModernJava/print.html#method-references
1https://together-java.github.io/ModernJava/print.html#footnote-exactly
https://together-java.github.io/ModernJava/print.html#fr-exactly-1
Constructor Referenceshttps://together-java.github.io/ModernJava/print.html#constructor-references
Inferencehttps://together-java.github.io/ModernJava/print.html#inference-1
Built-In Functional Interfaceshttps://together-java.github.io/ModernJava/print.html#built-in-functional-interfaces
1https://together-java.github.io/ModernJava/print.html#footnote-javaone
2https://together-java.github.io/ModernJava/print.html#footnote-powers
https://together-java.github.io/ModernJava/print.html#fr-javaone-1
https://together-java.github.io/ModernJava/print.html#fr-powers-1
Checked Exceptionshttps://together-java.github.io/ModernJava/print.html#checked-exceptions-1
Challengeshttps://together-java.github.io/ModernJava/print.html#challenges-57
Challenge 1.https://together-java.github.io/ModernJava/print.html#challenge-1-57
Challenge 2.https://together-java.github.io/ModernJava/print.html#challenge-2-57
Challenge 3.https://together-java.github.io/ModernJava/print.html#challenge-3-55
Challenge 4.https://together-java.github.io/ModernJava/print.html#challenge-4-38
Challenge 4.https://together-java.github.io/ModernJava/print.html#challenge-4-39
Compilationhttps://together-java.github.io/ModernJava/print.html#compilation
javachttps://together-java.github.io/ModernJava/print.html#javac
Class Fileshttps://together-java.github.io/ModernJava/print.html#class-files
Clojurehttps://clojure.org/
Kotlinhttps://kotlinlang.org/
1https://together-java.github.io/ModernJava/print.html#footnote-bringup
https://together-java.github.io/ModernJava/print.html#fr-bringup-1
Moduleshttps://together-java.github.io/ModernJava/print.html#modules-1
Compile Multiple Fileshttps://together-java.github.io/ModernJava/print.html#compile-multiple-files
Cleanhttps://together-java.github.io/ModernJava/print.html#clean
1https://together-java.github.io/ModernJava/print.html#footnote-simple
https://together-java.github.io/ModernJava/print.html#fr-simple-1
-ghttps://together-java.github.io/ModernJava/print.html#-g
1https://together-java.github.io/ModernJava/print.html#footnote-obvious
https://together-java.github.io/ModernJava/print.html#fr-obvious-1
Running Compiled Codehttps://together-java.github.io/ModernJava/print.html#running-compiled-code
1https://together-java.github.io/ModernJava/print.html#footnote-conflicts
2https://together-java.github.io/ModernJava/print.html#footnote-before
3https://together-java.github.io/ModernJava/print.html#footnote-auth
https://together-java.github.io/ModernJava/print.html#fr-conflicts-1
https://together-java.github.io/ModernJava/print.html#fr-before-1
https://together-java.github.io/ModernJava/print.html#fr-auth-1
Challengeshttps://together-java.github.io/ModernJava/print.html#challenges-58
Challenge 1.https://together-java.github.io/ModernJava/print.html#challenge-1-58
Challenge 2.https://together-java.github.io/ModernJava/print.html#challenge-2-58
Challenge 3.https://together-java.github.io/ModernJava/print.html#challenge-3-56
Packaginghttps://together-java.github.io/ModernJava/print.html#packaging
jarhttps://together-java.github.io/ModernJava/print.html#jar
1https://together-java.github.io/ModernJava/print.html#footnote-mods
https://together-java.github.io/ModernJava/print.html#fr-mods-1
Jar Fileshttps://together-java.github.io/ModernJava/print.html#jar-files
1https://together-java.github.io/ModernJava/print.html#footnote-compression
https://together-java.github.io/ModernJava/print.html#fr-compression-1
--module-pathhttps://together-java.github.io/ModernJava/print.html#--module-path
1https://together-java.github.io/ModernJava/print.html#footnote-windows
https://together-java.github.io/ModernJava/print.html#fr-windows-1
--main-classhttps://together-java.github.io/ModernJava/print.html#--main-class
Librarieshttps://together-java.github.io/ModernJava/print.html#libraries
1https://together-java.github.io/ModernJava/print.html#footnote-procuring
https://together-java.github.io/ModernJava/print.html#fr-procuring-1
Challengeshttps://together-java.github.io/ModernJava/print.html#challenges-59
Challenge 1.https://together-java.github.io/ModernJava/print.html#challenge-1-59
Challenge 2.https://together-java.github.io/ModernJava/print.html#challenge-2-59
Challenge 3.https://together-java.github.io/ModernJava/print.html#challenge-3-57
justhttps://together-java.github.io/ModernJava/print.html#just
1https://together-java.github.io/ModernJava/print.html#footnote-nature
justhttps://github.com/casey/just
https://together-java.github.io/ModernJava/print.html#fr-nature-1
Installationhttps://together-java.github.io/ModernJava/print.html#installation
https://just.systems/man/en/prerequisites.htmlhttps://just.systems/man/en/prerequisites.html
Justfilehttps://together-java.github.io/ModernJava/print.html#justfile
Recipeshttps://together-java.github.io/ModernJava/print.html#recipes
Dependencieshttps://together-java.github.io/ModernJava/print.html#dependencies
Documentation Commentshttps://together-java.github.io/ModernJava/print.html#documentation-comments
Further Readinghttps://together-java.github.io/ModernJava/print.html#further-reading
https://just.systems/man/en/https://just.systems/man/en/
Challengeshttps://together-java.github.io/ModernJava/print.html#challenges-60
Challenge 1.https://together-java.github.io/ModernJava/print.html#challenge-1-60
Challenge 2.https://together-java.github.io/ModernJava/print.html#challenge-2-60
Challenge 3.https://together-java.github.io/ModernJava/print.html#challenge-3-58
Challenge 4.https://together-java.github.io/ModernJava/print.html#challenge-4-40
Challenge 5.https://together-java.github.io/ModernJava/print.html#challenge-5-19
Documentationhttps://together-java.github.io/ModernJava/print.html#documentation
1https://together-java.github.io/ModernJava/print.html#footnote-grouptext
https://together-java.github.io/ModernJava/print.html#fr-grouptext-1
Documentation Commentshttps://together-java.github.io/ModernJava/print.html#documentation-comments-1
1https://together-java.github.io/ModernJava/print.html#footnote-old
https://together-java.github.io/ModernJava/print.html#fr-old-1
Formathttps://together-java.github.io/ModernJava/print.html#format
javadochttps://together-java.github.io/ModernJava/print.html#javadoc
1https://together-java.github.io/ModernJava/print.html#footnote-theme
the official Java documenationhttps://docs.oracle.com/en/java/javase/25/docs/api/index.html
https://together-java.github.io/ModernJava/print.html#fr-theme-1
Challengeshttps://together-java.github.io/ModernJava/print.html#challenges-61
Challenge 1.https://together-java.github.io/ModernJava/print.html#challenge-1-61
Challenge 2.https://together-java.github.io/ModernJava/print.html#challenge-2-61
Challenge 3.https://together-java.github.io/ModernJava/print.html#challenge-3-59
documentation for java.util.StringJoinerhttps://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/util/StringJoiner.html
Streamshttps://together-java.github.io/ModernJava/print.html#streams
streamhttps://together-java.github.io/ModernJava/print.html#stream
1https://together-java.github.io/ModernJava/print.html#footnote-flow
https://together-java.github.io/ModernJava/print.html#fr-flow-1
maphttps://together-java.github.io/ModernJava/print.html#map-1
1https://together-java.github.io/ModernJava/print.html#footnote-metaphor
https://together-java.github.io/ModernJava/print.html#fr-metaphor-1
filterhttps://together-java.github.io/ModernJava/print.html#filter
1https://together-java.github.io/ModernJava/print.html#footnote-metaphor
https://together-java.github.io/ModernJava/print.html#fr-metaphor-1
Terminal Operationshttps://together-java.github.io/ModernJava/print.html#terminal-operations
Collectorshttps://together-java.github.io/ModernJava/print.html#collectors
Purposehttps://together-java.github.io/ModernJava/print.html#purpose-1
Challengeshttps://together-java.github.io/ModernJava/print.html#challenges-62
Challenge 1.https://together-java.github.io/ModernJava/print.html#challenge-1-62
Challenge 2.https://together-java.github.io/ModernJava/print.html#challenge-2-62
Challenge 3.https://together-java.github.io/ModernJava/print.html#challenge-3-60
Collectorhttps://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/util/stream/Collector.html
Collectorshttps://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/util/stream/Collector.html
What Now?https://together-java.github.io/ModernJava/print.html#what-now
Go Deeperhttps://together-java.github.io/ModernJava/print.html#go-deeper
Build Toolshttps://together-java.github.io/ModernJava/print.html#build-tools
bld tutorial herehttps://github.com/rife2/bld/wiki
"Maven By Example" book herehttps://books.sonatype.com/mvnex-book/reference/index.html
Gradle Documentation Herehttps://docs.gradle.org/current/userguide/userguide.html
Minecrafthttps://together-java.github.io/ModernJava/print.html#minecraft
Forge Getting Started herehttps://docs.minecraftforge.net/en/latest/gettingstarted/
"Modded Minecraft" Discord herehttps://discord.gg/moddedmc
"Minecraft Mod Development" Discord herehttps://discord.com/invite/wpMz4AtAhn
Fabric Getting Started herehttps://docs.fabricmc.net/develop/getting-started/introduction-to-fabric-and-modding
Fabric community Discord herehttps://together-java.github.io/ModernJava/conclusion/%5Bhttps:/discord.gg/v6v4pMv%5D(https:/discord.gg/v6v4pMv)
Docs for Spigot herehttps://www.spigotmc.org/wiki/spigot-plugin-development/
Spigot community Discord herehttps://discord.gg/spigotmc
Docs for PaperMC herehttps://docs.papermc.io/
PaperMC community Discord herehttps://discord.gg/papermc
Websiteshttps://together-java.github.io/ModernJava/print.html#websites
Docs for jdk.httpserver herehttps://docs.oracle.com/en/java/javase/25/docs/api/jdk.httpserver/module-summary.html
SQLite tutorial herehttps://www.sqlitetutorial.net/
I have a primer for that herehttps://mccue.dev/pages/1-17-24-java-sql
Good video on that herehttps://www.youtube.com/watch?v=J1f5b4vcxCQ
Spring Academy Courses here - the basic ones are freehttps://spring.academy/
Desktop Applicationshttps://together-java.github.io/ModernJava/print.html#desktop-applications
Docs for java.desktop (Swing) herehttps://docs.oracle.com/en/java/javase/25/docs/api/java.desktop/module-summary.html
Docs for JavaFX herehttps://openjfx.io/openjfx-docs/
Learn a New Languagehttps://together-java.github.io/ModernJava/print.html#learn-a-new-language
JavaScripthttps://together-java.github.io/ModernJava/print.html#javascript
1https://together-java.github.io/ModernJava/print.html#footnote-wasm
Mozilla Developer Network's JavaScript Guide herehttps://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide
TypeScript tutorial herehttps://www.typescripttutorial.net/
C#https://together-java.github.io/ModernJava/print.html#c
corporate blunders notwithstandinghttps://www.theverge.com/2024/9/12/24242937/unity-runtime-fee-cancelled-subscription-pricing
have C# Scripting as wellhttps://docs.godotengine.org/en/stable/tutorials/scripting/c_sharp/index.html
Microsoft's C# tutorial herehttps://learn.microsoft.com/en-us/training/paths/get-started-c-sharp-part-1/
Kotlinhttps://together-java.github.io/ModernJava/print.html#kotlin
Getting Started with Kotlin tutorial herehttps://kotlinlang.org/docs/getting-started.html
Kotlin Android Tutorial herehttps://kotlinlang.org/docs/android-overview.html
Getting Started for Jetbrains Compose Multiplatfrom herehttps://www.jetbrains.com/help/kotlin-multiplatform-dev/compose-multiplatform-create-first-app.html
Othershttps://together-java.github.io/ModernJava/print.html#others
https://together-java.github.io/ModernJava/print.html#fr-wasm-1

Viewport: width=device-width, initial-scale=1

Robots: noindex


URLs of crawlers that visited me.