Fundamentals of Java Programming 1st ed. 2018 H 535 p. 18
Ogihara, Mitsunori 著
目次
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 Double For-Loops . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 174 8 Using Conditions to Control the Flow 187 8.1 Condition and its evaluation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 187 8.2 The If Statements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 194 8.2.1 If . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 194 8.2.2 Else . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 201 8.2.3 Special conditional evaluation rules . . . . . . . . . . . . . . . . . . . . . . . . 209 8.3 Applications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 211 8.3.1 Computing max and min in a series of numbers . . . . . . . . . . . . . . . . . 211 8.3.2 A betting game . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 214 9 Formatted Printing using printf 225 9.1 Formatted Printing of Strings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 225 9.2 Formatted Printing of Integers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 228 9.3 Formatted Printing of Floating Point Numbers . . . . . . . . . . . . . . . . . . . . . 229 10 String Methods for Text Processing 237 10.1 String Methods for Information Extraction . . . . . . . . . . . . . . . . . . . . . . . 237 10.2 String Methods for Comparison . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 239 10.3 String methods for Pattern Search . . . . . . . . . . . . . . . . . . . . . . . . . . . . 244 10.4 String methods for creating new String objects . . . . . . . . . . . . . . . . . . . . 246 10.5 Class StringBuilder . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 249 11 Branching Using Switch Statements 259 11.1 Switch Statement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 259 11.2 Switching on a Char or a String Value . . . . . . . . . . . . . . . . . . . . . . . . . . 266 1
カート
カートに商品は入っていません。