Book Image

Introduction to Programming

By : Nick Samoylov
Book Image

Introduction to Programming

By: Nick Samoylov

Overview of this book

Have you ever thought about making your computer do what you want it to do? Do you want to learn to program, but just don't know where to start? Instead of guiding you in the right direction, have other learning resources got you confused with over-explanations? Don't worry. Look no further. Introduction to Programming is here to help. Written by an industry expert who understands the challenges faced by those from a non-programming background, this book takes a gentle, hand-holding approach to introducing you to the world of programming. Beginning with an introduction to what programming is, you'll go on to learn about languages, their syntax, and development environments. With plenty of examples for you to code alongside reading, the book's practical approach will help you to grasp everything it has to offer. More importantly, you'll understand several aspects of application development. As a result, you'll have your very own application running by the end of the book. To help you comprehensively understand Java programming, there are exercises at the end of each chapter to keep things interesting and encourage you to add your own personal touch to the code and, ultimately, your application.
Table of Contents (21 chapters)

Method equals() of reference types

The equality operator, when applied to reference types, compares the reference values, not the content of the objects. It returns true only when both references (variable values) point to the same object. We have demonstrated it several times already:

SomeClass o1 = new SomeClass();
SomeClass o2 = new SomeClass();
System.out.println(o1 == o2); //prints: false
System.out.println(o1 == o1); //prints: true
o2 = o1;
System.out.println(o1 == o2); //prints: true

This means that the equality operator returns false even when two objects of the same class with the same field values are compared. That is often not what programmers need. Instead, we usually need to consider two objects to be equal when they have the same type and the same field values. Sometimes, we even do not want to consider all the fields, but only those that identify the object as unique...