ternary operators. See conditional operators
this(), constructors, 139
this keyword, referencing inner or outer instances from within inner class, 642–643
Thread Class, 689
threads, 674–758
creating, 676–677
deadlocks, 717–718
defining, 677–678
instantiating, 678–680
interaction, 718–723
join(), 698–700
methods, 676, 689–690, 729
notifyAll(), 724–725
overview, 674–676
preventing execution of, 692–693
priorities, 696–698
scheduler, 688–689
self test answers, 744–757
self test questions, 733–743
sleep(), 693–696
starting, 681–684
starting multiple, 685–688
states, 690–692
thread-safe classes, 714–716
two-minute drill, 730–732
wait(), 725–728
yield(), 698
throw
exception handling and, 355
throwing exception manually, 360
Throwable class, 354–355
throws, 359
toArray(), 559
tokenizing
overview, 485
with Scanner class, 487–489
self test answers, 508–520
self test questions, 498–507
with split() of String class, 486–487
tokens and delimiters, 485–486
two-minute drill, 496–497
tokens, 485–486
tolowerCase(), String class methods, 423
toString(), 232
Object class, 522–524
public methods, 528
String class methods, 424
StringBuffer methods, 427
toUpperCase(), String class methods, 424
transient, variable declarations, 59
TreeMap, Map interface, 544
TreeSet
Set interface, 543
working with, 562
trim(), String class methods, 424
try statement
catching exceptions, 345–347
declaring exceptions, 359
defining exceptions, 353–354
handling entire class hierarchy of exceptions, 356
legal expressions of, 349–350
two-minute drills
advanced overloading, 258
anonymous inner classes, 658
arithmetic operators, 299
arrays, 73
assertions, 388
assignments, 255–258
boxing, 258
break statements, 386
collections, 607–608
conditional operators, 300
constructors, 155–157
continue statements, 386
coupling, 157
dates, numbers, and currency, 496
declaration, of class members, 70–71
declaration, of classes, 68
development, 779–780
encapsulation, 153
enums, 73
equals(), 606–607
exception handling, 387
flow control, 385–386
formatting, 496–497
garbage collection, 258
generic collections, 609–610
hashCode(), 606–607
I/O (input/output), 494–495
identifiers, 68
if statements, 385
inheritance, 153
inner classes, 657
instanceof operator, 299
instantiation, 155–157
interfaces, 69–70, 155
IS-A relationships, 153
java (Java application launcher), 779–780
javac (Java compiler), 779–780
local variables, 71
logical operators (&,|,^,!,&&, and | |), 300
loops, 386
method-local inner classes, 657–658
modifiers, 68–69, 71–72
object orientation, 153–155
operators, 299–303
overloaded methods, 154
overloading, advanced, 258
overridden methods, 154
polymorphism, 153
relational (<, < = , >, >=, = =, ! = ) operators, 299
return types, 155
scope, variable, 255
serialization, 495
stack, 255
static nested classes, 658
static variables, 73, 157
strings, 494
switch statements, 385
threads, 730–732
tokenizing, 496–497
var-args (variable arguments), 72
variable declarations, 72
wrapper classes, 257–258