This document summarizes key similarities and differences between Scala and Java types, variables, methods, classes, collections, control structures, and other language features. Some of the main points covered include: - Type definitions, variables, and methods are defined similarly but with different syntax in Scala vs Java - Classes and traits in Scala are like classes and interfaces in Java - Scala avoids static methods and instead uses singleton objects - Control structures like if/else, for loops, and exceptions work similarly - Scala supports features like tuples, pattern matching, and expression-oriented programming that have no direct equivalent in Java