Uploaded by MANAS DAGA

Thota Yaswanth Tej 11902512

advertisement
Report on
COMMUNITY DEVELOPMENT PROJECT
“JAVA Programming ”
Submitted to
LOVELY PROFESSIONAL UNIVERSITY
PHAGWARA, PUNJAB
From 15/05/21 to 15/07/21
SUBMITTED BY
Name of student: Thoda Yaswanth Tej
Registration Number: 11902512
Signature of student:
Undertaking from the student
I Thoda Yaswanth Tej, Registration Number 11902512 . Hereby declare that the
information provided by me in the above format are complete and true to the Best
of my knowledge, belief and information. I hereby undertake to present the
recordings of the Sessions for verification immediately upon demand by the
concerned authorities of the University. In case any of the above mentioned
information is found wrong or incorrect then disciplinary action can be initiated
against me by the university.
Signature of the student:
Date: 15 july 2021
INDEX
1 Company Profile
2 Introduction To Java
3 The Java Platform
4 Installation Of Java
5 Configuring Variable
6 Write, Compile And Run a Java Program
7 Package
8 Class And Object
9 Inheritance
10 Variable And Method
11 Modifiers And Import Statement
12 Interface
13 Working With Classes
14 IDE
15 History of Java
16 Features of Java
Introduction to Java
With the invention of microprocessors, the world is scientifically developed with
sophisticated equipments, systems, and devices. Microprocessors are used in
computers, televisions, and fax machines. Even the hand-held devices such as
pagers, PDAs (Personal Digital Assistant), and cell phones make use of
microprocessors. All these electronic devices are helpful because of their
communication capabilities. With the increasing capabilities and decreasing cost of
information processing and networking technologies, the network is growing
rapidly for transmitting information through electronic systems. Internet is the
network of networks between different types of computers located at different
places to transmit information. Information can reach to any place in the world
quickly at a cheaper rate through the Internet. Thus, the Internet has made the
world a global village for information exchange. The emerging infrastructure of
electronic devices and interconnected computer networks create an environment
that presents new challenges to software industries. for this emerging computing
environment, Java process to be a well – suited programming language. it is found
suitable for networked environments involving a great variety of computer and
devices.
Java has many characteristics that have contributed to
its popularity:
Platform independence - Many languages are compatible with only one
platform. Java was specifically designed so that it would run on any computer,
regardless if it was running Windows, Linux, Mac, Unix or any of the other
operating systems.
Simple and easy to use - Java's creators tried to design it so code could be
written efficiently and easily.
Multi-functional - Java can produce many applications from command-line
programs to applets to Swing windows (basically, sophisticated graphical user
interfaces). Java does have some drawbacks. Since it has automated garbage
collection, it can tend to use more memory than other similar languages. There are
often implementation differences on different platforms, which have led to Java
being described as a "write once, test everywhere" system. Lastly, since it uses an
abstract "virtual machine", a generic Java program doesn't have access to the
Native API's on a system directly. None of these issues are fatal, but it can mean
that Java isn't an appropriate choice for a particular piece of software.
The Java Platform
One thing that distinguished Java from some other languages is its ability to run
the same compiled code across multiple operating systems.In other languages, the
source code (code that is written by the programmer), is compiled by a compiler
into an executable file. This file is in machine language, and is intended for a
single operating system/processor combination, so the programmer would have to
re-compile the program seperately for each new operating system/processor
combination.Java is different in that it does not compile the code directly into
machine language code. Compilation creates bytecode out of the source code.
Bytecode generally looks something like this:
When the code is run by the user, it is processed by something called the Java
Virtual Machine (JVM). The JVM is essentially an interpreter for the bytecode. It
goes through the bytecode and runs it. There are different versions of the JVM that
are compatible with each OS and can run the same code. There is virtually no
difference for the end-user, but this makes it a lot easier for programmers doing
software development.
Java and Open Source:In 2006 Sun started to make Java available under the GNU General Public
License(GPL). Oracle continues this project called OpenJDK.
Java Virtual machine :The Java virtual machine (JVM) is a software implementation of a computer that
The Java virtual machine is written specifically for a specific operating system,
e.g. for Linux a special implementation is required as well as for Windows.
Java programs are compiled by the Java compiler into bytecode. The Java
virtual machine interprets this bytecode and executes the Java program. Java
Runtime Environment vs. Java Development Kit
A Java distribution comes typically in two flavors, the Java Runtime
Environment (JRE) and the Java Development Kit (JDK).
The Java runtime environment (JRE) consists of the JVM and the Java class
libraries and contains the necessary functionality to start Java programs.
The JDK contains in addition the development tools necessary to create Java
programs.
The JDK consists therefore of a Java compiler, the Java virtual machine, and the
Java class libraries.
Installation of Java
Check installation
Java might already be installed on your machine. You can test this by opening a
console (if you are using Windows: Win+R, enter cmd and press Enter) and by
typing in the following command:
java -version
If Java is correctly installed, you should see some information about your Java
installation. If the command line returns the information that the program could not
be found, you have to install Java.
Installing the Java Development Kit
Before installing the Java Development Kit (JDK), you should probably know
what it is. It is distributed by Oracle. It contains the core libraries and compiler
required to develop Java. The JDK should not be confused with the JRE (Java
Runtime Environment). The JRE is a JVM for running, as opposed to compiling,
Java programs.
Downloading and Installing
To download the JDK, go to
http://www.oracle.com/technetwork/java/javase/downloads/index.html. Click on
"JDK with NetBeans Bundle". Follow the instructions for downloading the JDK
installation file. Windows: If you are running Windows, simply run the executable
file and follow the installation instructions.
Unix, Solaris, or Linux: For Linux and Unix, download the "jdk1 6.0" for Linux
systems. Save the downloaded file in any drive. Once you have saved the file,
extract it to a place that you can remember, by using Terminal or by double
clicking on the file.
When you have finished extracting the file, copy the JDK 1.6.0 folder and paste it
in the usr/local(To paste to the usr/local directory, you have to be in root) so that
every user can use the java files. You can delete the downloaded zip file so that it
doesn't take up space on your drive.
Macintosh: The latest available JDK is automatically installed by the operating
system. Because Java for Macintosh is developed and maintained by Apple, in
coordination with Sun, the current version on the Macintosh may not be the current
version that is available
Note on Editions
The JDK comes in three editions.
Java Standard Edition (JSE) – This version is the basic platform for Java. The
course will focus on this edition.
Java Enterprise Edition (JEE) – This edition is mainly for developing and
running distributed multitier architecture Java applications, based largely on
modular software components running on an application server. We will not be
covering this version in the course.
Java Micro Edition (JME) – This edition is primarily for developing programs to
run on consumer applicances, such as PDAs and cell phones. Configuring
Variables
Before writing code, it is recommended that you set the Path variable on your
system so you can compile your code more easily.
For Windows Users
From the Control Panel, double click "System" (System and Maintenance in
Vista)
For Windows 7 or Vista, click on "System," "Advanced System Settings" on the
left, and then on "Environment Variables."
For XP and 2000, click on the "Advanced" tab and click on "Environment
Variables" For NT, click on the "Environment" tab.
Select the Path variable and click "Edit"
Add the path to the bin directory of where Java is installed on your hard drive. It
should probably be: C:\Program Files\Java\jdk1.6.0_20\bin unless you changed it
during installation.
Click OK
For Linux and UNIX
One way to set your path in Linux/Unix is to add a path export to your bash
profile.
In order to do this, first open your bash profile in a text editor. For example,
pico ~/.bash_profile
Then add this line:
export PATH=$PATH:/usr/local/jdk/bin
Note that the path to the java directory "/usr/local/jdk/bin" may be different on
your machine.
Restart your shell.
Java Standard Edition (JSE) – This version is the basic platform for Java. The
course will focus on this edition.
Java Enterprise Edition (JEE) – This edition is mainly for developing and
running distributed multitier architecture Java applications, based largely on
modular software components running on an application server. We will not be
covering this version in the course.
Java Micro Edition (JME) – This edition is primarily for developing programs to
run on consumer applicances, such as PDAs and cell phones. Configuring
Variables
Before writing code, it is recommended that you set the Path variable on your
system so you can compile your code more easily.
For Windows Users
From the Control Panel, double click "System" (System and Maintenance in
Vista)
For Windows 7 or Vista, click on "System," "Advanced System Settings" on the
left, and then on "Environment Variables."
For XP and 2000, click on the "Advanced" tab and click on "Environment
Variables" For NT, click on the "Environment" tab.
Select the Path variable and click "Edit"
Add the path to the bin directory of where Java is installed on your hard drive. It
should probably be: C:\Program Files\Java\jdk1.6.0_20\bin unless you changed it
during installation.
Click OK
For Linux and UNIX
One way to set your path in Linux/Unix is to add a path export to your bash
profile.
In order to do this, first open your bash profile in a text editor. For example,
pico ~/.bash_profile
Then add this line:
export PATH=$PATH:/usr/local/jdk/bin
Note that the path to the java directory "/usr/local/jdk/bin" may be different on
your machine.
Restart your shell.
For Macintosh:
Apple sets everything up for you. Sit back and relax.
The only drawback is that because Apple handles development and maintenance
of Java on the Mac, there is usually a delay from the time that a new version is
released by Sun and the time that the new version is released on the Mac. Also,
getting the latest version sometimes requires an operating system upgrade.
Oh well, you can't have everything. Validate installation
Switch again to the command line and run the following command.
java -version
The output should be similar to the following output.
java version "1.7.0_25"
OpenJDK Runtime Environment (IcedTea 2.3.10) (7u25-2.3.101ubuntu0.13.04.2)
OpenJDK 64-Bit Server VM (build 23.7-b01, mixed mode) Development
Process with Java
Java source files are written as plain text documents. The programmer typically
writes Java source code in an Integrated Development Environment (IDE) for
programming. An IDE supports the programmer in the task of writing code, e.g. it
provides auto-formating of the source code, highlighting of the important
keywords, etc.
At some point the programmer (or the IDE) calls the Java compiler (javac). The
Java compiler creates the bytecode instructions. These instructions are stored in
.class files and can be executed by the Java Virtual Machine.
Garbage collector
The JVM automatically re-collects the memory which is not referred to by other
objects. The java garbage collector checks all object references and find the objects
which can be automatically released.
While the garbage collector releases the programmer from the need to explicitly
manage memory the programmer still need to ensure that he does not keep
unneeded object references otherwise the garbage collector cannot release the
associated memory. Keeping unneeded object references are typically called
memory leaks.
Classpath:
The classpath defines where the Java compiler and Java runtime look for .class
files to load. This instructions can be used in the Java program.
For example if you want to use an external Java library you have to add this
library to your classpath to use it in your program. Write, compile and run a Java
program
Write source code
The following Java program is developed under Linux using a text editor and
the command line. The process on other operating system should be similar and
but is not covered in this description.
Select or create a new directory which will be used for your Java development.
In this description the path \home\vogella\javastarter is used. On Microsoft
Windows your might want to use c:\temp\javastarter. This path is called javadir in
the following description. Open a text editor which supports plain text, e.g. gedit
under Linux or
Notepad under Windows and write the following source code. Save
the source code in your javadir directory with the HelloWorld.java filename. The
name of a Java source file must always equals the class name (within the source
code) and end with the .java extension. In this example the filename must be
HelloWorld.java because the class is called HelloWorld.
Compile and run your Java program:
Open a shell for command line access. Switch to the javadir directory with the
command cd javadir, for example in the above example via the cd
\home\vogella\javastarter command. Use the ls command (dir under Microsoft
Windows) to verify that the source file is in the directory. Compile your Java
source file
into a class file with the following command.
javac HelloWorld.java
Afterwards list again the content of the directory with the ls or dir command. The
directory contains now a file "HelloWorld.class". If you see this file you have
successfully compiled your first Java source code into bytecode. You can now start
your compiled Java program. Ensure that you are still in the jardir directory and
enter the following command to start your Java program.
java HelloWorld The system should write "Hello World" on the command line.
Using the classpath
You can use the classpath to run the program from another place in your
directory.
Switch to the command line, e.g. under Windows Start-> Run -> cmd. Switch to
any directory you want. Type: java HelloWorld
If you are not in the directory in which the compiled class is stored then the
system should result an error message Exception in thread "main"
java.lang.NoClassDefFoundError: test/TestClass
To use the class type the following command. Replace "mydirectory" with the
directory which contains the test directory. You should again see the "HelloWorld"
output. java -classpath "mydirectory" HelloWorld
Java basic terms
Basics: Package, Class and Object
It is important to understand the base terminology of Java in terms of packages,
classes and objects. This section gives an overview of these terms.
Package
Java groups classes into functional packages. Packages are typically used to group
classes into logical units. For example all graphical views of an application might
be placed in the same package called com.vogella.webapplication.views. It is
common practice to use the reverse domain name of the company as top level
package.
For example the company might own the domain, vogella.com and in this example
the Java
packages of this company starts with com.vogella.
Other main reason for the usage of packages is to avoid name collisions of classes.
A name
collision occurs if two programmers give the same fully qualified name to a class.
The fully
qualified name of a class in Java consists out of the package name followed by a
dot (.) and
the class name.
Without packages, a programmer may create a Java class called Test. Another
programmer
may create a class with the same name. With the usage of packages you can tell the
system
which class to call. For example if the first programmer puts the Test class into
package
report and the second programmer puts his class into package xmlreader you can
distinguish between these classes by using the fully qualified name, e.g.
xmlreader.Test or
report.Test.
Class
Def.: Template that describes the data and behavior associated with an instance of
that
class.
In Java source code a class is defined by the class keyword and must start with a
capital
letter. The body of a class is surrounded by {}.
package test;
class MyClass {
}
The data associated with a class is stored in variables ; the behavior associated to a
class
or object is implemented with methods.
A class is contained in a Java source file with the same name as the class plus the
.java
extension.
Object
Def.: An object is an instance of a class.
The object is the real element which has data and can perform actions. Each object
is
created based on the class definition
Inheritance
A class can be derived from another class. In this case this class is called a subclass. Another
common phrase is that a class extends another class.
The class from which the subclass is derived is called a superclass.
Inheritance allows a class to inherit the behavior and data definitions of another class.
The following codes demonstrates how a class can extend another class. In Java a class can
extend a maximum of one class.
package com.vogella.javaintro.base;
class MyBaseClass {
void hello(){
System.out.println("Hello from MyBaseClass");
}
}
package com.vogella.javaintro.base;
class MyExtensionClass extends MyBaseClass {
}
Override methods and the @override annotation
If a class extends another class it inherits the methods from its superclass. If it wants to
change these methods it can override these methods. To override a method you use the same
method signature in the source code of the subclass.
To indicate to the reader of the source code and the Java compiler that you have the intention
to override a method you can use the @override annotation.
The following code demonstrates how you can override a method from a superclass.
package com.vogella.javaintro.base;
class MyBaseClass {
void hello(){
System.out.println("Hello from MyBaseClass");
}
}
package com.vogella.javaintro.base;
class MyExtensionClass2 extends MyBaseClass {
}
Object has superclass
Every object in Java implicitly extends the
Every object in Java implicitly extends the Object class. The class defines the
following
methods for every Java object:
equals(o1) allows to check if the current object is equal to o1
getClass() returns the class of the object
hashCode() returns an identifier of the current object
toString() Give a string representation of the current object
Variables and methods
Variable
Variables allow the Java program to store values during the runtime of the
program.
A variable can either be a primitive variable or a reference variable. A primitive
variable
contains value while the reference variable contains a reference (pointer) to the
object.
Hence if you compare two reference variables, you compare if both point to the
same object.
To compare objects use the object1.equals(object2) method call.
Instance variable
Instance variable is associated with an instance of the class (also called object).
Access
works over these objects.
Instance variables can have any access control and can be marked final or
transient. Instance
variables marked as final can not be changed after assigned to a value.
Local variable
Local (stack) variable declarations cannot have access modifiers.
final is the only modifier available to local variables. This modifier defines that the
variable
can not be changed after first assignment.
Local variables do not get default values, so they must be initialized before use.
Methods
A method is a block of code with parameters and a return value. It can be called on
the
object.
package com.vogella.javaintro.base;
public class MyMethodExample {
void tester(String s) {
System.out.println("Hello World");
}
}
Method can be declared with var-args. In this case the method declares a parameter
which accepts from zero to many arguments (syntax: type .. name;) A method can
only
have one var-args parameter and this must be the last parameter in the method.
Overwrite of a superclass method: A method must be of the exact same return
parameter
and the same arguments. Also the return parameter must be the same. Overload
methods:
An overloaded method is a method with the same name, but different arguments.
The
return type can not be used to overload a method.
Main method
A public static method with the following signature can be used to start a Java
application. Such a method is typically called main method.
public static void main(String[] args){
}
Constructor
A class contains constructors that are invoked to create objects based on the class
definition. Constructor declarations look like method declarations except that they
use the
name of the class and have no return type. A class can have several constructors
with
different parameters. Each class must define at least one constructor.
In the following example the constructor of the class expects a parameter.
package com.vogella.javaintro.base;
public class MyConstructorExample2 {
String s;
public MyConstructorExample2(String s) {
this.s = s;
}
}
If no explicit constructor is defined the compiler adds implicitly a constructor. If
the classis sub-classed then the constructor of the super class is always implicitly
called in thiscase.
In the following example the definition of the constructor without parameters
(alsoknown as the empty constructor) is unnecessary. If not specified the compiler
would
create one.package com.vogella.javaintro.base; public class
MyConstructorExample {
// Unnecessary, would be created by the compiler if left out
public MyConstructorExample() {
}
}
The naming conversion for creating a constructor is the following: classname
(Parameter p1, ..) {} .
Every object is created based on a constructor. This constructor method is the
firststatement called before anything else can be done with the object.
Modifiers:
Access modifiers
There are three access modifiers keywords available in Java. public, protected and
private.
There are four access levels: public, protected, default and private. They define
how thecorresponding element is visible to other components. If something is
declared public, e.g.classes or methods can be freely created or called by other
Java objects. If something isdeclared private, e.g. a method, it can only be accessed
within the class in which it isdeclared. protected and default are similar. A
protected class can be accessed from thepackage and sub-classes outside the
package while a default class can get only accessed viathe same package. The
following table describes the visibility:
Table 1. Access Level
Modifier Class Package Subclass World
Public Y Y Y Y
protected Y Y Y N
0132cs111116
Modifier Class Package Subclass World
no
modifier Y Y N N
Private Y N N N Other modifiers
final methods: cannot be overwritten in a subclass
abstract method: no method body
synchronized method: threat safe, can be final and have any access control
native methods: platform dependent code, apply only to methods
strictfp: class or method
Import statements:
Usage of import statements
In Java you have to access a class always via its full-qualified name, e.g. the
packagename and the class name. You can add import statements for classes or
packages intoyour class file, which allow you to use the related classes in your
code without thepackage qualifier.
Static importsStatic import is a feature that allows members (fields and
methods) which are defined in aclass with the public static access modifier to be
used in Java code without specifyingthe class in which the member is defined. The
feature provides a typesafe mechanism toinclude constants into code without
having to reference the class that originally defined thefield.
More Java language constructs:
InterfaceInterfaces are contracts for what a class can do but they say nothing
about the way inwhich the class must do it. An interface is a type similar to a class.
Like a class aninterface defines methods. An interface can have only abstract
methods, no concretemethods are allowed. Methods defined in interfaces are by
default public and abstract –explicit declaration of these modifiers is optional.
Interfaces can have constants which aralways implicitly public, static and final. A
class can implement an interface. In this caseit must provide concrete
implementations of the interface methods. If you override amethod defined by an
interface you can also use the @override annotation. Thefollowing code shows an
example implementation of an interface and its usage within a
class.
package com.vogella.javaintro.base;
public interface MyDefinition {
// constant definition
String URL="http://www.vogella.com";
// define several method stubs
void test();
void write(String s);
}
package com.vogella.javaintro.base;
public class MyClassImplementation implements MyDefinition {
@Override
public void test() {
// TODO Auto-generated method stub
}
@Override
public void write(String s) {
// TODO Auto-generated method stub
}
}
Class methods and class variablesClass methods and class variables are associated
with the class and not an instance of theclass, i.e. objects. To refer to these element
you can use the classname and a dot (".")followed by the class method or class
variable name. Class methods and class variablesare declared with the static
keyword. Class methods are also called static methods and class variables are also
called static variables or static fields.
An example for the usage of a static field is println of the following statement:
System.out.println("Hello World"). out is a static field, an object of type
Interface
Interfaces are contracts for what a class can do but they say nothing about the way
in which the class must do it. An interface is a type similar to a class. Like a class
an interface defines methods. An interface can have only abstract methods, no
concrete methods are allowed. Methods defined in interfaces are by default public
and abstract – explicit declaration of these modifiers is optional. Interfaces can
have constants which are always implicitly public, static and final. A class can
implement an interface. In this case it must provide concrete implementations of
the interface methods. If you override a method defined by an interface you can
also use the @override annotation. The following code shows an example
implementation of an interface and its usage within a class.package
com.vogella.javaintro.base;
public interface MyDefinition {
// constant definition
String URL="http://www.vogella.com";
// define several method stubs
void test();
void write(String s);
}
package com.vogella.javaintro.base;
public class MyClassImplementation implements MyDefinition {
@Override
public void test() {
// TODO Auto-generated method stub
}
@Override
public void write(String s) {
// TODO Auto-generated method stub
}
}
Class methods and class variables Class methods and class variables are associated
with the class and not an instance of the
class, i.e. objects. To refer to these element you can use the classname and a dot
(".") followed by the class method or class variable name. Class methods and class
variables are declared with the static keyword. Class methods are also called static
methods and class variables are also called static variables or static fields.
An example for the usage of a static field is println of the following statement:
System.out.println("Hello World"). out is a static field, an object of type
PrintStream, and you call the println() method on this object. If you define a static
variable the Java runtime environment associates one class variable for a class no
matter
how many instances (objects) exists. The static variable can therefore be seen as a
global
variable. The following code demonstrates the usage of static fields.
package com.vogella.javaintro.base;
public class MyStaticExample {
static String PLACEHOLDER = "TEST";
static void test() {
System.out.println("Hello");
}
}
package com.vogella.javaintro.base;
public class Tester {
public static void main(String[] args) {
System.out.println(MyStaticExample.PLACEHOLDER);
MyStaticExample.test();
}
}
If a variable should be defined as constant, you declare it with the static and the
final
keyword. The static method runs without any instance of the class, it cannot
directly
access non-static variables or methods.
Abstract class and methods
A class and method can be declared as abstract. An abstract class can not be
directly
instantiated. If a class has at least one method which only contain the declaration of
the
method but not the implementation then this class is abstract and can not be
instantiated. Sub-classes need then to define the methods except if they are also
declared
as abstract. If a class contains an abstract method it also needs to get defined with
the
keyword abstract. The following example shows an abstract class.
package com.vogella.javaintro.base;
public abstract class MyAbstractClass
abstract double returnDouble();
}
Table 2
What to do How to do it
Create a new class called MyNewClass.
package test;
public class MyNewClass {
}
Create a new attribute (instance variable)
called var1 of type String in the MyNewClass
class
package test;
public class MyNewClass {
private String var1;
}
Create a Constructor for your MyNewClass
class which has a String parameter and assigns
the value of it to the var1 instance variable.
package test;
public class MyNewClass {
private String var1;
public MyNewClass(String
para1) {
var1 = para1;
// or this.var1= para1;
}
}
Create a new method called doSomeThing in
your class which does not return a value and
has no parameters
package test;
public class MyNewClass {
private String var1;
public MyNewClass(String
para1) {
var1 = para1;
// or this.var1= para1;
}
public void doSomeThing()
{
}
}
Create a new method called doSomeThing2 in
your class which does not return a value and
has two parameters, a int and a Person
package test;
public class MyNewClass {
private String var1;
public MyNewClass(String
para1) {
var1 = para1;
// or this.var1= para1;
}
public void doSomeThing()
Working With Classes
Working With Local Variable Table 3: What to do How to do it Declare a (local)
variable of type string. String variable1; Declare a (local) variable of type string
and assign "Test" to it. String variable2 = "Test"; Declare a (local) variable of type
Person Person person; Declare a (local) variable of type Person, create a new
Object and assign the variable to this object. Person person = new Person();
Declare a array of type String String array[]; Declare a array of type Person and
create an array for this variable which can hold 5 Persons. Person array[]= new
Person[5]; Assign 5 to the int variable var1 (which was already declared); var1 = 5;
Assign the existing variable pers2 to the exiting variable pers1; pers1 = pers2;
Declare a ArrayList variable which can hold objects of type Person ArrayList
persons; Create a new ArrayList with objects of type Person and assign it to the
existing variable persons persons = new ArrayList(); Declare a ArrayList variable
which can hold objects of type Person and create a new Object for ArrayList
persons = new ArrayList(); 0132cs111116 What to do How to do i
Integrated Development Environment:
The previous chapter explained how to create and compile a Java program on the
command line. A Java Integrated Development Environment (IDE) provides lots of
ease of use functionality for creating java programs. There are other very powerful
IDE's available, for example the Eclipse IDE. . For an introduction on how to use
the Eclipse IDE please see Eclipse IDE Tutorial. The remaining description uses
the phrase: Create a Java project called... ". This refers to creating a Java project in
Eclipse. If you are using a
different IDE please follow the required steps in this IDE. Exercises - Creating
Javaobjects and methods Create a Person class and instantiate it Create a new Java
projectcalled com.vogella.javastarter.exercises1 and a package with the same
name. Create aclass called Person. Add three instance variables to it, one for
storing the first name of the person, on for storing the last name and one for storing
the age of the Person. Use the constructor of the Person object to set the values to
some default value. Write a public method called writeName() which uses the
System.out.println( method to print the first name of the person to the console.
Create a new class called Main with a public static void main(String[] args). In this
method create an instance of the Person class.
Use constructor:
Add a constructor to your Person class which takes the first name, last name and
the age as parameter. Assign the values to your instance variables. Create in your
main method two objects of type Person and call the writeName method on it.
Define getter and setter methods:
Define methods which allow you to read the values of the instance variables and to
set them. These methods are called setter and getter. Getters should start with get
followed by the variable name whereby the first letter of the variable is capitized.
Setter should start with set followed by the variable name whereby the first letter
of the variable is capitized. ` For example the variable called firstName would have
the getFirstName() getter method and the setFirstName(String s) setter method.
Change your main method so that you create one person object and use the setter
method to change the last name.
Create an Address object:
Create a new object called Address. The Address should allow you to store the
address of aperson. Add a new instance variable of this type in the Person object.
Also create a getterand setter for the Address object in the Person object.
Solution - Creating Java objects and methodsCreate a Person class and instantiate
it The following is a potential solution for Section 11.1, “Create a Person class and
instantiate
it”.
package exercises.exercise04;
class Person {
String firstname = "Jim";
String lastname = "Knopf";
int age = 12;
voi d writeName() {
// Writes the firstname
System.out.println(firstname);
// Alternatively you can combine strings with +
System.out.println(firstname + " " + lastname + "" + age);
}
}
package exercises.exercise04;
public class Main {
public static void main(String[] args) {
Person person = new Person();
}
person.writeName();
}
Use constructor
package com.vogella.javastarter.exercises1;
class Person {
String firstName;
String lastName;
int age;
public Person(String a, String b, int value) {
firstName = a;
lastName = b;
age=value;
}
void writeName() {
// Writes the firstname
0132cs111116
System.out.println(firstName);
// Alternatively you can combine strings with +
System.out.println(firstName + " " + lastName + "" + age);
}
}
package com.vogella.javastarter.exercises1;
public class Main {
void main(String[] args) {
Person person = new Person("Jim", "Knopf" , 12);
person.writeName();
// Reuse the same variable and assign new object to it
person = new Person("Henry", "Ford", 104);
person.writeName();
}
}
Define getter and setter methods
package com.vogella.javastarter.exercises1;
HISTORYOF JAVA
It is quite interesting to know the development of Java technology, which is widely
accepted inthe area of networked/distributed computing. Java evolved from a
project developing a languagefor programming consumer electronic devices at Sun
Microsystems, USA.Sun’s Stealth Project in 1990 was aimed to do research in the
area of application of
computers in the consumer electronics market. Bill Joy, James Gosling, Mike
Sheridan, PatrickNaughton (formerly the project leader of Sun’s Open Windows
user environment), and severalother individuals discussed the ideas for the Stealth
Project in January 1991.The vision of thisproject was to develop smart consumer
electronic devices that could all be centrally controlled
and programmed from a handheld-remote-control-like device. The Stealth group
began to workto achieve this goal. It was realized that a platform-independent
development-environment wasneeded.
Green Project was initiated by Patrick Naughton, Mike Sheridan, and James
Gosling oSun Microsystems in 1991 (Members of the Stealth Project, which later
became known as theGreen Project) The tasks of the project were divided amongst
the members of Green Project.Mike Sheridan concentrated on business
development, Patrick Naughton worked on the graphicssystem, and James Gosling
was to identify the appropriate programming language for the GreenProject. Even
though creating a new language was not the aim of Green Project, a new language
was created as a programming tool in this project since C++ was found unsuitable
for the project.An intelligent remote control called *7 (Star Seven) was delivered
as the first product ofGreen Project in 1992. It is a PDA- like device comprising of
a new language oak, an operatingsystem called GreenOS, user interface, and
hardware. This device was quite impressive to Sun
Executives. But no customer was interested in this project. The market was not
conducive to thistype of device in the consumer electronics industry.The new
language Oak was created by James Gosling, a Green Team member,
specifically for *7. Gosling named the new language Oak because that name was
struck whilelooking at an oak three outside of his office window. The name Oak
was later renamed to Javan order to avoid legal issues since Oak was the name of
an existing language.
In November 1992, the Green Project was incorporated under the name
FirstPerson. In1993. Time-Warner was demanding for proposals for set-top box
operating systems and videoon-demand technology with an objective of sending
the data to consumer all over the country for
display on the television sets. At the same time (1993(, NCSA released the first
graphical web browser Mosaic 1.0, an easy-to-use front end to the World Wide
Web.When FirstPerson was bidding on the Time-Warner TV trial based on videoon-demandtechnology, Time-Warner chose Silicon Graphics, Inc. (SGI) over
Sun.Hence, half of themembers of FirstPerson left for SGI and the remaining
members continued to work at Sun.Mosaic web browser revolutionized people’s
perceptions. The remaining member ofFirstPerson returned to work on Java (Oak
was renamed Java) to develop Java-based web
browser. FirstPerson was dissolved gradually. Naughton and Jonathan Payne
developed WebRunner (named after the movie Blade Runner). Later WevRunner
was officially announced
as the HotJavaTM browser in 1994. This was the turning point for Java. At that
time the WorldWide Web changed the face of Internet and it was winning the race
on Internet.Arthur Ban Hoff implemented the Java compiler in Java itself whereas
Goslingimplemented it in C. The Java compiler, written in Java made the people to
accept Java as a fullfeatured language.
Sun Microsystems officially announced Java environment at Sun World’95 on
May 23,1995. Java entered into the mainstream of the Internet after a struggle for
about four years.Netscape Communications incorporated Java into its web browser
Netscape Navigator. Within adecade, Java was destined to be the most
overreaching technology in the Internet. Java was notrestricted to the Internet
alone. The initial goal of Sun was also achieved by using Javatechnology in
interactive set-top boxes, hand-held devices and other consumer
electronicsproducts.
Sun released the first version 1.0 of Java in 1996. Java is an object-oriented
programminglanguage which evolved from C++. It is also a high-level
programming language. The differentforms of Java versions are discussed in the
next section.
Year Java - Versions and Features1990 Sun Microsystems started Stealth project
supporting application of computers in theconsumer electronics market.1991 The
Green project started with the members of Stealth project such as James
Gosling,Patrick Naughton, and Mike Sheridan. A new programming language,
called Oak wascreated by Gosling.1992 An intelligent remote control called
StarSeven was delivered. The Green Project wasincorporated was incorporated
under the name FirstPerson.1993 Mosaic Web browser was introduced in the
world of Internet.
1994 HotJava Web browser was announced by Sun Microsystems.
1995 Oak was renamed as Java. Sun officially announced Java technology.
1996 Sun released the first version 1.0 of Java. Core Language features supporting:
I/O
facility, Utilities, Network Programming, User Interface – AWT, Applets,
andMultithreading.1997 Sun released JDK1.1 by including new features such as
addition of inner classes tthe language and capabilities such as JavaBeans,
JDBC(Java Data BaseConnectivity), and RMI (Remote Method Invocation).1998
Java 2 Platform, Standard Edition (J2SE)1.2, code named as
Playground,wasreleased. It replaced JDK and distinguished the base platform from
j2ee (Java 2Platform, Enterprose Edition) and J2ME (Java 2Platform, Micro
Edition). The key features include Swing graphical API, Java IDL (Interface
Definition Language) to
support CORBA interoperability. They also added Collections framework to
supportvarious data structures. For the first time, JVM was equipped with a JIT
(Just-inTime) compiler.2000 J2SE 1.3, code named as Kestrel, was released with
key features such as JavaSound
API to support audio operations (e.g., audio playback and capture/recording,
mixing,sequencing, and synthesis), Java Naming and Directory Interface (JNDI),
and JavaPlatform Debugger Architecture (JPDA).2002 H2SE 1.4, code named as
Merlin, was released with key features such as (a) imageI/O API for manipulating
images in formats like JPEG and PNG, (b) integrated XMLparser and XSLT
processor (JAXP), integrated security and cryptography extensions,
(c) Java Web Start supporting deployment of Java software applications over the
network.2004 J2SE 5.0, code named as Tiger, was released with enhancement of
Java platform andinclusion of a number of significant new language features such
as Generics,Enhanced for Loop, Autoboxing/Unboxing, Typesafe Enums, Varags,
Static Import,and Metadata supporting declarative style programming annotation
of source code.
2006 Java SE 6.0, code named as Mustang, was released with enhancement of
performancein Swing, JDBC 4.0 support, Java Compiler API, Upgrade of JAXB to
version 2.0,including integration of a StAX parser, support for pluggable
annotations, and many
GUI improvements.2008 Java SE 7.0, code named as Dolphin, with native support
for XML recognizing itsfoundation for Web services.
FEATURES OF JAVA:
According to Sun, Java is defined as a simple, object-oriented, distributed,
interpreted, robust,secure, architecture –neutral, portable, high performance,
multithreaded, and dynamicprogramming language and platform.
Java is simple because the syntax of well-known languages such as C and C++ are
used withmodifications meant for simplification and improvement. It is easy to
read and write Java code if
the reader is familiar with C/C++.Almost everything in Java is centered on creating
objects, manipulating the objects and makingobjects work together. Only the
primitive operations and data types are at the sub-object level.
Hence Java is an object-oriented programming language.An application can be
distributed in many systems which are connected together. Since
networking capability is incorporated in Java, the data/file can be sent across many
systems torun the application.
Java is robust because it is more reliable. It ensures the reliability by providing
early checkinfor possible errors. It eliminates error-prone constructs such as
pointer. It eliminates error-proneconstructs such as pointer. It also supports runtime
error handling.
Java programs are compiled to a byte code format that can be read and run by
interpreters onmany platforms including Windows, Linux, etc. Hence, it is
architecture neutral. Because of thisfeature it is portable to new hardware and
operating systems.Although the speed of execution of Java programs is slower
compared to C/C++ programs, Javais meant for distributed applications. Whenever
the file/data is transmitted from one system toanother, the performance is not
affected. Hence, it is having high performance.Java supports multithreaded
programming to perform several tasks simultaneously. Any codecan be loaded
without recompilation at runtime. Hence it is dynamic.
What I learned from this internships:
1. It's the most commonly used programming language in the world. It's a de
facto standard. According to Oracle, 3 billion devices run on Java. The TIOBE
Programming Community Index is updated monthly and regularly lists Java as
the most popular programming language. Why the constant popularity? Because
it has many real-world applications. IEEE Spectrum ranked it as #2 among the
2016 top programming languages.
2. It's a good precursor to learning other programming languages (like C, C#,
and C++). Java is a solid core language. Web and non-web environments, all
operating systems, all types of devices...you’ll find Java everywhere. For those in
favor of learning Java first, a key factor is that it teaches you to think like a
programmer. You’ll learn the language, but you’ll also learn some key
underpinnings of programming as well. It’s also an object oriented programming
(OOP) language. Learning OOP requires students to master a certain level of
logic. You have to learn how to think through processes in both the specific and
the abstract. Again, that provides a good base for learning programming in
general.
3. It's a mature language. Java is 22 years old (Java 1.0 was released in 1995). In
other words, in the programming world, it's been around a long time. How does
that help? If you're new to programming or just new to Java, nearly any problem
that you will run into has been run into by someone else. Any question you can
ask has already been asked, answered, and posted online in some programmer
community. There are loads of resources available to help you if you get stuck on
a task.
4. It prepares you for many open, well-paying developer jobs. A recent search
on gooroo.io shows the average U.S. salary for jobs requiring Java in January
2017 is $95,864. It also shows 11,611 monthly advertised jobs in the U.S. Java is
pervasive. It powers Android apps, server apps, financial apps, Big Data tech,
and so much more. It’s a skill that should serve programmers well in the job
market for years to come.
5. You'll find lots of like-minded, passionate programmers. Because it’s been
around so long, there are lots of Java practitioners. If you check Meetup, there
are 1,751 meetups worldwide, with 886,056 members, including our own Zip
Code Wilmington Meetup. Here are other places to check:
o
Java subbredit
o
Google “Java Users Group” and your city. JUGs are everywhere.
o
Oracle’s Java Community page
Conclusion:
• Java is an object-oriented programming language. It is a general-purpose
programming language, mainly designed to run developed java code on all
platforms that support Java without recompilation.
• As we all know, Java is one of the most popular and in-demand
programming languages to learn and it was one of the first languages to
standardise high-level threading utilities.
• Java project is a must for aspiring developers. This project helps developers
develop real-world projects to hone their skills and materialise their
theoretical knowledge into practical experience.
• Java has significant advantages both as a commercial language and also as a
teaching language. Java project provides rigorous compile-time error
checking typically associated with Pascal, allowing instructors to introduce
students to GUI programming, networking, threads, and other important
concepts used in modern-day software. Overall, the java project gives a
complete design for the extended language.
Refrences:
• link : https://byjus.com/questions/conclusion-for-java-project/
• www.google.com
•
www.wikipedia.com
• https://www.google.com/search?q=Java+programming+&tbm=isch&ve
d=2ahUKEwj0g-LK0abzAhWN6nMBHRpSBlQQ2cCegQIABAA&oq=Java+programming+&gs_lcp=CgNpbWcQAzIICA
AQgAQQsQMyBQgAEIAEMgUIABCABDIFCAAQgAQyBQgAEIAE
MgUIABCABDIFCAAQgAQyBQgAEIAEMgUIABCABDIFCAAQgA
Q6BggAEAgQHjoECAAQGFD5DVi2FmCCHGgAcAB4AIABjgKIAck
GkgEFMC40LjGYAQCgAQGqAQtnd3Mtd2l6LWltZ8ABAQ&sclient=
img&ei=SaVVYbS7LY3Vz7sPmqSZoAU&bih=568&biw=1366
• https://www.coursera.org/for-university-and-college-students
Download