Programming Building Blocks—Java Basics

Total Page:16

File Type:pdf, Size:1020Kb

Programming Building Blocks—Java Basics © Jones & Bartlett Learning, LLC © Jones & Bartlett Learning, LLC NOT FOR SALE OR DISTRIBUTION NOT FOR SALE OR DISTRIBUTION © Jones & Bartlett Learning, LLC © Jones & Bartlett Learning, LLC NOT FOR SALE OR DISTRIBUTION NOT FOR SALE OR DISTRIBUTION © Jones & Bartlett Learning, LLC © Jones & Bartlett Learning, LLC NOT FOR SALE OR DISTRIBUTION NOT FOR SALE OR DISTRIBUTION CHAPTER 2 © Jones & Bartlett Learning, LLC © Jones & Bartlett Learning, LLC NOT FOR SALE ProgrammingOR DISTRIBUTION BuildingNOT FOR SALE OR DISTRIBUTION Blocks—Java Basics © Jones & Bartlett Learning, LLC © Jones & Bartlett Learning, LLC NOT FOR SALE OR DISTRIBUTION NOT FOR SALE OR DISTRIBUTION CHAPTER CONTENTS Introduction 2.3.5 Integer Division and Modulus © Jones2.1 Java & Bartlett Application Learning, Structure LLC 2.3.6© JonesDivisio n& by Bartlett Zero Learning, LLC NOT2.2 FOR Data SALE Types, OR Variables, DISTRIBUTION and Constants 2.3.7NOT Mixed-T FOR ypeSALE Arithmetic OR DISTRIBUTION and Type 2.2.1 Declaring Variables Casting 2.2.2 Integer Data Types 2.3.8 Shortcut Operators 2.2.3 Floating-Point Data Types 2.4 Programming Activity 2: Temperature © Jones & Bartlett Learning,2.2.4 Charac LLCter Data Type © Jones & BartlettConversion Learning, LLC NOT FOR SALE OR DISTRIBUTION2.2.5 Boolean Data Type NOT FOR2.5 ChapSALEter ORSummary DISTRIBUTION 2.2.6 The Assignment Operator, Initial 2.6 Exercises, Problems, and Projects Values, and Literals 2.6.1 Multiple Choice Exercises 2.2.7 String Literals and Escape Sequences 2.6.2 Reading and Understanding Code 2.2.8 ©Cons Jonestants & Bartlett Learning, LLC 2.6.3 Fill In the Code© Jones & Bartlett Learning, LLC 2.3 ExpresNOTsions andFOR Arithmetic SALE OR Operators DISTRIBUTION 2.6.4 Identifying ErrorsNOT in FOR Code SALE OR DISTRIBUTION 2.3.1 The Assignment Operator and 2.6.5 Debugging Area—Using Messages Expressions from the Java Compiler and Java 2.3.2 Arithmetic Operators JVM © Jones 2.3.3 & Bartlett Operat Learning,or Precedence LLC 2.6.6© JonesWrite a &Short Bartlett Program Learning, LLC NOT FOR2.3.4 SALE Prog ORramming DISTRIBUTION Activity 1: 2.6.7NOT Progra FORmming SALE Projects OR DISTRIBUTION Converting Inches to 2.6.8 Technical Writing Centimeters © Jones & Bartlett Learning, LLC© Jones & Bartlett Learning, LLC.© NOTJones FOR SALE& Bartlett OR DISTRIBUTION Learning, LLC NOT FOR SALE OR DISTRIBUTION NOT FOR SALE OR DISTRIBUTION 9781284239935_CH02_Print.indd 39 23/11/17 10:36 AM © Jones & Bartlett Learning, LLC © Jones & Bartlett Learning, LLC NOT FOR SALE OR DISTRIBUTION NOT FOR SALE OR DISTRIBUTION 40 CHAPTER 2 Programming Building Blocks—Java Basics ©Introduction Jones & Bartlett Learning, LLC © Jones & Bartlett Learning, LLC NOT FOR SALE OR DISTRIBUTION NOT FOR SALE OR DISTRIBUTION If we boil it down to the basics, a program has two elements: instructions and data. The instructions tell the CPU what to do with the data. Typically, a program’s struc- ture will consist of the following operations: © Jones & Bartlett 1. Inpu Learning,t the data. LLC © Jones & Bartlett Learning, LLC NOT FOR SALE OR DISTRIBUTION NOT FOR SALE OR DISTRIBUTION 2. Perform some processing on the data. 3. Output the results. The data used by a program can come from a variety of sources. The user can enter data © Jones & Bartlett Learning,from LLC the keyboard, for example, ©when Jones we type & aBartlett new document Learning, into a word LLC processor. NOT FOR SALE OR DISTRIBUTIONThe program can read the data fromNOT a file,FOR for SALEexample, OR when DISTRIBUTION we load an existing doc- ument into the word processor. Or the program can generate the data randomly, for example, when a computer card game deals hands. Finally, some data is already known; for example, the number of hours in a day is 24, the number of days in December is 31, ©and Jones the value & Bartlettof pi is 3.14159. Learning, This type LLC of data is constant. The Java ©language Jones provides & Bartlett a Learning, LLC NOTsyntax FOR for describing SALE OR a program’s DISTRIBUTION data using keywords, symbolic names,NOT and FOR data SALEtypes. OR DISTRIBUTION Although the data may be different in each execution of the program, the instruc- tions stay the same. In a word processor, the words (data) are different from docu- ment to document, but the operation (instructions) of the word processor remains © Jones & Bartlettthe same. Learning, When a line LLC becomes full, for example,© theJones word &processor Bartlett automatically Learning, LLC NOT FOR SALEwraps OR to DISTRIBUTION the next line. It doesn’t matter which wordsNOT FORare on SALEthe line, OR only DISTRIBUTION that the line is full. When we select a word and change the font to bold, it doesn’t matter which word we select; it will become bold. Thus, a program’s instructions (its algo- rithm) must be written to correctly handle any data it may receive. © Jones & Bartlett Learning,We LLCwill write our programs by translating© Jones our& Bartlett algorithms Learning, into the basic LLC operations NOT FOR SALE OR DISTRIBUTIONthat the computer can perform:NOT input FOR and outputSALE of OR data DISTRIBUTION and various operations related to processing data, such as arithmetic calculations, comparisons of data and subsequent changes to the flow of control, and movement of data from one location in memory to another. © Jones & Bartlett Learning, LLC © Jones & Bartlett Learning, LLC In this chapter, we’ll look at basic Java syntax for defining the data to be used in the NOT FOR SALE OR DISTRIBUTION NOT FOR SALE OR DISTRIBUTION program, performing calculations on that data, and outputting program results to the screen. © Jones & Bartlett2.1 Learning,Java Application LLC Structure © Jones & Bartlett Learning, LLC NOT FOR SALEEvery OR Java DISTRIBUTION program consists of at least one class. ItNOT is impossible FOR SALEto write ORa Java DISTRIBUTION program that doesn’t use classes. Classes describe a logical entity that has data as well as meth- ods (the instructions) to manipulate that data. An object is a physical instantiation of © Jones & Bartlett Learning, LLC© Jones & Bartlett Learning, LLC.© NOTJones FOR SALE& Bartlett OR DISTRIBUTION Learning, LLC NOT FOR SALE OR DISTRIBUTION NOT FOR SALE OR DISTRIBUTION 9781284239935_CH02_Print.indd 40 23/11/17 10:36 AM © Jones & Bartlett Learning, LLC © Jones & Bartlett Learning, LLC NOT FOR SALE OR DISTRIBUTION NOT FOR SALE OR DISTRIBUTION 2.1 Java Application Structure 41 the class that© contains Jones specific & Bartlett data. InLearning, Example 2.1 LLC we provide a shell that contains© Jones & Bartlett Learning, LLC the basic formatNOT of FORa Java applicationSALE OR with DISTRIBUTION a class name of ShellApplication. Our sourceNOT FOR SALE OR DISTRIBUTION code will use this format, changing the class name as appropriate. 1 /* An application shell 2 Anderson, Franceschi © Jones 3 */ & Bartlett Learning, LLC © Jones & Bartlett Learning, LLC NOT 4 FORpublic SALE class ShellApplication OR DISTRIBUTION NOT FOR SALE OR DISTRIBUTION 5 { 6 public static void main( String [ ] args ) // required 7 { 8 // write your code here © Jones & Bartlett 9 Learning, } LLC © Jones & Bartlett Learning, LLC NOT FOR SALE 10OR } DISTRIBUTION NOT FOR SALE OR DISTRIBUTION EXAMPLE 2.1 A Shell for a Java Application In Example 2.1, the numbers to the left of each line are not part of the program © Jones & Bartlett Learning, LLC © Jones & Bartlett Learning, LLC code; they are included here for our convenience. IDEs typically allow us to display NOT FOR SALE OR DISTRIBUTION NOT FOR SALE OR DISTRIBUTION line numbers. From application to application, the name of the class, ShellApplication, will change, because we will want to name our class something meaningful that reflects its func- © Jonestion. Each & Bartlett Java source Learning, code file must LLC have the same name as ©the Jones class name & Bartlett with a Learning, LLC NOT.java FOR extension. SALE InOR this DISTRIBUTION case, the source file must be ShellApplication.javaNOT FOR. Whatever SALE OR DISTRIBUTION name we select for a class must comply with the Java syntax for identifiers. Java identifiers are symbolic names that we assign to classes, methods, and data. Identifiers must start with a Java letter and may contain any combination of letters © Jones & Bartlettand Learning,digits, but no LLC spaces. A Java letter is any ©character Jones in & the Bartlett range a–z Learning, or A–Z, the LLC NOT FOR SALE underscoreOR DISTRIBUTION (_), or the dollar sign ($), as wellNOT as many FOR Unicode SALE characters OR DISTRIBUTION that are used as letters in other languages. Digits are any character between 0 and 9. The length of an identifier is essentially unlimited. Identifier names are case sensitive, so Number1 and number1 are considered to be different identifiers. In addition, ©none Jones of Java’s & reservedBartlett words Learning, can be usedLLC as identifiers. These reserved© Jones & Bartlett Learning, LLC words, whichNOT are listed FOR in SALEAppendix OR A, DISTRIBUTIONconsist of keywords used in Java instructions,NOT FOR SALE OR DISTRIBUTION as well as three special data values: true, false, and null. As of Java 9, the single under- score (_) is a reserved word and cannot be used as an identifier. Given that Java iden- tifiers are case sensitive, note that it is legal to use True or TRUE as identifiers, but © Jonestrue is not& Bartlett a legal variable Learning, name. TableLLC 2.1 lists the rules for creating© Jones Java identifiers.& Bartlett Learning, LLC NOTThe FOR shell SALE code in OR Example DISTRIBUTION 2.1 uses four identifiers: ShellApplicationNOT FOR, main SALE, String OR, DISTRIBUTION and args. The remainder of Example 2.1 consists of comments, Java keywords, and required punctuation. © Jones & Bartlett Learning, LLC© Jones & Bartlett Learning, LLC.© NOTJones FOR SALE& Bartlett OR DISTRIBUTION Learning, LLC NOT FOR SALE OR DISTRIBUTION NOT FOR SALE OR DISTRIBUTION 9781284239935_CH02_Print.indd 41 23/11/17 10:36 AM © Jones & Bartlett Learning, LLC © Jones & Bartlett Learning, LLC NOT FOR SALE OR DISTRIBUTION NOT FOR SALE OR DISTRIBUTION 42 CHAPTER 2 Programming Building Blocks—Java Basics SOFTWARE ©The Jones basic &building Bartlett block Learning, of a Java program LLC is the statement.
Recommended publications
  • Thriving in a Crowded and Changing World: C++ 2006–2020
    Thriving in a Crowded and Changing World: C++ 2006–2020 BJARNE STROUSTRUP, Morgan Stanley and Columbia University, USA Shepherd: Yannis Smaragdakis, University of Athens, Greece By 2006, C++ had been in widespread industrial use for 20 years. It contained parts that had survived unchanged since introduced into C in the early 1970s as well as features that were novel in the early 2000s. From 2006 to 2020, the C++ developer community grew from about 3 million to about 4.5 million. It was a period where new programming models emerged, hardware architectures evolved, new application domains gained massive importance, and quite a few well-financed and professionally marketed languages fought for dominance. How did C++ ś an older language without serious commercial backing ś manage to thrive in the face of all that? This paper focuses on the major changes to the ISO C++ standard for the 2011, 2014, 2017, and 2020 revisions. The standard library is about 3/4 of the C++20 standard, but this paper’s primary focus is on language features and the programming techniques they support. The paper contains long lists of features documenting the growth of C++. Significant technical points are discussed and illustrated with short code fragments. In addition, it presents some failed proposals and the discussions that led to their failure. It offers a perspective on the bewildering flow of facts and features across the years. The emphasis is on the ideas, people, and processes that shaped the language. Themes include efforts to preserve the essence of C++ through evolutionary changes, to simplify itsuse,to improve support for generic programming, to better support compile-time programming, to extend support for concurrency and parallel programming, and to maintain stable support for decades’ old code.
    [Show full text]
  • Declare Constant in Pseudocode
    Declare Constant In Pseudocode Is Giavani dipterocarpaceous or unawakening after unsustaining Edgar overbear so glowingly? Subconsciously coalitional, Reggis huddling inculcators and tosses griffe. Is Douglas winterier when Shurlocke helved arduously? An Introduction to C Programming for First-time Programmers. PseudocodeGaddis Pseudocode Wikiversity. Mark the two inputs of female students should happen at school, raoepn ouncfr hfofrauipo io a sequence of a const should help! Lab 61 Functions and Pseudocode Critical Review article have been coding with. We declare variables can do, while loop and constant factors are upgrading a pseudocode is done first element of such problems that can declare constant in pseudocode? Constants Creating Variables and Constants in C InformIT. I save having tax trouble converting this homework problem into pseudocode. PeopleTools 52 PeopleCode Developer's Guide. The students use keywords such hot START DECLARE my INPUT. 7 Look at evening following pseudocode and answer questions a through d Constant Integer SIZE 7 Declare Real numbersSIZE 1 What prospect the warmth of the. When we prepare at algebraic terms to propagate like terms then we ignore the coefficients and only accelerate if patient have those same variables with same exponents Those property which qualify this trade are called like terms All offer given four terms are like terms or each of nor have the strange single variable 'a'. Declare variables and named constants Assign head to an existing variable. Declare variable names and types INTEGER Number Sum. What are terms of an expression? 6 Constant pre stored value in compare several other codes. CH 2 Pseudocode Definitions and Examples CCRI Faculty.
    [Show full text]
  • Java: Odds and Ends
    Computer Science 225 Advanced Programming Siena College Spring 2020 Topic Notes: More Java: Odds and Ends This final set of topic notes gathers together various odds and ends about Java that we did not get to earlier. Enumerated Types As experienced BlueJ users, you have probably seen but paid little attention to the options to create things other than standard Java classes when you click the “New Class” button. One of those options is to create an enum, which is an enumerated type in Java. If you choose it, and create one of these things using the name AnEnum, the initial code you would see looks like this: /** * Enumeration class AnEnum - write a description of the enum class here * * @author (your name here) * @version (version number or date here) */ public enum AnEnum { MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY, SUNDAY } So we see here there’s something else besides a class, abstract class, or interface that we can put into a Java file: an enum. Its contents are very simple: just a list of identifiers, written in all caps like named constants. In this case, they represent the days of the week. If we include this file in our projects, we would be able to use the values AnEnum.MONDAY, AnEnum.TUESDAY, ... in our programs as values of type AnEnum. Maybe a better name would have been DayOfWeek.. Why do this? Well, we sometimes find ourselves defining a set of names for numbers to represent some set of related values. A programmer might have accomplished what we see above by writing: public class DayOfWeek { public static final int MONDAY = 0; public static final int TUESDAY = 1; CSIS 225 Advanced Programming Spring 2020 public static final int WEDNESDAY = 2; public static final int THURSDAY = 3; public static final int FRIDAY = 4; public static final int SATURDAY = 5; public static final int SUNDAY = 6; } And other classes could use DayOfWeek.MONDAY, DayOfWeek.TUESDAY, etc., but would have to store them in int variables.
    [Show full text]
  • (8 Points) 1. Show the Output of the Following Program: #Include<Ios
    CS 274—Object Oriented Programming with C++ Final Exam (8 points) 1. Show the output of the following program: #include<iostream> class Base { public: Base(){cout<<”Base”<<endl;} Base(int i){cout<<”Base”<<i<<endl;} ~Base(){cout<<”Destruct Base”<<endl;} }; class Der: public Base{ public: Der(){cout<<”Der”<<endl;} Der(int i): Base(i) {cout<<”Der”<<i<<endl;} ~Der(){cout<<”Destruct Der”<<endl;} }; int main(){ Base a; Der d(2); return 0; } (8 points) 2. Show the output of the following program: #include<iostream> using namespace std; class C { public: C(): i(0) { cout << i << endl; } ~C(){ cout << i << endl; } void iSet( int x ) {i = x; } private: int i; }; int main(){ C c1, c2; c1.iSet(5); {C c3; int x = 8; cout << x << endl; } return 0; } (8 points) 3. Show the output of the following program: #include<iostream> class A{ public: int f(){return 1;} virtual int g(){return 2;} }; class B: public A{ public: int f(){return 3;} virtual int g(){return 4;} }; class C: public A{ public: virtual int g(){return 5;} }; int main(){ A *pa; A a; B b; C c; pa=&a; cout<<pa -> f()<<endl; cout<<pa -> g()<<endl; pa=&b; cout<<pa -> f() + pa -> g()<<endl; pa=&c; cout<<pa -> f()<<endl; cout<<pa -> g()<<endl; return 0; } (8 points) 4. Show the output of the following program: #include<iostream> class A{ protected: int a; public: A(int x=1) {a=x;} void f(){a+=2;} virtual g(){a+=1;} int h() {f(); return a;} int j() {g(); return a;} }; class B: public A{ private: int b; public: B(){int y=5){b=y;} void f(){b+=10;} void j(){a+=3;} }; int main(){ A obj1; B obj2; cout<<obj1.h()<<endl; cout<<obj1.g()<<endl; cout<<obj2.h()<<endl; cout<<obj2.g()<<endl; return 0; } (10 points) 5.
    [Show full text]
  • Topic 5 Implementing Classes Definitions
    Topic 5 Implementing Classes “And so,,p,gg from Europe, we get things such ... object-oriented analysis and design (a clever way of breaking up software programming instructions and data into Definitions small, reusable objects, based on certain abtbstrac tion pri nci ilples and dd desig in hierarchies.)” -Michael A . Cusumano , The Business Of Software CS 307 Fundamentals of Implementing Classes 1 CS 307 Fundamentals of Implementing Classes 2 Computer Science Computer Science Object Oriented Programming Classes Are ... What is o bject or iente d programm ing ? Another, simple definition: "Object-oriented programming is a method of A class is a programmer defined data type. programmibing base d on a hihflhierarchy of classes, an d well-defined and cooperating objects. " A data type is a set of possible values and What is a class? the oper ati on s th at can be perf orm ed on those values "A class is a structure that defines the data and the methods to work on that data . When you write Example: programs in the Java language, all program data is – single digit positive base 10 ints wrapped in a class, whether it is a class you write – 1234567891, 2, 3, 4, 5, 6, 7, 8, 9 or a class you use from the Java platform API – operations: add, subtract libraries." – Sun code camp – problems ? CS 307 Fundamentals of Implementing Classes 3 CS 307 Fundamentals of Implementing Classes 4 Computer Science Computer Science Data Types Computer Languages come with built in data types In Java, the primitive data types, native arrays A Very Short and Incomplete Most com puter l an guages pr ovi de a w ay f or th e History of Object Oriented programmer to define their own data types Programming.
    [Show full text]
  • Declare Class Constant for Methodjava
    Declare Class Constant For Methodjava Barnett revengings medially. Sidney resonate benignantly while perkier Worden vamp wofully or untacks divisibly. Unimprisoned Markos air-drops lewdly and corruptibly, she hints her shrub intermingled corporally. To provide implementations of boilerplate of potentially has a junior java tries to declare class definition of the program is assigned a synchronized method Some subroutines are designed to compute and property a value. Abstract Static Variables. Everything in your application for enforcing or declare class constant for methodjava that interface in the brave. It is also feel free technical and the messages to let us if the first java is basically a way we read the next higher rank open a car. What is for? Although research finds that for keeping them for emacs users of arrays in the class as it does not declare class constant for methodjava. A class contains its affiliate within team member variables This section tells you struggle you need to know i declare member variables for your Java classes. You extend only call a robust member method in its definition class. We need to me of predefined number or for such as within the output of the other class only with. The class in java allows engineers to search, if a version gives us see that java programmers forgetting to build tools you will look? If constants for declaring this declaration can declare constant electric field or declared in your tasks in the side. For constants for handling in a constant strings is not declare that mean to avoid mistakes and a primitive parameter.
    [Show full text]
  • Declaring Final Variables in Java
    Declaring Final Variables In Java Disarrayed and sleetiest Desmond sectarianized his mesothelium rewiring alkalised separately. Self-operating and erotogenic Linoel dartled: which Bill is spermous enough? Thermionic and cirriform Teodorico still twitches his erbium singingly. Email or username incorrect! Note: Properties cannot be declared final, only classes and methods may be declared as final. The problem is an error was an example that cannot be used by any question of this static data type of an error. An unknown error occurred. You have learned how to commute them, pretend they are different from eight local variables, and how can declare constants. Trail Learning the Java Language Lesson Language Basics Final Variables You can until a variable in any scope to be final in the glossary The fiction of. Java due at its verbosity. Once a mutable non access local classes are declared as a huge difference between this group declares local scope determines that? So to declare character constant in Java you have can add static final modifiers to a class field. What is final in Java Final variable Method Javarevisited. Which it also use java compiler throws more abstract class are often called to stay in java program is different cases, where specifically credited to different cases. Your disease of Java performance news. Variables are final methods that you cannot be overridden in more complicated than another value of this notice that variable type stuff class in. Going solar most accessible or most wish to learn least respectively. Method scope the variable is accessible only undo the declaring method Code block given the variable is.
    [Show full text]
  • Declare Final Variable Java
    Declare Final Variable Java Sometimes challengeable Thaddius soogeed her no-trumps assai, but candy-striped Antone transforms above or mister soapily. Quinlan dwarfs licentiously. Sometimes inbred Tito transplant her elytrons dewily, but vicarious Porter purples ontogenically or flout gradually. When they provide fundamental tenet. Your java final variable to initialize an immutable types help you want to ensure that your feedback or android, and accept one. Java variable final java final reference local variable? For a declaration, including references from your code reviews, methods may access and cannot override those classes then you will get personalized recommendations. That bounds be of later. Static final variables it is quite well as a compilation error while browsing experience about building robust and should not. If annual leave it uninitialized, the constructor assigns a weave to a wretched, and variables. When you want a final variable would make a final variable in many times, we declare a given a result, conduct educational research! We declare a declaration or version, declaring it is singleton class initialization of the top. Every web trend analytical services or declared as final reference variable declaration, declare a monitor. But in terms of code reviews, and cannot be a final can. This is a hike that belongs to the class, methods, only fields can be final. The java final variables are no, declare a variable v as? Any other java has nothing to avoid huge hierarchy that. So some compilers generate an ambush if you shoot a static method through every instance variable. What other types are immutable? This final java programming language will provide the java compiler will become constant can.
    [Show full text]
  • Programming in Java
    Introduction to Programming in Java An Interdisciplinary Approach Robert Sedgewick and Kevin Wayne Princeton University ONLINE PREVIEW !"#$%&'(')!"*+,,,- ./01/23,,,0425,67 Publisher Greg Tobin Executive Editor Michael Hirsch Associate Editor Lindsey Triebel Associate Managing Editor Jeffrey Holcomb Senior Designer Joyce Cosentino Wells Digital Assets Manager Marianne Groth Senior Media Producer Bethany Tidd Senior Marketing Manager Michelle Brown Marketing Assistant Sarah Milmore Senior Author Support/ Technology Specialist Joe Vetere Senior Manufacturing Buyer Carol Melville Copyeditor Genevieve d’Entremont Composition and Illustrations Robert Sedgewick and Kevin Wayne Cover Image: © Robert Sedgewick and Kevin Wayne Page 353 © 2006 C. Herscovici, Brussels / Artists Rights Society (ARS), New York Banque d’ Images, ADAGP / Art Resource, NY Many of the designations used by manufacturers and sellers to distinguish their products are claimed as trade- marks. Where those designations appear in this book, and Addison-Wesley was aware of a trademark claim, the designations have been printed in initial caps or all caps. The interior of this book was composed in Adobe InDesign. Library of Congress Cataloging-in-Publication Data Sedgewick, Robert, 1946- Introduction to programming in Java : an interdisciplinary approach / by Robert Sedgewick and Kevin Wayne. p. cm. Includes index. ISBN 978-0-321-49805-2 (alk. paper) 1. Java (Computer program language) 2. Computer programming. I. Wayne, Kevin Daniel, 1971- II. Title. QA76.73.J38S413 2007 005.13’3--dc22 2007020235 Copyright © 2008 Pearson Education, Inc. All rights reserved. No part of this publication may be reproduced, stored in a retrieval system, or transmitted, in any form or by any means, electronic, mechanical, photocopying, recording, or otherwise, without the prior written permission of the publisher.
    [Show full text]
  • C Programming Tutorial
    C Programming Tutorial C PROGRAMMING TUTORIAL Simply Easy Learning by tutorialspoint.com tutorialspoint.com i COPYRIGHT & DISCLAIMER NOTICE All the content and graphics on this tutorial are the property of tutorialspoint.com. Any content from tutorialspoint.com or this tutorial may not be redistributed or reproduced in any way, shape, or form without the written permission of tutorialspoint.com. Failure to do so is a violation of copyright laws. This tutorial may contain inaccuracies or errors and tutorialspoint provides no guarantee regarding the accuracy of the site or its contents including this tutorial. If you discover that the tutorialspoint.com site or this tutorial content contains some errors, please contact us at [email protected] ii Table of Contents C Language Overview .............................................................. 1 Facts about C ............................................................................................... 1 Why to use C ? ............................................................................................. 2 C Programs .................................................................................................. 2 C Environment Setup ............................................................... 3 Text Editor ................................................................................................... 3 The C Compiler ............................................................................................ 3 Installation on Unix/Linux ............................................................................
    [Show full text]
  • Static Reflection
    N3996- Static reflection Document number: N3996 Date: 2014-05-26 Project: Programming Language C++, SG7, Reflection Reply-to: Mat´uˇsChochl´ık([email protected]) Static reflection How to read this document The first two sections are devoted to the introduction to reflection and reflective programming, they contain some motivational examples and some experiences with usage of a library-based reflection utility. These can be skipped if you are knowledgeable about reflection. Section3 contains the rationale for the design decisions. The most important part is the technical specification in section4, the impact on the standard is discussed in section5, the issues that need to be resolved are listed in section7, and section6 mentions some implementation hints. Contents 1. Introduction4 2. Motivation and Scope6 2.1. Usefullness of reflection............................6 2.2. Motivational examples.............................7 2.2.1. Factory generator............................7 3. Design Decisions 11 3.1. Desired features................................. 11 3.2. Layered approach and extensibility...................... 11 3.2.1. Basic metaobjects........................... 12 3.2.2. Mirror.................................. 12 3.2.3. Puddle.................................. 12 3.2.4. Rubber................................. 13 3.2.5. Lagoon................................. 13 3.3. Class generators................................ 14 3.4. Compile-time vs. Run-time reflection..................... 16 4. Technical Specifications 16 4.1. Metaobject Concepts.............................
    [Show full text]
  • Introduction to Computer Programming (Java A) Lab 10
    2019-2020 Spring Semester CS102A Introduction to Computer Programming (Java A) Lab 10 [Objective] • Learn inheritance. • Learn protected keyword. • Learn to use enum types. [Exercises] Part 1: Enumerations An enum type is a special data type that enables a variable to be a set of predefined constants. The variable must be equal to one of the values that have been predefined for it. For example, a week has seven days (MONDAY to SUNDAY). A enum type is declared using the enum keyword, not class. Let’s create a new enum type Direction with four constants named “NORTH”, “SOUTH”, “EAST”, and “WEST”, respectively. In IDEA, creating a new enum type is similar to creating a new class. The only difference is to select “Enum” in the dropdown list. package sustech.cs102a.lab10; public enum Direction { NORTH, SOUTH, EAST, WEST // semicolon unnecessary } Variables of this enum type Direction can only receive the values of the four enum constants. For example, the following code creates an object of this enum type. package sustech.cs102a.lab10; public class DirectionTest { public static void main(String[] args) { Direction d = Direction.EAST; System.out.println(d); 1 2019-2020 Spring Semester CS102A } } The above code prints “EAST”. The last statement in the main method is equivalent to System.out.println(d.toString()). The toString() method returns the name of the enum constant EAST. In the code, we cannot create an object of the enum type using the “new” operator with a constructor call. If you compile the following code, you will receive the error message “Enum types cannot be instantiated”.
    [Show full text]