38
38
# Data Types I
39
39
40
40
- [ Booleans] ( ./boolean.md )
41
+ - [ Not] ( ./boolean/not.md )
41
42
- [ And] ( ./boolean/and.md )
42
43
- [ Or] ( ./boolean/or.md )
43
- - [ Not] ( ./boolean/not.md )
44
44
- [ Operator Precedence] ( ./boolean/operator_precedence.md )
45
45
- [ Challenges] ( ./boolean/challenges.md )
46
46
- [ Integers] ( ./integers.md )
95
95
# Control Flow I
96
96
97
97
- [ Branching Paths] ( ./branching_paths.md )
98
-
99
98
- [ If] ( ./branching_logic/if.md )
100
99
- [ Nested Ifs] ( ./branching_logic/nested_ifs.md )
101
100
- [ Else] ( ./branching_logic/else.md )
136
135
- [ Printing the Contents of an Array] ( ./arrays/printing_the_contents_of_an_array.md )
137
136
- [ Empty Array] ( ./arrays/empty_array.md )
138
137
- [ Difference between Initializer and Literal] ( ./arrays/difference_between_initializer_and_literal.md )
138
+ - [ Initialization with new] ( ./arrays/initialization_with_new.md )
139
139
- [ Challenges] ( ./arrays/challenges.md )
140
140
141
141
# Control Flow II
190
190
- [ Return in void methods] ( ./return_values/return_in_void_methods.md )
191
191
- [ Conversion] ( ./return_values/conversion.md )
192
192
- [ Unreachable Statements] ( ./return_values/unreachable_statements.md )
193
+ - [ Challenges] ( ./return_values/challenges.md )
193
194
194
195
# Data Types III
195
196
198
199
- [ Null as Unknown] ( ./null/null_as_unknown.md )
199
200
- [ Checking for null] ( ./null/checking_for_null.md )
200
201
- [ NullPointerException] ( ./null/null_pointer_exception.md )
202
+ - [ Challenges] ( ./null/challenges.md )
201
203
- [ Boxed Primitives] ( ./boxed_primitives.md )
202
204
- [ Integer] ( ./boxed_primitives/integer.md )
203
205
- [ Double] ( ./boxed_primitives/double.md )
211
213
- [ Initializion with Size] ( ./arrays_ii/initialization_with_size.md )
212
214
- [ Default Values] ( ./arrays_ii/default_values.md )
213
215
- [ Populate Arrays] ( ./arrays_ii/populate_arrays.md )
216
+ - [ Challenges] ( ./arrays_ii/challenges.md )
214
217
215
218
# Code Structure II
216
219
225
228
- [ Field Default Values] ( ./classes/field_default_values.md )
226
229
- [ Aliasing] ( ./classes/aliasing.md )
227
230
- [ Return Multiple Values] ( ./classes/return_multiple_values.md )
231
+ - [ Challenges] ( ./classes/challenges.md )
228
232
229
233
- [ Instance Methods] ( ./instance_methods.md )
230
234
- [ Invocation] ( ./instance_methods/invocation.md )
236
240
- [ this] ( ./instance_methods/this.md )
237
241
- [ Disambiguation] ( ./instance_methods/disambiguation.md )
238
242
- [ Clarity] ( ./instance_methods/clarity.md )
243
+ - [ Challenges] ( ./instance_methods/challenges.md )
239
244
240
245
# Data Types IV
241
246
246
251
- [ Usage] ( ./enums/usage.md )
247
252
- [ Equality] ( ./enums/equality.md )
248
253
- [ Comparison to boolean] ( ./enums/comparison_to_boolean.md )
254
+ - [ Challenges] ( ./enums/challenges.md )
249
255
- [ Strings II] ( ./strings_ii.md )
250
256
- [ lowercase] ( ./strings_ii/lowercase.md )
251
257
- [ UPPERCASE] ( ./strings_ii/UPPERCASE.md )
252
258
- [ Equality ignoring case] ( ./strings_ii/equality_ignoring_case.md )
253
259
- [ Check if empty] ( ./strings_ii/check_if_empty.md )
254
260
- [ Check if blank] ( ./strings_ii/check_if_blank.md )
255
261
- [ Strip extra whitespace] ( ./strings_ii/strip_extra_whitespace.md )
262
+ - [ Challenges] ( ./strings_ii/challenges.md )
256
263
257
264
# Control Flow III
258
265
261
268
- [ Messages] ( ./exceptions/messages.md )
262
269
- [ Stack Traces] ( ./exceptions/stack_traces.md )
263
270
- [ try/catch] ( ./exceptions/try_catch.md )
271
+ - [ Challenges] ( ./exceptions/challenges.md )
264
272
- [ Switch] ( ./switch.md )
265
273
- [ Case and Default] ( ./switch/case_and_default.md )
266
274
- [ Strings] ( ./switch/strings.md )
270
278
- [ Exhaustiveness] ( ./switch/exhaustiveness.md )
271
279
- [ Combining Cases] ( ./switch/combining_cases.md )
272
280
- [ null] ( ./switch/null.md )
281
+ - [ Challenges] ( ./switch/challenges.md )
273
282
274
283
# Code Structure III
275
284
281
290
- [ Invariants] ( ./constructors/invariants.md )
282
291
- [ Overloads] ( ./constructors/overloads.md )
283
292
- [ Delegation] ( ./constructors/delegation.md )
293
+ - [ Challenges] ( ./constructors/challenges.md )
284
294
- [ Global Fields] ( ./global_fields.md )
285
295
- [ Default Values] ( ./global_fields/default_values.md )
286
296
- [ Final Fields] ( ./global_fields/final_fields.md )
287
297
- [ Field Access] ( ./global_fields/field_access.md )
288
298
- [ Inferred Types] ( ./global_fields/inferred_types.md )
299
+ - [ Challenges] ( ./global_fields/challenges.md )
289
300
290
301
# Concepts
291
302
334
345
- [ Getting Used to it] ( ./the_terminal/getting_used_to_it.md )
335
346
336
347
337
- # Control Flow III
348
+ # Control Flow IV
338
349
339
350
- [ Exceptions II] ( ./exceptions_ii.md )
340
351
- [ Checked Exceptions] ( ./exceptions_ii/checked_exceptions.md )
447
458
- [ Integer to a Base 16 String] ( ./integers_ii/integer_to_a_base_16_string.md )
448
459
- [ Underscores in Integer Literals] ( ./integers_ii/underscores_in_integer_literals.md )
449
460
450
- - [ 🚧 Construction Zone 🚧] ( )
451
461
452
462
# Interactive Programs III
453
463
458
468
- [ Write to a File] ( ./files/write_to_a_file.md )
459
469
- [ Read from a File] ( ./files/read_from_a_file.md )
460
470
- [ Create a Folder] ( ./files/creating_a_folder.md )
461
- - [ Delete a Folder ] ( ./files/deleting_a_folder .md )
462
- - [ Delete a File ] ( ./files/deleting_a_file.md )
471
+ - [ Challenges ] ( ./files/challenges .md )
472
+
463
473
474
+
475
+ <!--
464
476
# Data Structures & Algorithms II
465
477
466
478
- [Hash Maps](./hash_maps.md)
473
485
- [Growable Buckets](./hash_maps/growable_buckets.md)
474
486
- [Keys and Values](./hash_maps/keys_and_values.md)
475
487
- [Put Items](./hash_maps/put_items.md)
476
- - [ Get Items] ( ./hash_maps/get_items.md )
488
+ - [Get Items](./hash_maps/get_items.md)-->
477
489
478
490
479
491
# Code Structure IV
486
498
- [ @Override ] ( ./objects/override.md )
487
499
- [ equals and hashCode] ( ./objects/equals_and_hashCode.md )
488
500
- [ Override equals and hashCode] ( ./objects/override_equals_and_hashCode.md )
489
- - [ Variance and Casting] ( ./objects/variance_and_casting.md )
490
- - [ Subclasses] ( ./objects/subclasses.md )
501
+ <!-- - [Variance and Casting](./objects/variance_and_casting.md)
502
+ - [Subclasses](./objects/subclasses.md)-->
503
+
491
504
- [ Generics] ( ./generics.md )
505
+ - [ Type Variables] ( ./generics/type_variables.md )
506
+ - [ Naming] ( ./generics/naming.md )
507
+ - [ Instantiation] ( ./generics/instantiation.md )
508
+ - [ Inference] ( ./generics/inference.md )
509
+ - [ Soundness] ( ./generics/soundness.md )
510
+ - [ Raw Types] ( ./generics/raw_types.md )
492
511
- [ Interfaces] ( ./interfaces.md )
512
+ - [ Interface Declaration] ( ./interfaces/interface_declaration.md )
513
+ - [ Implementation] ( ./interfaces/implementation.md )
514
+ - [ @Override ] ( ./interfaces/override.md )
515
+ - [ Naming] ( ./interfaces/naming.md )
516
+ - [ Subtypes] ( ./interfaces/subtypes.md )
517
+ - [ Multiple Implementations] ( ./interfaces/multiple_implementations.md )
493
518
494
519
# Data Types V
495
520
@@ -501,6 +526,7 @@ Make them do one. -->
501
526
- [ LocalDate] ( ./time/local_date.md )
502
527
- [ LocalTime] ( ./time/local_time.md )
503
528
- [ LocalDateTime] ( ./time/local_date_time.md )
529
+ - [ Time Zones] ( ./time/time_zones.md )
504
530
- [ ZonedDateTime] ( ./time/zoned_date_time.md )
505
531
- [ OffsetDateTime] ( ./time/offset_date_time.md )
506
532
- [ ArrayList] ( ./array_list.md )
@@ -511,16 +537,32 @@ Make them do one. -->
511
537
- [ Loop over items] ( ./array_list/loop_over_items.md )
512
538
- [ Set an item] ( ./array_list/set_an_item.md )
513
539
- [ Remove an item] ( ./array_list/remove_an_item.md )
514
- - [ HashMap] ( ./hash_map.md )
540
+ <!-- - [HashMap](./hash_map.md)
515
541
- [Multi-Dimensional Arrays](./multi_dimensional_arrays.md)
516
-
517
- # Control Flow IV
542
+ - [Iterable and Iterator](./iterable_and_iterator.md)
543
+ # Concepts II
544
+ - [Hyrum's Law](./hyrums_law.md)
545
+ - [Authority](./hyrums_law/authority.md)
546
+ - [Validity](./hyrums_law/validity.md)
547
+ - [Emergent Properties](./hyrums_law/emergent_properties.md)
548
+ - [Importance](./hyrums_law/importance.md)
549
+ - [Encapsulation](./encapsulation.md)
550
+ - [Implementation Details](./encapsulation/implementation_details.md)
551
+ - [Methods](./encapsulation/methods.md)
552
+ - [Classes]()(./encapsulation/classes.md)
553
+ - [Implicit Interfaces](./encapsulation/implicit_interfaces.md)
554
+ - [Abstractions](./encapsulation/abstractions.md)
555
+ - [Leaky Abstractions](./encapsulation/leaky_abstractions.md)
556
+ - [Information Hiding](./encapsulation/information_hiding.md)
557
+
558
+ # Control Flow V
518
559
- [Loops III](./loops_iii.md)
519
- - [ For-each loops] ( )
560
+ - [For-each loops](./loops_iii/for_each_loops.md )
520
561
- [Arrays]()
521
562
- [Iterable]()
522
563
- [ArrayList]()
523
- - [ Reasons to go back] ( ) <!-- -->
564
+ - [Concurrent Modifications](./loops_iii/concurrent_modifications.md)
565
+ - [Reasons to go back]() <!--
524
566
- [Switch III](./switch_iii.md)
525
567
- [Fallthrough](./switch_iii/fallthrough.md)
526
568
- [break](./switch_iii/break.md)
@@ -532,17 +574,17 @@ Make them do one. -->
532
574
- [Base Case](./recursion/base_case.md)
533
575
- [Comparison to Delegation](./recursion/comparison_to_delegation.md)
534
576
- [Comparison to Loops](./recursion/comparison_to_loops.md)
577
+ - [Counting Down](./recursion/counting_down.md)
578
+ - [Accumulators](./recursion/accumulators.md)
579
+ - [Recurse Over a String](./recursion/recursing_over_strings.md)
580
+ - [Recurse Over an Array](./recursion/recursing_over_arrays.md)
535
581
536
582
# Code Structure V
583
+ - [Interface Extension](./interface_extension.md)
537
584
- [Class Extension](./class_extension.md)
538
585
- [Abstract Classes](./abstract_classes.md)
539
586
540
- # Concepts II
541
587
542
- - [ Encapsulation] ( ./encapsulation.md )
543
- - [ Methods] ( )
544
- - [ Classes] ( )
545
- - [ Information Hiding] ( )
546
588
547
589
# Building
548
590
@@ -551,18 +593,70 @@ Make them do one. -->
551
593
- [Compile a List of Files]()
552
594
- [Specify Where to Find Sources]()
553
595
- [Enable Debug Info]()
596
+ - [Package Java Code]()
597
+ - [Consume External Libraries]()
554
598
555
599
# Data Types VI
600
+
556
601
- [StringBuilder]()
557
- - [ Pattern] ( )
602
+ - [Why]()
603
+ - [Regular Expressions]()
604
+ - [Pattern]()
605
+
606
+ # Communication
607
+ <!-- Should cover InputStream and OutputStream - maybe in Files part deux?
608
+ - [TCP over IP](tcp_over_ip.md)
609
+ - [Sockets](./tcp_over_ip/sockets.md)
610
+ - [Low Level versus High Level](./tcp_over_ip/low_level_versus_high_level.md)
611
+ - [Data Formats]()
612
+
613
+ # Metaprogramming
614
+
615
+ - [Reflection](./reflection.md)
616
+ - [Class Objects](./reflection/class_objects.md)
617
+ - [Get all Fields](./reflection/get_all_fields.md)
618
+ - [Get a Field]()
619
+ - [Set a Field]()
620
+ - [Get a Method]()
621
+ - [Call a Method]()
622
+ - [Get a Constructor]()
558
623
624
+ - [Annotations]()
625
+
626
+ # Concepts III
627
+
628
+ - [Acronyms](./acronyms.md)
629
+ - [Niches](./acronyms/niches.md)
630
+ - [Usage Contexts](./acronyms/usage_contexts.md)
631
+ - [Ambiguity](./acronyms/ambiguity.md)
632
+ - [Familiarity](./acronyms/familiarity.md)
633
+ - [Elaboration](./acronyms/elaboration.md)
634
+
635
+ # Code Structure VI
636
+
637
+ - [Documentation Comments]()
638
+ - [Lambdas]()
639
+ - [Unit Testing]()
640
+
641
+ # Concurrency
642
+ - [Threads]()
643
+
644
+
645
+ # Control Flow V
646
+ - [Pattern Matching]()
647
+ - [Primitive Patterns]()
648
+ - [Record Patterns]()
649
+ -->
559
650
<!--
560
651
561
652
562
653
654
+ # Concepts
655
+
563
656
564
657
# Concepts
565
658
659
+
566
660
- [The Idiot Game](./the_idiot_game.md)
567
661
568
662
# Data Types V
@@ -588,11 +682,6 @@ Make them do one. -->
588
682
- [Paths]()
589
683
- [Iterator and Iterable]()
590
684
- [Exceptions II]()
591
- - [Lists]()
592
- - [ArrayList]()
593
- - [Add an item]()
594
- - [Get an item]()
595
- - [Set an item]()
596
685
597
686
# Control Flow IV
598
687
@@ -610,22 +699,13 @@ Make them do one. -->
610
699
- [Sets]()
611
700
- [HashSet]()
612
701
613
- # Metaprogramming
614
-
615
- - [Reflection]()
616
- - [Annotations]() -->
617
-
618
-
619
702
<!--
620
703
621
704
622
705
623
706
## Data Types IV
624
707
625
708
626
-
627
- - [Documentation]()
628
- - [Documentation Comments]()
629
709
- [Testing]()
630
710
631
711
@@ -794,3 +874,7 @@ multi dimensional arrays
794
874
795
875
System.console() over Scanner?
796
876
-->
877
+
878
+
879
+
880
+ - [ 🚧 (More Chapters Planned) 🚧] ( )
0 commit comments