• Key object classes (String, Scanner, PrintStream, Arrays, and File) are included to get started in Java programming
      • Concise coverage of the fundamental conceps of Java programming uses line-by-line descriptions of code examples, without using graphics
      • Source codes of the code examples available electronically
      • An ample amount of exercise (250+) are included for each chapter, with a solutions manually available.
      • A complete set of lectures slides available to instructors



      Autorentext

      Mitsunori Ogihara is a professor of Computer Science at the University of Miami, Coral Gables, FL. Prior to joining the University of Miami, he was a professor of Computer Science at the University of Rochester, Rochester, NY. He is presently an editor of Theory of Computing Systems (Springer), International Journal of Foundations of Computer Science (World Scientific Press), and Open Computer Science Journal (De Gruyter). He has published three books: A Complexity Theory Companion (Springer), Music Data Mining (CRC Press), and one in Japanese. He has published more than 190 research articles.



      Klappentext

      Making extensive use of examples, this textbook on Java programming teaches the fundamental skills for getting started in a command-line environment. Meant to be used for a one-semester course to build solid foundations in Java, Fundamentals of Java Programming eschews second-semester content to concentrate on over 180 code examples and 250 exercises.

      Key object classes (String, Scanner, PrintStream, Arrays, and File) are included to get started in Java programming. The programs are explained with almost line-by-line descriptions, also with chapter-by-chapter coding exercises.

      Teaching resources include solutions to the exercises, as well as digital lecture slides.



      Inhalt

      1) Programming Basics 1

      a) Java and the Java Virtual Machine 3

      1.1 Computers and Their Programs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3

      1.1.1 The computer programs in your machine . . . . . . . . . . . . . . . . . . . . 3

      1.1.2 Java Virtual Machines - JVM . . . . . . . . . . . . . . . . . . . . . . . . . . . 3

      1.1.3 Code editing and code compiling . . . . . . . . . . . . . . . . . . . . . . . . . 6

      b) Our First Programs 13

      2.1 The First Program, "Hello, World!" . . . . . . . . . . . . . . . . . . . . . . . . . . . 13

      2.1.1 Method declaration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16

      2.1.2 Methods . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16

      2.1.3 System.out.println and System.out.print . . . . . . . . . . . . . . . . . . 17

      2.1.4 Spacing in the source code . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18

      2.2 Commenting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19

      2.3 Errors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21

      2.4 Using Multiple Statements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23

      . println versus print revisited . . . . . . . . . . . . . . . . . . . . . . . . . . 23

      . Printing multiple-line texts on the screen . . . . . . . . . . . . . . . . . . . . 25

      2.4.3 Escaping characters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26

      2.4.4 Printing shapes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29

      c) Using Data for Computation 39

      3.1 Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39

      3.1.1 Data and their taxonomy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39

      3.1.2 Literals . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40

      3.1.3 Variable declarations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42

      3.1.4 Naming variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43

      3.1.5 Value assignments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43

      3.2 The primitive data types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45

      3.2.1 Quarterbacks program again . . . . . . . . . . . . . . . . . . . . . . . . . . . 48

      3.3 Using Variables for Computation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50

      3.3.1 Number arithmetics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50

      3.3.2 Formula evaluation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52

      3.3.3 Our first calculation program . . . . . . . . . . . . . . . . . . . . . . . . . . . 53

      3.3.4 Mixing different number types . . . . . . . . . . . . . . . . . . . . . . . . . . 57

      3.3.5 Computing the Body-Mass Index . . . . . . . . . . . . . . . . . . . . . . . . . 59

      3.3.6 Sum of integers from 1 to 100 `a la Gauss . . . . . . . . . . . . . . . . . . . . 61

      3.3.7 Simplified expressions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63

      3.4 An Introduction to String Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69

      3.4.1 String objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69

      3.4.2 String additions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73

      3.4.3 Escaping . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76

      3.4.4 Connection with other types . . . . . . . . . . . . . . . . . . . . . . . . . . . 76

      4 Reading Keyboard Input 83

      4.1 The Class Scanner . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83

      4.2 Reading input with a Scanner . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84

      5 Decomposing Code into Components 99

      5.1 Code Decomposition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99

      5.1.1 Printing rectangles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99

      5.1.2 Quadrangle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106

      5.1.3 Old MacDonald Had a Farm . . . . . . . . . . . . . . . . . . . . . . . . . . . 108

      5.1.4 The benefits of code decomposition . . . . . . . . . . . . . . . . . . . . . . . . 114

      5.2 Using Multiple Program Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117

      6 Passing Values to and from Methods 123

      6.1 Passing Values to Methods . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123

      6.1.1 Methods that work with parameters . . . . . . . . . . . . . . . . . . . . . . . 123

      6.1.2 Method overloading . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 128

      6.2 Receiving a Value from a Method . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132

      6.3 Class Math . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 137

      6.3.1 Mathematical functions in Java . . . . . . . . . . . . . . . . . . . . . . . . . . 137

      6.3.2 Application using Math methods . . . . . . . . . . . . . . . . . . . . . . . . . 146

      2) Loops and Conditional Execution 157

      7 For-Loops 159

      7.1 Repetitive Code Execution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 159

      7.2 Iteration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 167

      7.2.1 Simple iteration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 167

      7.2.2 Iteration with an auxiliary variable . . . . . . . . . . . . . . . . . . . . . . . . 173

      7.3 Do…

Titel
Fundamentals of Java Programming
EAN
9783319894911
Format
E-Book (pdf)
Veröffentlichung
13.07.2018
Digitaler Kopierschutz
Wasserzeichen
Dateigrösse
32.91 MB
Anzahl Seiten
515