From 61252b5f8e6e5a7159158d7d163da5b193f01cc0 Mon Sep 17 00:00:00 2001 From: Ethan McCue Date: Wed, 26 Jun 2024 00:15:00 -0400 Subject: [PATCH] Update main (#48) * more sections * First feedback round * Update prelude.md * ... * Spelling fix Co-Authored-By: Firas Regaieg <37019463+firasrg@users.noreply.github.com> * Arguments chapter * More Challenges * Run prettier * user input * October 14th, #1 * Array challenges * Delete challenges * Null * ... * Update null_as_absence.md * Delete out.json * Fix quotes * Add first no_runs * Fix number example * ... * Write more of the classes section * Constructors * Clean up getting started a little * Use a duke * Don't link anywhere yet * Increase lines needed to show a duke * Fix field access section * ... * ... * ... * ... * ... * switch and enums * Update book.toml * Density * Update audience.md * .. * Strings 2 * Update length.md * Global Fields * Input * Update delayed_assignment.md * ... * ... * Update book.js * Update challenges.md * Remove blank Challenge * Fix some issues, push some incomplete sections * Update challenges.md * terminal * Update challenges.md * Switches and visibility * Growable array * Cli Args * Delete unused * Change url * inner classes * Update unchecked_exceptions.md * Update checked_exceptions.md * Update invariants.md * Packages * Records * Update the_default_package.md * Syntax highlighting wierdness * More records * Integers, Files, etc. * Move IOException around * ... * ... --------- Co-authored-by: Firas Regaieg <37019463+firasrg@users.noreply.github.com> --- README.md | 1 - book.toml | 6 +- ferris.js | 6 +- src/SUMMARY.md | 313 +++++++++++++++++- src/boxed_primitives/challenges.md | 29 ++ src/branching_logic/challenges.md | 2 +- src/classes/default_values.md | 1 + src/code_is_read_more_than_written.md | 9 + .../audience.md | 20 ++ .../implications.md | 10 + .../information_density.md | 25 ++ src/code_is_read_more_than_written/meaning.md | 14 + .../practice.md | 16 + src/command_line_arguments.md | 16 + .../accessing_arguments.md | 41 +++ src/command_line_arguments/conventions.md | 17 + src/constr | 1 - src/ex | 1 - src/exceptions_ii.md | 7 + src/exceptions_ii/checked_exceptions.md | 24 ++ src/exceptions_ii/exception.md | 13 + src/exceptions_ii/main.md | 12 + src/exceptions_ii/propagating_exceptions.md | 36 ++ src/exceptions_ii/rethrowing_exceptions.md | 47 +++ src/exceptions_ii/runtime_exception.md | 1 + src/exceptions_ii/throws.md | 57 ++++ src/exceptions_ii/unchecked_exceptions.md | 21 ++ src/files.md | 9 + src/files/creating_a_folder.md | 1 + src/files/ioexception.md | 17 + src/files/paths.md | 22 ++ src/files/read_from_a_file.md | 58 ++++ src/files/uncheckedioexception.md | 26 ++ src/files/write_to_a_file.md | 58 ++++ src/floating_point_numbers_ii.md | 1 + src/global_fields.md | 20 ++ src/global_fields/default_values.md | 14 + src/global_fields/field_access.md | 25 ++ src/global_fields/final_fields.md | 14 + src/global_fields/inferred_types.md | 12 + src/growable_arrays.md | 15 + src/growable_arrays/concept.md | 10 + .../optimized_implementation.md | 65 ++++ src/growable_arrays/performance_problems.md | 73 ++++ src/growable_arrays/performance_solutions.md | 14 + src/growable_arrays/simple_implementation.md | 48 +++ src/growable_arrays/usage.md | 65 ++++ src/hardware.md | 9 + src/hardware/cpu.md | 9 + src/hardware/hard_drives.md | 15 + src/hardware/motherboard.md | 8 + src/hardware/ram.md | 13 + src/img/armcross.webp | Bin 0 -> 29368 bytes src/img/computer_bad.webp | Bin 0 -> 27920 bytes src/img/eyeclose.webp | Bin 0 -> 27954 bytes src/inner_classes.md | 13 + src/inner_classes/disambiguation.md | 63 ++++ src/inner_classes/instance_new.md | 3 + src/inner_classes/instances.md | 46 +++ src/inner_classes/new_operator.md | 33 ++ src/inner_classes/private_inner_classes.md | 20 ++ src/inner_classes/scope.md | 61 ++++ src/inner_classes/static_inner_classes.md | 37 +++ src/inner_classes/the_anonymous_main_class.md | 53 +++ src/inner_classes/type.md | 30 ++ src/instanc | 1 - src/instance | 1 - src/integer_ii/integer_to_a_base_16_string.md | 1 + src/integers_ii.md | 5 + src/integers_ii/base_16_integer_literals.md | 36 ++ .../integer_from_a_base_16_string.md | 32 ++ src/integers_ii/integer_from_a_string.md | 43 +++ .../integer_to_a_base_16_string.md | 14 + src/integers_ii/integer_to_a_string.md | 28 ++ .../underscores_in_integer_literals.md | 27 ++ src/loops/challenges.md | 26 +- src/loops_iii.md | 1 + src/multi_file_programs.md | 11 + src/multi_file_programs/a_second_file.md | 43 +++ src/multi_file_programs/file_names.md | 17 + src/multi_file_programs/global_fields.md | 32 ++ .../the_anonymous_main_class.md | 30 ++ src/multi_file_programs/the_main_file.md | 28 ++ src/multi_file_programs/the_sources_folder.md | 23 ++ src/operating_systems.md | 7 + src/operating_systems/abstractions.md | 19 ++ src/operating_systems/defaults.md | 22 ++ src/operating_systems/game_consoles.md | 11 + src/operating_systems/mobile_phones.md | 8 + src/operating_systems/personal_computers.md | 11 + src/operating_systems/servers.md | 12 + src/packages.md | 14 + src/packages/declaration.md | 31 ++ src/packages/fully_qualified_class_name.md | 29 ++ src/packages/import.md | 28 ++ src/packages/package_private_constructors.md | 28 ++ src/packages/package_private_fields.md | 13 + src/packages/package_private_methods.md | 22 ++ src/packages/public_classes.md | 11 + src/packages/public_constructors.md | 35 ++ src/packages/public_fields.md | 14 + src/packages/public_methods.md | 34 ++ src/packages/reverse_domain_name_notation.md | 24 ++ src/packages/subpackages.md | 26 ++ src/packages/the_anonymous_main_class.md | 34 ++ src/packages/the_default_constructor.md | 53 +++ src/packages/the_default_package.md | 27 ++ src/packages/visibility.md | 34 ++ src/rant.md | 0 src/records.md | 8 + src/records/check_for_equality.md | 21 ++ src/records/component_accessor_visibility.md | 22 ++ src/records/component_accessors.md | 24 ++ src/records/declaration.md | 19 ++ src/records/printing_a_record.md | 29 ++ src/records/return_multiple_values.md | 28 ++ src/records/shorthand.md | 40 +++ src/records/the_canonical_constructor.md | 17 + src/records/why.md | 1 + src/retu | 1 - src/standard_input.md | 20 ++ src/standard_input/delayed_assignment.md | 91 +++++ src/standard_input/interpreting_input.md | 28 ++ src/standard_input/leniency.md | 36 ++ src/standard_input/prompting.md | 25 ++ src/standard_input/reprompting.md | 38 +++ src/standard_input/transporting_data.md | 125 +++++++ src/static_fields.md | 10 + src/static_fields/constants.md | 17 + src/static_fields/controversy.md | 27 ++ src/static_fields/declaration.md | 10 + src/static_fields/initialization.md | 57 ++++ src/static_fields/meaning.md | 1 + src/static_fields/naming.md | 22 ++ src/static_fields/usage.md | 27 ++ src/static_methods.md | 25 ++ src/static_methods/declaration.md | 12 + src/static_methods/factories.md | 119 +++++++ src/static_methods/math.md | 20 ++ src/static_methods/naming.md | 12 + src/static_methods/scope.md | 36 ++ src/static_methods/usage.md | 24 ++ src/string_builder.md | 19 ++ src/stringbuilder.md | 47 +++ src/strings/challenges.md | 2 +- src/strings/length.md | 2 +- src/strings_ii.md | 6 + src/strings_ii/UPPERCASE.md | 15 + src/strings_ii/check_if_blank.md | 23 ++ src/strings_ii/check_if_empty.md | 30 ++ src/strings_ii/equality_ignoring_case.md | 19 ++ src/strings_ii/lowercase.md | 21 ++ src/strings_ii/strip_extra_whitespace.md | 39 +++ src/switch_ii.md | 39 +++ .../exhaustive_switches_with_enums.md | 1 + .../exhaustive_switches_with_strings.md | 1 + src/switch_ii/exhaustiveness.md | 30 ++ src/switch_ii/omitted_yield.md | 61 ++++ src/switch_ii/return_a_switch.md | 19 ++ src/switch_ii/yield.md | 39 +++ src/the_terminal.md | 7 + src/the_terminal/bash.md | 8 + src/the_terminal/changing_directories.md | 25 ++ .../chromebooks_and_school_computers.md | 12 + src/the_terminal/commands.md | 13 + src/the_terminal/creating_directories.md | 11 + src/the_terminal/creating_files.md | 19 ++ src/the_terminal/directories.md | 15 + src/the_terminal/getting_used_to_it.md | 8 + src/the_terminal/java_programs.md | 1 + src/the_terminal/listing_files.md | 18 + src/the_terminal/run_java_programs.md | 32 ++ .../windows_subsystem_for_linux.md | 10 + src/variables.md | 1 - src/variables/naming.md | 4 +- src/visibility.md | 20 ++ src/visibility/accessors.md | 61 ++++ src/visibility/getter_and_setters.md | 43 +++ src/visibility/invariants.md | 70 ++++ src/visibility/private.md | 2 + src/visibility/private_constructor.md | 1 + src/visibility/private_fields.md | 25 ++ src/visibility/private_methods.md | 28 ++ src/visibility_ii.md | 1 + theme/book.js | 2 +- 185 files changed, 4460 insertions(+), 54 deletions(-) create mode 100644 src/classes/default_values.md create mode 100644 src/code_is_read_more_than_written.md create mode 100644 src/code_is_read_more_than_written/audience.md create mode 100644 src/code_is_read_more_than_written/implications.md create mode 100644 src/code_is_read_more_than_written/information_density.md create mode 100644 src/code_is_read_more_than_written/meaning.md create mode 100644 src/code_is_read_more_than_written/practice.md create mode 100644 src/command_line_arguments.md create mode 100644 src/command_line_arguments/accessing_arguments.md create mode 100644 src/command_line_arguments/conventions.md delete mode 100644 src/constr delete mode 100644 src/ex create mode 100644 src/exceptions_ii.md create mode 100644 src/exceptions_ii/checked_exceptions.md create mode 100644 src/exceptions_ii/exception.md create mode 100644 src/exceptions_ii/main.md create mode 100644 src/exceptions_ii/propagating_exceptions.md create mode 100644 src/exceptions_ii/rethrowing_exceptions.md create mode 100644 src/exceptions_ii/runtime_exception.md create mode 100644 src/exceptions_ii/throws.md create mode 100644 src/exceptions_ii/unchecked_exceptions.md create mode 100644 src/files.md create mode 100644 src/files/creating_a_folder.md create mode 100644 src/files/ioexception.md create mode 100644 src/files/paths.md create mode 100644 src/files/read_from_a_file.md create mode 100644 src/files/uncheckedioexception.md create mode 100644 src/files/write_to_a_file.md create mode 100644 src/floating_point_numbers_ii.md create mode 100644 src/global_fields.md create mode 100644 src/global_fields/default_values.md create mode 100644 src/global_fields/field_access.md create mode 100644 src/global_fields/final_fields.md create mode 100644 src/global_fields/inferred_types.md create mode 100644 src/growable_arrays.md create mode 100644 src/growable_arrays/concept.md create mode 100644 src/growable_arrays/optimized_implementation.md create mode 100644 src/growable_arrays/performance_problems.md create mode 100644 src/growable_arrays/performance_solutions.md create mode 100644 src/growable_arrays/simple_implementation.md create mode 100644 src/growable_arrays/usage.md create mode 100644 src/hardware.md create mode 100644 src/hardware/cpu.md create mode 100644 src/hardware/hard_drives.md create mode 100644 src/hardware/motherboard.md create mode 100644 src/hardware/ram.md create mode 100644 src/img/armcross.webp create mode 100644 src/img/computer_bad.webp create mode 100644 src/img/eyeclose.webp create mode 100644 src/inner_classes.md create mode 100644 src/inner_classes/disambiguation.md create mode 100644 src/inner_classes/instance_new.md create mode 100644 src/inner_classes/instances.md create mode 100644 src/inner_classes/new_operator.md create mode 100644 src/inner_classes/private_inner_classes.md create mode 100644 src/inner_classes/scope.md create mode 100644 src/inner_classes/static_inner_classes.md create mode 100644 src/inner_classes/the_anonymous_main_class.md create mode 100644 src/inner_classes/type.md delete mode 100644 src/instanc delete mode 100644 src/instance create mode 100644 src/integer_ii/integer_to_a_base_16_string.md create mode 100644 src/integers_ii.md create mode 100644 src/integers_ii/base_16_integer_literals.md create mode 100644 src/integers_ii/integer_from_a_base_16_string.md create mode 100644 src/integers_ii/integer_from_a_string.md create mode 100644 src/integers_ii/integer_to_a_base_16_string.md create mode 100644 src/integers_ii/integer_to_a_string.md create mode 100644 src/integers_ii/underscores_in_integer_literals.md create mode 100644 src/loops_iii.md create mode 100644 src/multi_file_programs.md create mode 100644 src/multi_file_programs/a_second_file.md create mode 100644 src/multi_file_programs/file_names.md create mode 100644 src/multi_file_programs/global_fields.md create mode 100644 src/multi_file_programs/the_anonymous_main_class.md create mode 100644 src/multi_file_programs/the_main_file.md create mode 100644 src/multi_file_programs/the_sources_folder.md create mode 100644 src/operating_systems.md create mode 100644 src/operating_systems/abstractions.md create mode 100644 src/operating_systems/defaults.md create mode 100644 src/operating_systems/game_consoles.md create mode 100644 src/operating_systems/mobile_phones.md create mode 100644 src/operating_systems/personal_computers.md create mode 100644 src/operating_systems/servers.md create mode 100644 src/packages.md create mode 100644 src/packages/declaration.md create mode 100644 src/packages/fully_qualified_class_name.md create mode 100644 src/packages/import.md create mode 100644 src/packages/package_private_constructors.md create mode 100644 src/packages/package_private_fields.md create mode 100644 src/packages/package_private_methods.md create mode 100644 src/packages/public_classes.md create mode 100644 src/packages/public_constructors.md create mode 100644 src/packages/public_fields.md create mode 100644 src/packages/public_methods.md create mode 100644 src/packages/reverse_domain_name_notation.md create mode 100644 src/packages/subpackages.md create mode 100644 src/packages/the_anonymous_main_class.md create mode 100644 src/packages/the_default_constructor.md create mode 100644 src/packages/the_default_package.md create mode 100644 src/packages/visibility.md delete mode 100644 src/rant.md create mode 100644 src/records.md create mode 100644 src/records/check_for_equality.md create mode 100644 src/records/component_accessor_visibility.md create mode 100644 src/records/component_accessors.md create mode 100644 src/records/declaration.md create mode 100644 src/records/printing_a_record.md create mode 100644 src/records/return_multiple_values.md create mode 100644 src/records/shorthand.md create mode 100644 src/records/the_canonical_constructor.md create mode 100644 src/records/why.md delete mode 100644 src/retu create mode 100644 src/standard_input.md create mode 100644 src/standard_input/delayed_assignment.md create mode 100644 src/standard_input/interpreting_input.md create mode 100644 src/standard_input/leniency.md create mode 100644 src/standard_input/prompting.md create mode 100644 src/standard_input/reprompting.md create mode 100644 src/standard_input/transporting_data.md create mode 100644 src/static_fields.md create mode 100644 src/static_fields/constants.md create mode 100644 src/static_fields/controversy.md create mode 100644 src/static_fields/declaration.md create mode 100644 src/static_fields/initialization.md create mode 100644 src/static_fields/meaning.md create mode 100644 src/static_fields/naming.md create mode 100644 src/static_fields/usage.md create mode 100644 src/static_methods.md create mode 100644 src/static_methods/declaration.md create mode 100644 src/static_methods/factories.md create mode 100644 src/static_methods/math.md create mode 100644 src/static_methods/naming.md create mode 100644 src/static_methods/scope.md create mode 100644 src/static_methods/usage.md create mode 100644 src/string_builder.md create mode 100644 src/stringbuilder.md create mode 100644 src/strings_ii/UPPERCASE.md create mode 100644 src/strings_ii/check_if_blank.md create mode 100644 src/strings_ii/check_if_empty.md create mode 100644 src/strings_ii/equality_ignoring_case.md create mode 100644 src/strings_ii/lowercase.md create mode 100644 src/strings_ii/strip_extra_whitespace.md create mode 100644 src/switch_ii.md create mode 100644 src/switch_ii/exhaustive_switches_with_enums.md create mode 100644 src/switch_ii/exhaustive_switches_with_strings.md create mode 100644 src/switch_ii/exhaustiveness.md create mode 100644 src/switch_ii/omitted_yield.md create mode 100644 src/switch_ii/return_a_switch.md create mode 100644 src/switch_ii/yield.md create mode 100644 src/the_terminal.md create mode 100644 src/the_terminal/bash.md create mode 100644 src/the_terminal/changing_directories.md create mode 100644 src/the_terminal/chromebooks_and_school_computers.md create mode 100644 src/the_terminal/commands.md create mode 100644 src/the_terminal/creating_directories.md create mode 100644 src/the_terminal/creating_files.md create mode 100644 src/the_terminal/directories.md create mode 100644 src/the_terminal/getting_used_to_it.md create mode 100644 src/the_terminal/java_programs.md create mode 100644 src/the_terminal/listing_files.md create mode 100644 src/the_terminal/run_java_programs.md create mode 100644 src/the_terminal/windows_subsystem_for_linux.md create mode 100644 src/visibility.md create mode 100644 src/visibility/accessors.md create mode 100644 src/visibility/getter_and_setters.md create mode 100644 src/visibility/invariants.md create mode 100644 src/visibility/private.md create mode 100644 src/visibility/private_constructor.md create mode 100644 src/visibility/private_fields.md create mode 100644 src/visibility/private_methods.md create mode 100644 src/visibility_ii.md diff --git a/README.md b/README.md index 2bf6e44..aa98b90 100644 --- a/README.md +++ b/README.md @@ -1,7 +1,6 @@ # Modern Java [![codefactor](https://img.shields.io/codefactor/grade/github/together-java/modernjava)](https://www.codefactor.io/repository/github/together-java/modernjava) -![Java](https://img.shields.io/badge/Java-19-ff696c) [![license](https://img.shields.io/github/license/Together-Java/ModernJava)](https://github.com/Together-Java/ModernJava/blob/master/LICENSE) Book teaching how to write modern and effective Java. It is maintained by the community, anyone can contribute. diff --git a/book.toml b/book.toml index 0666248..7c59f82 100644 --- a/book.toml +++ b/book.toml @@ -1,7 +1,7 @@ [book] title = "Modern Java" -description = " Book teaching how to write modern and effective Java. It is maintained by the community, anyone can contribute." -authors = ["Together Java", "Contributions from the Java Community"] +description = "Book teaching how to write modern and effective Java." +authors = ["Ethan McCue", "Together Java", "Contributions from the Java Community"] language = "en" multilingual = false @@ -21,5 +21,3 @@ editable = true [output.html.code.hidelines] java = "~" -[output.html.code.hidelines] -java = "~" diff --git a/ferris.js b/ferris.js index f78ce4a..5a7f1f6 100644 --- a/ferris.js +++ b/ferris.js @@ -53,8 +53,12 @@ function createFerris(type, size) { // a.setAttribute('href', 'ch00-00-introduction.html#ferris') a.setAttribute('target', '_blank') + var toFileName = function (t) { + return '../img/' + t.attr + '.svg'; + } + var img = document.createElement('img') - img.setAttribute('src', '../img/' + type.attr + '.svg') + img.setAttribute('src', toFileName(type)) img.setAttribute('title', type.title) img.classList.add('ferris') img.classList.add('ferris-' + size) diff --git a/src/SUMMARY.md b/src/SUMMARY.md index 725b3cd..173903d 100644 --- a/src/SUMMARY.md +++ b/src/SUMMARY.md @@ -99,11 +99,9 @@ - [If](./branching_logic/if.md) - [Nested Ifs](./branching_logic/nested_ifs.md) - [Else](./branching_logic/else.md) - - [Else](./branching_logic/else.md) - [Else If](./branching_logic/else_if.md) - [Relation to Delayed Assignment](./branching_logic/relation_to_delayed_assignment.md) - [Scoped Variables](./branching_logic/scoped_variables.md) - - [Scoped Variables](./branching_logic/scoped_variables.md) - [Conditional Operator](./branching_logic/conditional_operator.md) - [Boolean Expressions](./branching_logic/boolean_expressions.md) - [Challenges](./branching_logic/challenges.md) @@ -209,7 +207,6 @@ - [Boxing Conversion](./boxed_primitives/boxing_conversion.md) - [Arrays of Boxed Primitives](./boxed_primitives/arrays_of_boxed_primitives.md) - [Challenges](./boxed_primitives/challenges.md) - - [Challenges](./boxed_primitives/challenges.md) - [Arrays II](./arrays_ii.md) - [Initializion with Size](./arrays_ii/initialization_with_size.md) - [Default Values](./arrays_ii/default_values.md) @@ -249,6 +246,13 @@ - [Usage](./enums/usage.md) - [Equality](./enums/equality.md) - [Comparison to boolean](./enums/comparison_to_boolean.md) +- [Strings II](./strings_ii.md) + - [lowercase](./strings_ii/lowercase.md) + - [UPPERCASE](./strings_ii/UPPERCASE.md) + - [Equality ignoring case](./strings_ii/equality_ignoring_case.md) + - [Check if empty](./strings_ii/check_if_empty.md) + - [Check if blank](./strings_ii/check_if_blank.md) + - [Strip extra whitespace](./strings_ii/strip_extra_whitespace.md) # Control Flow III @@ -277,28 +281,302 @@ - [Invariants](./constructors/invariants.md) - [Overloads](./constructors/overloads.md) - [Delegation](./constructors/delegation.md) +- [Global Fields](./global_fields.md) + - [Default Values](./global_fields/default_values.md) + - [Final Fields](./global_fields/final_fields.md) + - [Field Access](./global_fields/field_access.md) + - [Inferred Types](./global_fields/inferred_types.md) + +# Concepts + +- [Code is Read more than Written](./code_is_read_more_than_written.md) + - [Meaning](./code_is_read_more_than_written/meaning.md) + - [Implications](./code_is_read_more_than_written/implications.md) + - [Information Density](./code_is_read_more_than_written/information_density.md) + - [Audience](./code_is_read_more_than_written/audience.md) + - [Practice](./code_is_read_more_than_written/practice.md) + +# Interactive Programs + +- [Standard Input](./standard_input.md) + - [Prompting](./standard_input/prompting.md) + - [Interpreting Input](./standard_input/interpreting_input.md) + - [Reprompting](./standard_input/reprompting.md) + - [Leniency](./standard_input/leniency.md) + - [Delayed Assignment](./standard_input/delayed_assignment.md) + - [Transporting Data](./standard_input/transporting_data.md) + +# The Computing Environment + +- [Hardware](./hardware.md) + - [CPU](./hardware/cpu.md) + - [RAM](./hardware/ram.md) + - [Hard Drives](./hardware/hard_drives.md) + - [Motherboard](./hardware/motherboard.md) +- [Operating Systems](./operating_systems.md) + - [Personal Computers](./operating_systems/personal_computers.md) + - [Servers](./operating_systems/servers.md) + - [Mobile Phones](./operating_systems/mobile_phones.md) + - [Game Consoles](./operating_systems/game_consoles.md) + - [Abstractions](./operating_systems/abstractions.md) + - [Defaults](./operating_systems/defaults.md) +- [The Terminal](./the_terminal.md) + - [Bash](./the_terminal/bash.md) + - [Windows Subsystem for Linux](./the_terminal/windows_subsystem_for_linux.md) + - [Chromebooks and School Computers](./the_terminal/chromebooks_and_school_computers.md) + - [Commands](./the_terminal/commands.md) + - [Directories](./the_terminal/directories.md) + - [Listing Files](./the_terminal/listing_files.md) + - [Creating Directories](./the_terminal/creating_directories.md) + - [Changing Directories](./the_terminal/changing_directories.md) + - [Creating Files](./the_terminal/creating_files.md) + - [Run Java Programs](./the_terminal/run_java_programs.md) + - [Getting Used to it](./the_terminal/getting_used_to_it.md) +# Control Flow III - + + +