Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update main #48

Merged
merged 76 commits into from
Jun 26, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
76 commits
Select commit Hold shift + click to select a range
2393236
more sections
bowbahdoe May 8, 2023
25924c1
First feedback round
bowbahdoe May 8, 2023
8503233
Update prelude.md
bowbahdoe May 8, 2023
914cd82
...
bowbahdoe May 13, 2023
ff8df0d
Spelling fix
bowbahdoe Jun 9, 2023
9c2678a
Arguments chapter
bowbahdoe Jun 17, 2023
f08cd22
More Challenges
bowbahdoe Jun 25, 2023
f751c08
Run prettier
bowbahdoe Aug 28, 2023
43ea470
user input
bowbahdoe Aug 28, 2023
794c9a0
October 14th, #1
bowbahdoe Oct 14, 2023
2642397
Array challenges
bowbahdoe Oct 14, 2023
94d3205
Delete challenges
bowbahdoe Oct 14, 2023
d7941e7
Null
bowbahdoe Oct 15, 2023
beafad8
...
bowbahdoe Oct 15, 2023
72693cc
Update null_as_absence.md
bowbahdoe Oct 15, 2023
33d0edc
Merge remote-tracking branch 'upstream/develop' into develop
bowbahdoe Nov 19, 2023
9a4b031
Delete out.json
bowbahdoe Nov 19, 2023
d2d6930
Fix quotes
bowbahdoe Nov 19, 2023
adc4811
Add first no_runs
bowbahdoe Nov 19, 2023
91ba156
Fix number example
bowbahdoe Nov 19, 2023
a07e987
...
bowbahdoe Feb 5, 2024
c90c905
Write more of the classes section
bowbahdoe Feb 6, 2024
1fd9a4d
Constructors
bowbahdoe Feb 7, 2024
d4a9dda
Clean up getting started a little
bowbahdoe Feb 7, 2024
62e73ad
Use a duke
bowbahdoe Feb 7, 2024
53cb45b
Don't link anywhere yet
bowbahdoe Feb 7, 2024
cc6cb4f
Increase lines needed to show a duke
bowbahdoe Feb 7, 2024
47627e5
Fix field access section
bowbahdoe Feb 7, 2024
161f934
...
bowbahdoe Feb 7, 2024
fcf44de
...
bowbahdoe Feb 7, 2024
b50a63f
...
bowbahdoe Feb 7, 2024
5067aec
...
bowbahdoe Feb 7, 2024
b455ef1
...
bowbahdoe Feb 7, 2024
e808fdf
switch and enums
bowbahdoe Feb 12, 2024
517973d
Merge remote-tracking branch 'upstream/develop' into develop
bowbahdoe Feb 13, 2024
344512f
Merge remote-tracking branch 'upstream/develop' into develop
bowbahdoe Feb 14, 2024
ed4ee40
Merge remote-tracking branch 'upstream/develop' into develop
bowbahdoe Feb 14, 2024
c0aaf10
Update book.toml
bowbahdoe Feb 14, 2024
cb7b4eb
Density
bowbahdoe Feb 14, 2024
7fd3e45
Update audience.md
bowbahdoe Feb 14, 2024
fdfb5bc
..
bowbahdoe Feb 14, 2024
c8bcf9d
Strings 2
bowbahdoe Feb 14, 2024
eeb4080
Update length.md
bowbahdoe Feb 14, 2024
72ba7e8
Global Fields
bowbahdoe Feb 15, 2024
b4f83e4
Merge remote-tracking branch 'upstream/develop' into develop
bowbahdoe Feb 17, 2024
9899b02
Merge remote-tracking branch 'upstream/develop' into develop
bowbahdoe Feb 17, 2024
e92020a
Input
bowbahdoe Feb 20, 2024
6376800
Update delayed_assignment.md
bowbahdoe Feb 20, 2024
f2d3d2e
...
bowbahdoe Feb 20, 2024
63a2973
...
bowbahdoe Feb 20, 2024
a27e061
Update book.js
bowbahdoe Apr 10, 2024
dc30eb5
Update challenges.md
bowbahdoe Apr 27, 2024
3b857c0
Remove blank Challenge
bowbahdoe Apr 28, 2024
521828f
Fix some issues, push some incomplete sections
bowbahdoe Apr 28, 2024
4457dee
Update challenges.md
bowbahdoe May 7, 2024
be25314
terminal
bowbahdoe May 7, 2024
5a02f25
Update challenges.md
bowbahdoe May 15, 2024
02fa7d6
Switches and visibility
bowbahdoe Jun 18, 2024
2d9ef2c
Growable array
bowbahdoe Jun 18, 2024
62f5d6b
Cli Args
bowbahdoe Jun 18, 2024
620427e
Delete unused
bowbahdoe Jun 18, 2024
7cd05e2
Change url
bowbahdoe Jun 19, 2024
cba4baa
inner classes
bowbahdoe Jun 19, 2024
898c891
Update unchecked_exceptions.md
bowbahdoe Jun 19, 2024
da1ec01
Update checked_exceptions.md
bowbahdoe Jun 19, 2024
d5e9fc1
Update invariants.md
bowbahdoe Jun 19, 2024
04bec4e
Packages
bowbahdoe Jun 20, 2024
02de34b
Records
bowbahdoe Jun 20, 2024
84b78fd
Update the_default_package.md
bowbahdoe Jun 20, 2024
e028ff7
Syntax highlighting wierdness
bowbahdoe Jun 20, 2024
b13d2dc
More records
bowbahdoe Jun 21, 2024
90beb94
Integers, Files, etc.
bowbahdoe Jun 25, 2024
c80e1f4
Move IOException around
bowbahdoe Jun 25, 2024
5a8d5fb
...
bowbahdoe Jun 25, 2024
4452c6a
Merge branch 'Together-Java:develop' into develop
bowbahdoe Jun 26, 2024
cb6e65b
...
bowbahdoe Jun 26, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 0 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
@@ -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.
Expand Down
6 changes: 2 additions & 4 deletions book.toml
Original file line number Diff line number Diff line change
@@ -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

Expand All @@ -21,5 +21,3 @@ editable = true

[output.html.code.hidelines]
java = "~"
[output.html.code.hidelines]
java = "~"
6 changes: 5 additions & 1 deletion ferris.js
Original file line number Diff line number Diff line change
Expand Up @@ -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)
Expand Down
313 changes: 295 additions & 18 deletions src/SUMMARY.md
Original file line number Diff line number Diff line change
Expand Up @@ -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)
Expand Down Expand Up @@ -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)
Expand Down Expand Up @@ -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

Expand Down Expand Up @@ -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

<!--
- [Exceptions II](./exceptions_ii.md)
- [Checked Exceptions](./exceptions_ii/checked_exceptions.md)
- [Unchecked Exceptions](./exceptions_ii/unchecked_exceptions.md)
- [throws](./exceptions_ii/throws.md)
- [Propagating Exceptions](./exceptions_ii/propagating_exceptions.md)
- [Rethrowing Exceptions](./exceptions_ii/rethrowing_exceptions.md)
- [Exception](./exceptions_ii/exception.md)
- [RuntimeException](./exceptions_ii/runtime_exception.md)
- [main](./exceptions_ii/main.md)
- [Switch II](./switch_ii.md)
- [Yield](./switch_ii/yield.md)
- [Omitted Yield](./switch_ii/omitted_yield.md)
- [Exhaustiveness](./switch_ii/exhaustiveness.md)
- [Return a Switch](./switch_ii/return_a_switch.md)

# Code Structure IV

- [Multi-File Programs](./multi_file_programs.md)
- [The Sources folder](./multi_file_programs/the_sources_folder.md)
- [The Main file](./multi_file_programs/the_main_file.md)
- [A Second file](./multi_file_programs/a_second_file.md)
- [File names](./multi_file_programs/file_names.md)
- [The Anonymous Main Class](./multi_file_programs/the_anonymous_main_class.md)
- [Global Fields](./multi_file_programs/global_fields.md)
- [Visibility](./visibility.md)
- [Private Methods](./visibility/private_methods.md)
- [Private Fields](./visibility/private_fields.md)
- [Invariants](./visibility/invariants.md)
- [Accessors](./visibility/accessors.md)
- [Getters and Setters](./visibility/getter_and_setters.md)
- [Static Fields](./static_fields.md)
- [Declaration](./static_fields/declaration.md)
- [Initialization](./static_fields/initialization.md)
- [Usage](./static_fields/usage.md)
- [Constants](./static_fields/constants.md)
- [Controversy](./static_fields/controversy.md)
- [Naming](./static_fields/naming.md)
- [Static Methods](./static_methods.md)
- [Declaration](./static_methods/declaration.md)
- [Scope](./static_methods/scope.md)
- [Naming](./static_methods/naming.md)
- [Usage](./static_methods/usage.md)
- [Math](./static_methods/math.md)
- [Factories](./static_methods/factories.md)

# Data Structures & Algorithms

- [Growable Arrays](./growable_arrays.md)
- [Concept](./growable_arrays/concept.md)
- [Simple Implementation](./growable_arrays/simple_implementation.md)
- [Usage](./growable_arrays/usage.md)
- [Performance Problems](./growable_arrays/performance_problems.md)
- [Performance Solutions](./growable_arrays/performance_solutions.md)
- [Optimized Implementation](./growable_arrays/optimized_implementation.md)

# Interactive Programs II

- [Command Line Arguments](./command_line_arguments.md)
- [Accessing Arguments](./command_line_arguments/accessing_arguments.md)
- [Conventions](./command_line_arguments/conventions.md)


# Code Structure IV

- [Inner Classes](./inner_classes.md)
- [Type](./inner_classes/type.md)
- [Instances](./inner_classes/instances.md)
- [New Operator](./inner_classes/new_operator.md)
- [Scope](./inner_classes/scope.md)
- [Disambiguation](./inner_classes/disambiguation.md)
- [The anonymous main class](./inner_classes/the_anonymous_main_class.md)
- [Static Inner Classes](./inner_classes/static_inner_classes.md)
- [Private Inner Classes](./inner_classes/private_inner_classes.md)
- [Packages](./packages.md)
- [Declaration](./packages/declaration.md)
- [Visibility](./packages/visibility.md)
- [Public Classes](./packages/public_classes.md)
- [Fully Qualified Class Name](./packages/fully_qualified_class_name.md)
- [Import](./packages/import.md)
- [The Default Package](./packages/the_default_package.md)
- [The Anonymous Main Class](./packages/the_anonymous_main_class.md)
- [Public Methods](./packages/public_methods.md)
- [Package-Private Methods](./packages/package_private_methods.md)
- [Public Fields](./packages/public_fields.md)
- [Package-Private Fields](./packages/package_private_fields.md)
- [The Default Constructor](./packages/the_default_constructor.md)
- [Public Constructors](./packages/public_constructors.md)
- [Package-Private Constructors](./packages/package_private_constructors.md)
- [Subpackages](./packages/subpackages.md)
- [Reverse Domain Name Notation](./packages/reverse_domain_name_notation.md)

- [Strings II](./strings_ii.md)
- [length]()
# Data Types IV

- [Records](./records.md)
- [Declaration](./records/declaration.md)
- [The Canonical Constructor](./records/the_canonical_constructor.md)
- [Component Accessors](./records/component_accessors.md)
- [Component Accessor Visibility](./records/component_accessor_visibility.md)
- [Printing a Record](./records/printing_a_record.md)
- [Check for Equality](./records/check_for_equality.md)
- [Return Multiple Values](./records/return_multiple_values.md)
- [Shorthand](./records/shorthand.md)

- [Integers II](./integers_ii.md)
- [Integer from a String](./integers_ii/integer_from_a_string.md)
- [Integer to a String](./integers_ii/integer_to_a_string.md)
- [Base 16 Integer Literals](./integers_ii/base_16_integer_literals.md)
- [Integer from a Base 16 String](./integers_ii/integer_from_a_base_16_string.md)
- [Integer to a Base 16 String](./integers_ii/integer_to_a_base_16_string.md)
- [Underscores in Integer Literals](./integers_ii/underscores_in_integer_literals.md)

# Interactive Programs III

- [Files](./files.md)
- [Paths](./files/paths.md)
- [IOException](./files/ioexception.md)
- [UncheckedIOException](./files/uncheckedioexception.md)
- [Write to a File](./files/write_to_a_file.md)
- [Read from a File](./files/read_from_a_file.md)
- [Create a Folder](./files/creating_a_folder.md)
- [Delete a Folder](./files/creating_a_folder.md)
- [Delete a File](./files/creating_a_folder.md)

# Data Structures & Algorithms II

- [Hash Maps]()
- [Hash Sets]()

# Code Structure IV


- [Interfaces]()
- [@Override]()
- [Generics]()
- [Casting]()
- [Object]()
- [instanceof]()
- [toString]()
- [equals]()
- [charAt]()
- [equalsIgnoreCase]()
- [hashCode]()


<!--



# Data Types IV

- [StringBuilder](./string_builder.md)
- [Pattern]()


# Concepts

- [The Idiot Game](./the_idiot_game.md)

# Interactive Programs


# The Computing Environment





# Interactive Programs


- [Command Line Arguments]()

# Code Structure IV


- [Import]()
- [Packages]()
- [Public]()
- [Package Private]()

- [Multiple Source Files]()
- [Why]()
- [How]()
- [Restrictions]()
- [The Main Class]()
- [The Implicit Main Class]()

# Data Types V

- [Strings III]()
- [StringBuilder](./stringbuilder.md)
- [Regular Expressions]()

# Code Structure V

- [toString]()
- [Interfaces]()
- [@Override]()


# Code Structure V

- [Generics]()
- [Declaration]()
- [Safety]()
- [Unsafe Casts]()

# Data Types VI

- [Integers II]()
- [Paths]()
- [Iterator and Iterable]()
- [Exceptions II]()
- [Lists]()
- [ArrayList]()
- [Add an item]()
- [Get an item]()
- [Set an item]()
- [Loop over Contents]()

# Control Flow IV

- [Multiple Files]()
- [The Implicit Main Class]()
- [Private]()
- [Loops III](./loops_iii.md)
- [For Each]()

# Algorithms II

- [Hash Map]()

# Data Types VII

- [Maps]()
- [HashMap]()
- [Sets]()
- [HashSet]()

# Interactive Programs II

- [Files]()

# Metaprogramming

- [Reflection]()
- [Annotations]() -->


<!--



## Data Types IV

Expand All @@ -308,7 +586,6 @@
- [Documentation Comments]()
- [Testing]()

- [Example: "Growable" Array]()

# User Defined Types

Expand Down
Loading
Loading