Download presentation
Presentation is loading. Please wait.
Published byKristian Clark Modified over 9 years ago
1
Java Software Solutions Lewis and Loftus Chapter 3 1 Copyright 1997 by John Lewis and William Loftus. All rights reserved. Program Elements -- Introduction We can now examine the core elements of programming Chapter 3 focuses on: –data types –variable declaration and use –operators and expressions –decisions and loops –input and output
2
Java Software Solutions Lewis and Loftus Chapter 3 2 Copyright 1997 by John Lewis and William Loftus. All rights reserved. Primitive Data Types A data type is defined by a set of values and the operators you can perform on them Each value stored in memory is associated with a particular data type The Java language has several predefined types, called primitive data types The following reserved words represent eight different primitive types: –byte, short, int, long, float, double, boolean, char
3
Java Software Solutions Lewis and Loftus Chapter 3 9 Copyright 1997 by John Lewis and William Loftus. All rights reserved. Variables A variable is an identifier that represents a location in memory that holds a particular type of data Variables must be declared before they can be used The syntax of a variable declaration is: data-type variable-name; For example: int total;
4
Java Software Solutions Lewis and Loftus Chapter 3 10 Copyright 1997 by John Lewis and William Loftus. All rights reserved. Variables Multiple variables can be declared on the same line: int total, count, sum; Variables can be initialized (given an initial value) in the declaration: int total = 0, count = 20; float unit_price = 57.25; See Piano_Keys.java
5
Java Software Solutions Lewis and Loftus Chapter 3 11 Copyright 1997 by John Lewis and William Loftus. All rights reserved. Assignment Statements An assignment statement takes the following form: variable-name = expression; The expression is evaluated and the result is stored in the variable, overwriting the value currently stored in the variable See United_States.java The expression can be a single value or a more complicated calculation
6
Java Software Solutions Lewis and Loftus Chapter 3 12 Copyright 1997 by John Lewis and William Loftus. All rights reserved. Constants A constant is similar to a variable except that they keep the same value throughout their existence They are specified using the reserved word final in the declaration For example: final double PI = 3.14159; final int STUDENTS = 25;
7
Java Software Solutions Lewis and Loftus Chapter 3 13 Copyright 1997 by John Lewis and William Loftus. All rights reserved. Constants When appropriate, constants are better than variables because: –they prevent inadvertent errors because their value cannot change They are better than literal values because: –they make code more readable by giving meaning to a value –they facilitate change because the value is only specified in one place
8
Java Software Solutions Lewis and Loftus Chapter 3 14 Copyright 1997 by John Lewis and William Loftus. All rights reserved. Input and Output Java I/O is based on input streams and output streams There are three predefined standard streams: The print and println methods write to standard output Stream System.in System.out System.err Purpose reading input writing output writing errors Default Device keyboard monitor
9
Java Software Solutions Lewis and Loftus Chapter 3 16 Copyright 1997 by John Lewis and William Loftus. All rights reserved. Escape Sequences See Echo.java An escape sequence is a special sequence of characters preceded by a backslash (\) They indicate some special purpose, such as: Escape Sequence \t \n \" \' \\ Meaning tab new line double quote single quote backslash
10
Java Software Solutions Lewis and Loftus Chapter 3 18 Copyright 1997 by John Lewis and William Loftus. All rights reserved. Numeric Input Converting a string that holds an integer into the integer value can be done with a method in the Integer wrapper class: value = Integer.parseInt (my_string); A value can be read and converted in one line: num = Integer.parseInt (stdin.readLine()); See Addition.java and Addition2.java
11
Java Software Solutions Lewis and Loftus Chapter 3 36 Copyright 1997 by John Lewis and William Loftus. All rights reserved. Program Development The creation of software involves four basic activities: –establishing the requirements –creating a design –implementing the code –testing the implementation The development process is much more involved that this, but these basic steps are a good starting point
12
Java Software Solutions Lewis and Loftus Chapter 3 37 Copyright 1997 by John Lewis and William Loftus. All rights reserved. Requirements Requirements specify the tasks a program must accomplish (what to do, not how to do it) They often address the user interface An initial set of requirements are often provided, but usually must be critiqued, modified, and expanded It is often difficult to establish detailed, unambiguous, complete requirements Careful attention to the requirements can save significant time and money in the overall project
13
Java Software Solutions Lewis and Loftus Chapter 3 38 Copyright 1997 by John Lewis and William Loftus. All rights reserved. Design A program follows an algorithm, which is a step-by-step process for solving a problem The design specifies the algorithms and data needed In object-oriented development, it establishes the classes, objects, and methods that are required The details of a method may be expressed in pseudocode, which is code-like, but does not necessarily follow any specific syntax
14
Java Software Solutions Lewis and Loftus Chapter 3 39 Copyright 1997 by John Lewis and William Loftus. All rights reserved. Implementation Implementation is the process of translating a design into source code Most novice programmers think that writing code is the heart of software development, but it actually should be the least creative Almost all important decisions are made during requirements analysis and design Implementation should focus on coding details, including style guidelines and documentation
15
Java Software Solutions Lewis and Loftus Chapter 3 40 Copyright 1997 by John Lewis and William Loftus. All rights reserved. Testing A program should be executed multiple times with various input in an attempt to find errors Debugging is the process of discovering the cause of a problem and fixing it Programmers often erroneously think that there is "only one more bug" to fix Tests should focus on design details as well as overall requirements
16
Java Software Solutions Lewis and Loftus Chapter 3 41 Copyright 1997 by John Lewis and William Loftus. All rights reserved. Program Development See Average.java Follow the process of requirements analysis, design, implementation, and testing There are always multiple ways to design and implement a program Any design has advantages and disadvantages; there are always trade-offs See Average2.java
17
Java Software Solutions Lewis and Loftus Chapter 4 1 Copyright 1997 by John Lewis and William Loftus. All rights reserved. Objects and Classes -- Introduction Now that some low-level programming concepts have been established, we can examine objects in more detail Chapter 4 focuses on: –the concept of objects –the use of classes to create objects –using predefined classes –defining methods and passing parameters –defining classes –visibility modifiers –static variables and methods –method overloading
18
Java Software Solutions Lewis and Loftus Chapter 4 2 Copyright 1997 by John Lewis and William Loftus. All rights reserved. Objects An object has: –state - descriptive characteristics –behaviors - what it can do (or be done to it) For example, a particular bank account –has an account number –has a current balance –can be deposited into –can be withdrawn from
19
Java Software Solutions Lewis and Loftus Chapter 4 3 Copyright 1997 by John Lewis and William Loftus. All rights reserved. Classes A class is a blueprint of an object It is the model or pattern from which objects are created A class defines the methods and types of data associated with an object Creating an object from a class is called instantiation; an object is an instance of a particular class For example, the Account class could describe many bank accounts, but toms_savings is a particular bank account with a particular balance
20
Java Software Solutions Lewis and Loftus Chapter 4 4 Copyright 1997 by John Lewis and William Loftus. All rights reserved. Creating Objects The new operator creates an object from a class: Account toms_savings = new Account (); This declaration asserts that toms_savings is a variable that refers to an object created from the Account class It is initialized to the object created by the new operator The newly created object is set up by a call to a constructor of the class
21
Java Software Solutions Lewis and Loftus Chapter 4 5 Copyright 1997 by John Lewis and William Loftus. All rights reserved. Constructors A constructor is a special method used to set up an object It has the same name as the class It can take parameters, which are often used to initialize some variables in the object For example, the Account constructor could be set up to take a parameter specifying its initial balance: Account toms_savings = new Account (125.89);
22
Java Software Solutions Lewis and Loftus Chapter 4 6 Copyright 1997 by John Lewis and William Loftus. All rights reserved. Object References The declaration of the object reference variable and the creation of the object can be separate activities: Account toms_savings; toms_savings = new Account (125.89); Once an object exists, its methods can be invoked using the dot operator: toms_savings.deposit (35.00);
23
Java Software Solutions Lewis and Loftus Chapter 4 7 Copyright 1997 by John Lewis and William Loftus. All rights reserved. The String Class A character string in Java is an object, defined by the String class String name = new String ("Ken Arnold"); Because strings are so common, Java allows an abbreviated syntax: String name = "Ken Arnold"; Java strings are immutable; once a string object has a value, it cannot be changed
24
Java Software Solutions Lewis and Loftus Chapter 4 8 Copyright 1997 by John Lewis and William Loftus. All rights reserved. The String Class A character in a string can be referred to by its position, or index The index of the first character is zero The String class is defined in the java.lang package (and is therefore automatically imported) Many helpful methods are defined in the String class See Carpe_Diem.java
25
Java Software Solutions Lewis and Loftus Chapter 4 9 Copyright 1997 by John Lewis and William Loftus. All rights reserved. The StringTokenizer Class The StringTokenizer class makes it easy to break up a string into pieces called tokens By default, the delimiters for the tokens are the space, tab, carriage return, and newline characters (white space) The StringTokenizer class is defined in the java.util package See Int_Reader.java
26
Java Software Solutions Lewis and Loftus Chapter 4 10 Copyright 1997 by John Lewis and William Loftus. All rights reserved. The Random Class A program may need to produce a random number The Random class provides methods to simulate a random number generator The nextInt method returns a random number from the entire spectrum of int values Usually, the number must be scaled and shifted into a particular range to be useful See Flip.java
27
Java Software Solutions Lewis and Loftus Chapter 4 16 Copyright 1997 by John Lewis and William Loftus. All rights reserved. Garbage Collection When an object no longer has any valid references to it, it can no longer be accessed by the program It is useless, and therefore called garbage Java performs automatic garbage collection periodically, returning an object's memory to the system for future use In other languages, the programmer has the responsibility for performing garbage collection
28
Java Software Solutions Lewis and Loftus Chapter 4 17 Copyright 1997 by John Lewis and William Loftus. All rights reserved. Methods A class contains methods; prior to defining our own classes, we must explore method definitions We've defined the main method many times All methods follow the same syntax: return-type method-name ( parameter-list ) { statement-list }
29
Java Software Solutions Lewis and Loftus Chapter 4 18 Copyright 1997 by John Lewis and William Loftus. All rights reserved. Methods A method definition: int third_power (int number) { int cube; cube = number * number * number; return cube; } // method third_power
30
Java Software Solutions Lewis and Loftus Chapter 4 19 Copyright 1997 by John Lewis and William Loftus. All rights reserved. Methods A method may contain local declarations as well as executable statements Variables declared locally can only be used locally The third_power method could be written without any local variables: int third_power (int number) { return number * number * number; } // method third_power
31
Java Software Solutions Lewis and Loftus Chapter 4 20 Copyright 1997 by John Lewis and William Loftus. All rights reserved. The return Statement The return type of a method indicates the type of value that the method sends back to the calling location A method that does not return a value (such as main ) has a void return type The return statement specifies the value that will be returned Its expression must conform to the return type
32
Java Software Solutions Lewis and Loftus Chapter 4 21 Copyright 1997 by John Lewis and William Loftus. All rights reserved. Method Flow of Control The main method is invoked by the system when you submit the bytecode to the interpreter Each method call returns to the place that called it mainmethod1 method2 method1(); method2();
33
Java Software Solutions Lewis and Loftus Chapter 4 24 Copyright 1997 by John Lewis and William Loftus. All rights reserved. Defining Classes The syntax for defining a class is: class class-name { declarations constructors methods } The variables, constructors, and methods of a class are generically called members of the class
34
Java Software Solutions Lewis and Loftus Chapter 4 25 Copyright 1997 by John Lewis and William Loftus. All rights reserved. Defining Classes class Account { int account_number; double balance; Account (int account, double initial) { account_number = account; balance = initial; } // constructor Account void deposit (double amount) { balance = balance + amount; } // method deposit } // class Account
35
Java Software Solutions Lewis and Loftus Chapter 4 26 Copyright 1997 by John Lewis and William Loftus. All rights reserved. Constructors A constructor: –is a special method that is used to set up a newly created object –often sets the initial values of variables –has the same name as the class –does not return a value –has no return type, not even void The programmer does not have to define a constructor for a class
36
Java Software Solutions Lewis and Loftus Chapter 4 27 Copyright 1997 by John Lewis and William Loftus. All rights reserved. Classes and Objects A class defines the data types for an object, but a class does not store data values Each object has its own unique data space The variables defined in a class are called instance variables because each instance of the class has its own All methods in a class have access to all instance variables of the class Methods are shared among all objects of a class
37
Java Software Solutions Lewis and Loftus Chapter 4 28 Copyright 1997 by John Lewis and William Loftus. All rights reserved. Classes and Objects Class Objects int account_number double balance account_number balance 2908371 573.21 account_number balance 4113787 9211.84
38
Java Software Solutions Lewis and Loftus Chapter 4 29 Copyright 1997 by John Lewis and William Loftus. All rights reserved. Encapsulation You can take one of two views of an object: –internal - the structure of its data, the algorithms used by its methods –external - the interaction of the object with other objects in the program From the external view, an object is an encapsulated entity, providing a set of specific services These services define the interface to the object
39
Java Software Solutions Lewis and Loftus Chapter 4 30 Copyright 1997 by John Lewis and William Loftus. All rights reserved. Encapsulation An object should be self-governing; any changes to the object's state (its variables) should be accomplished by that object's methods We should make it difficult, if not impossible, for another object to "reach in" and alter an object's state The user, or client, of an object can request its services, but it should not have to be aware of how those services are accomplished
40
Java Software Solutions Lewis and Loftus Chapter 4 31 Copyright 1997 by John Lewis and William Loftus. All rights reserved. Encapsulation An encapsulated object can be thought of as a black box; its inner workings are hidden to the client client toms_savings deposit withdraw add_interest produce_statement
41
Java Software Solutions Lewis and Loftus Chapter 4 32 Copyright 1997 by John Lewis and William Loftus. All rights reserved. Abstraction Encapsulation is a powerful abstraction An abstraction hides the right details at the right time We use abstractions every day: –driving a car –using a computer Encapsulation makes an object easy to manage mentally because its interaction with clients is limited to a set of well-defined services
42
Java Software Solutions Lewis and Loftus Chapter 4 33 Copyright 1997 by John Lewis and William Loftus. All rights reserved. Visibility Modifiers We accomplish encapsulation through the appropriate use of visibility modifiers A modifier is a Java reserved word that specifies particular characteristics of a programming construct We've used the modifier final to define a constant Java has three visibility modifiers: public, private, and protected We will discuss the protected modifier later
43
Java Software Solutions Lewis and Loftus Chapter 4 34 Copyright 1997 by John Lewis and William Loftus. All rights reserved. Visibility Modifiers Members of a class that are declared with public visibility can be accessed from anywhere Members of a class that are declared with private visibility can only be accessed from inside the class Members declared without a visibility modifier have default visibility and can be accessed by any class in the same package Java modifiers are discussed in detail in Appendix F
44
Java Software Solutions Lewis and Loftus Chapter 4 35 Copyright 1997 by John Lewis and William Loftus. All rights reserved. Visibility Modifiers As a general rule, no object's data should be declared with public visibility Methods that provide the object's services are usually declared with public visibility so that they can be invoked by clients Public methods are also called service methods Other methods, called support methods, can be defined that assist the service methods; they should not be declared with public visibility
45
Java Software Solutions Lewis and Loftus Chapter 4 36 Copyright 1997 by John Lewis and William Loftus. All rights reserved. Classes and Objects See Tunes.java main music add_cds print
46
Java Software Solutions Lewis and Loftus Chapter 4 37 Copyright 1997 by John Lewis and William Loftus. All rights reserved. The static Modifier The static modifier can be applied to variables or methods It associates a variable or method with the class rather than an object This approach is a distinct departure from the normal way of thinking about objects
47
Java Software Solutions Lewis and Loftus Chapter 4 38 Copyright 1997 by John Lewis and William Loftus. All rights reserved. Static Variables Normally, each object has its own data space If a variable is declared as static, only one copy of the variable exists for all objects of the class private static int count; Changing the value of a static variable in one object changes it for all others Static variables are sometimes called class variables
48
Java Software Solutions Lewis and Loftus Chapter 4 39 Copyright 1997 by John Lewis and William Loftus. All rights reserved. Static Methods Normally, we invoke a method through an instance (an object) of a class If a method is declared as static, it can be invoked through the class name; no object needs to exist For example, the Math class in the java.lang package contains several static mathematical operations Math.abs (num) -- absolute value Math.sqrt (num) -- square root
49
Java Software Solutions Lewis and Loftus Chapter 4 40 Copyright 1997 by John Lewis and William Loftus. All rights reserved. Static Methods The main method is static; it is invoked by the system without creating an object Static methods cannot reference instance variables, because instance variables don't exist until an object exists However, they can reference static variables or local variables Static methods are sometimes called class methods
50
Java Software Solutions Lewis and Loftus Chapter 4 41 Copyright 1997 by John Lewis and William Loftus. All rights reserved. Overloaded Methods Method overloading is the process of using the same method name for multiple methods The signature of each overloaded method must be unique The signature is based on the number, type, and order of the parameters The compiler must be able to determine which version of the method is being invoked by analyzing the parameters The return type of the method is not part of the signature
51
Java Software Solutions Lewis and Loftus Chapter 4 42 Copyright 1997 by John Lewis and William Loftus. All rights reserved. Overloaded Methods The println method is overloaded: println (String s) println (int i) println (double d) etc. The lines System.out.println ("The total is:"); System.out.println (total); invoke different versions of the println method
52
Java Software Solutions Lewis and Loftus Chapter 4 43 Copyright 1997 by John Lewis and William Loftus. All rights reserved. Overloaded Methods Constructors are often overloaded to provide multiple ways to set up a new object Account (int account) { account_number = account; balance = 0.0; } // constructor Account Account (int account, double initial) { account_number = account; balance = initial; } // constructor Account See Casino.java
53
Java Software Solutions Lewis and Loftus Chapter 4 45 Copyright 1997 by John Lewis and William Loftus. All rights reserved. Classes and Objects See Storm.java drop1 drop2 drop3 drop4 drop5 Storm current_size 18 current_size 4 12 current_size 7 24
54
Java Software Solutions Lewis and Loftus Chapter 6 1 Copyright 1997 by John Lewis and William Loftus. All rights reserved. Objects for Organizing Data -- Introduction As our programs get more sophisticated, we need assistance organizing large amounts of data Chapter 6 focuses on: –array declaration and use –arrays of objects –parameters and arrays –multidimensional arrays –the Vector class –additional techniques for managing strings
55
Java Software Solutions Lewis and Loftus Chapter 6 2 Copyright 1997 by John Lewis and William Loftus. All rights reserved. Arrays An array is an ordered list of values Each value has a numeric index An array of size N is indexed from zero to N-1 The following array of integers has a size of 10 and is indexed from 0 to 9 0 1 2 3 4 5 6 7 8 9 scores 79 87 94 82 67 98 87 81 74 91
56
Java Software Solutions Lewis and Loftus Chapter 6 3 Copyright 1997 by John Lewis and William Loftus. All rights reserved. Arrays A particular value in an array is referenced using the array name followed by the index in brackets For example, the expression scores[4] refers to the value 67 (which is the 5th value in the array) That expression represents a place to store a single integer, can can be used wherever an integer variable can For example, it can be assigned a value, printed, used in a calculation
57
Java Software Solutions Lewis and Loftus Chapter 6 4 Copyright 1997 by John Lewis and William Loftus. All rights reserved. Arrays An array stores multiple values of the same type That type can be primitive types or objects Therefore, we can create an array of integers, or an array of characters, or an array of String objects, etc. In Java, the array itself is an object Therefore the name of the array is a object reference variable, and the array itself is instantiated separately
58
Java Software Solutions Lewis and Loftus Chapter 6 5 Copyright 1997 by John Lewis and William Loftus. All rights reserved. Declaring Arrays The scores array could be declared as follows: int[] scores = new int[10]; Note that the type of the array does not specify its size, but each object of that type has a specific size The type of the variable scores is int[] (an array of integers) It is set to a newly instantiated array of 10 integers See Basic_Array.java
59
Java Software Solutions Lewis and Loftus Chapter 6 6 Copyright 1997 by John Lewis and William Loftus. All rights reserved. Declaring Arrays Some examples of array declarations: float[] prices = new float[500]; boolean[] flags; flags = new boolean[20]; char[] codes = new char[1750];
60
Java Software Solutions Lewis and Loftus Chapter 6 7 Copyright 1997 by John Lewis and William Loftus. All rights reserved. Bounds Checking Once an array is created, it has a fixed size An index used in an array reference must specify a valid element That is, they must be in bounds (0 to N-1) The Java interpreter will throw an exception if an array index is out of bounds This is called automatic bounds checking Its common to inadvertently introduce off-by-one errors when using arrays
61
Java Software Solutions Lewis and Loftus Chapter 6 8 Copyright 1997 by John Lewis and William Loftus. All rights reserved. Bounds Checking Each array object has a public constant called length that stores the size of the array It is referenced through the array name (just like any other object): scores.length Note that length holds the number of elements, not the largest index See Reverse_Numbers.java and Adjust_Test_Scores.java
62
Java Software Solutions Lewis and Loftus Chapter 6 9 Copyright 1997 by John Lewis and William Loftus. All rights reserved. Array Declarations Revisited The brackets of the array type can be associated with the element type or with the name of the array Therefore float[] prices; and float prices[]; are essentially equivalent The first format is usually more readable
63
Java Software Solutions Lewis and Loftus Chapter 6 10 Copyright 1997 by John Lewis and William Loftus. All rights reserved. Initializer Lists An initializer list can be used to instantiate and initialize an array in one step The values are delimited by braces and separated by commas Examples: int[] units = {147, 323, 89, 933, 540, 269, 97, 114, 298, 476}; char[] letter_grades = {'A', 'B', 'C', 'D', 'F'};
64
Java Software Solutions Lewis and Loftus Chapter 6 11 Copyright 1997 by John Lewis and William Loftus. All rights reserved. Initializer Lists Note that when an initializer list is used: –the new operator is not used –no size value is specified The size of the array is determined by the number of items in the initializer list An initializer list can only be used in the declaration of an array See Primes.java and Sales_Analysis.java
65
Java Software Solutions Lewis and Loftus Chapter 6 12 Copyright 1997 by John Lewis and William Loftus. All rights reserved. Arrays of Objects The elements of an array can be object references The declaration String[] words = new String[25]; reserves space to store 25 references to String objects It does NOT create the String objects themselves Each object stored in an array must be instantiated separately
66
Java Software Solutions Lewis and Loftus Chapter 6 13 Copyright 1997 by John Lewis and William Loftus. All rights reserved. Arrays of Objects See Children.java and Presidents.java Objects can have arrays as instance variables Therefore, fairly complex structures can be created simply with arrays and objects The software designer must carefully determine an organization of data and objects that makes sense for the situation See Roll_Call.java
67
Java Software Solutions Lewis and Loftus Chapter 6 14 Copyright 1997 by John Lewis and William Loftus. All rights reserved. Arrays as Parameters An entire array can be passed to a method as a parameter Like any other object, the reference to the array is passed, making the formal and actual parameters aliases of each other Changing an array element in the method changes the original An array element can be passed to a method as well, and follow the parameter passing rules of that element's type See Array_Test.java
68
Java Software Solutions Lewis and Loftus Chapter 6 15 Copyright 1997 by John Lewis and William Loftus. All rights reserved. Multidimensional Arrays A one-dimensional array stores a simple list of values A two-dimensional array can be thought of as a table of values, with rows and columns A two-dimensional array element is referenced using two index values To be precise, a two-dimensional array in Java is an array of arrays, therefore each row can have a different length
69
Java Software Solutions Lewis and Loftus Chapter 6 16 Copyright 1997 by John Lewis and William Loftus. All rights reserved. Multidimensional Arrays An initializer list can be used to create and set up a multidimensional array Each element in the list is itself an initializer list Note that each array dimension has its own length constant See Multi_Array_Test.java and Soda_Survey.java
70
Java Software Solutions Lewis and Loftus Chapter 6 17 Copyright 1997 by John Lewis and William Loftus. All rights reserved. The Vector Class An object of class Vector is similar to an array in that it stores multiple values However, a vector –only stores objects –does not have the indexing syntax that arrays have Service methods are used to interact with a vector The Vector class is part of the java.util package See Beatles.java and ZZ_Top.java
71
Java Software Solutions Lewis and Loftus Chapter 6 18 Copyright 1997 by John Lewis and William Loftus. All rights reserved. The Vector Class An important difference between an array and a vector is that a vector can be thought of as a dynamic, able to change its size as needed Each vector initially has a certain amount of memory space reserved for storing elements If an element is added that doesn't fit in the existing space, more room is automatically acquired
72
Java Software Solutions Lewis and Loftus Chapter 6 19 Copyright 1997 by John Lewis and William Loftus. All rights reserved. The Vector Class A vector is implemented using an array Whenever new space is required, a new, larger array is created, and the values are copied from the original to the new array To insert an element, existing elements are first copied, one by one, to another position in the array Therefore, the implementation of Vector in the API is not very efficient
73
Java Software Solutions Lewis and Loftus Chapter 6 20 Copyright 1997 by John Lewis and William Loftus. All rights reserved. The StringTokenizer Class Revisited We've seen a StringTokenizer object separate a string into separate tokens By default, those tokens are delimited by white space But by using other StringTokenizer constructors, we can define the delimiters used to define a token We can also set whether we want the delimiters themselves returned as tokens See Voltaire.java and URL_Tokens.java
74
Java Software Solutions Lewis and Loftus Chapter 6 21 Copyright 1997 by John Lewis and William Loftus. All rights reserved. The StringBuffer Class Recall that the value of a String object is immutable; once set it cannot be changed The StringBuffer class can be used to define a character string whose value can change It's service methods include the ability to append and insert characters See Money.java However, most functionality defined by the StringBuffer class can be accomplished with String objects and string concatenation
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.