Beginning Java and/or J# and/or C# Dr. Burns. About this course, Instructor A first course in...
-
Upload
bernard-pope -
Category
Documents
-
view
214 -
download
1
Transcript of Beginning Java and/or J# and/or C# Dr. Burns. About this course, Instructor A first course in...
About this course, Instructor A first course in computer languages Which language?? Your instructor is familiar with Visual Basic
Java, C# and C++
How to reach me?? Office hrs: 11-11:45 T Th Office phone: 742-1547 Email: [email protected] Website: http://burns.ba.ttu.edu
Pedagogical Requirements 2 exams, each worth 20% 1 project worth 20% Homework worth 20% Presentations worth 20%
Students will be asked to present material in class five times during the semester
Some 3-hour classes are organized as…
1.5 hours of lecture by me (80-90 min) 1.5 hr lecture by one of you
.75 hr by one student (40 min) .75 hr by another student (40 min)
A bit of History Java was developed at Sun Microsystems
by a programmer named James Gosling who originally had in mind a language to control robots
June 1991 to 1995 was the development period
It is platform-independent and will run on any operating system or computer
More Java history Development goals were to create a
language with a C/C++ like syntax, but with WORA (Write Once, Run Anywhere)
The language was also made much simpler than C++ No pointer variables, no pointer arrays, no
destructors, etc.
Java Standard The Java standard is a de facto standard
(not one that is controlled by ANSI or ISO) that is controlled by the Java Community Process
Java Language Goals It should be object-oriented It should allow the same program to be executed
on multiple operating systems and microprocessors using different machine languages
It should contain built-in support for use of computer networks
It should be executable from remote sources It should be easy to use (Wikipedia)
J# Programming language A transitional language to assist Java
programmers to transition to Microsoft’s .NET platform
J# can work with Java bytecode as well as source, so it can be used to transition applications that use 3rd-party libraries
It was developed by the Hyderabad-based Microsoft India Development Center at HITEC City in India
Fundamental differences between J# and Java Both use the same general syntax There are non-Java conventions in J# to
support the .NET environment J# does not compile Java language source
code to Java bytecode and does not support Java applet development or the ability to host applets directly in a web browser
Future of J# J# is not considered a language on a par
with C# or VB.NET and does not have the same level of support, samples or updates as the other languages do
Nevertheless, J# is a usable .NET language and has access to all the CLR features
What is CLR? CLR stands for Common Language
Runtime and is the virtual machine component of Microsoft’s .NET platform. It is Msft’s implementation of the Common Language Infrastructure (CLI) standard.
Developers using the CLR write code in a language such as C# or VB.Net.
History of J# J# is Microsoft’s version of Java J# will run only on Windows machines Uses different methods names than Java Within Visual Studio, it can be mixed and
matched with Visual C++, Visual Basic, Visual C#, ASP.net, etc.
Reserved Words/Objects in C# or Java
Only about 48 of them, compared to over 200 in Visual Basic
Is Object-oriented But doesn’t support pointer variables, nor is
the programmer allowed to destroy objects, unlike C++
Reserved Words abstract assert boolean break byte case catch char const
continue default do double else enum extends final
More reserved words finally float for goto if implements import instanceof int
interface long native new package private protected public return
Still more reserved words short static strictfp super switch synchronized this
throw throws transient try void volatile while
Notice…. None of the reserved words begins with an
uppercase character (both C# and Java have case sensitive identifiers)
The reserved words shown in RED are also C# reserved words
C# has 75 reserved words (listed on page 31 of your text)
Identifiers These are words you choose for…
Class libraries (Java) Classes Namespaces (C#) Variables Methods They cannot be reserved words
More on Identifiers Class names should start with uppercase Method and variable names should start
with lower case No spaces You can only use letters (lower and
uppercase), digits and the underscore character
Some bad class names An employee Space char is
bad Inventory Item Space char is bad Class a reserved word 2009Budget can’t begin with digit Phone# # is illegal
Operators Supports only the basic operators
! {the logical NOT} * / % {multiplication, division, modulus} + - {addition, subtraction} > < >= <= {Relational} == != {Equality} && {Logical AND} || {logical OR}
Object Technology Inheritance -- gives rise to REUSE Encapsulation
Information hiding Polymorphism Contains attributes (data and methods) Objects are called classes No support for procedural programming—which is
the direct opposite to object-oriented programming
Class—an object Encapsulates both data and behaviors Behavior is delineated with a method—a
collection of code Consider the class Sedan(…) Contained within it are constants like
Wheels = 4, chassis = 1, engine = 1, doors = 4 Color = RED
The class Sedan() has methods that describe its behaviors Accelerates(…) Slows_down(…) Consumes_gas(…) Creates_pollution(….)
Each of these is a method, a collection of code that acts as a group to produce the behavior
Procedural vs. Object-oriented programming
Procedural programming What I did using Fortran as a software engineer
working for the Boeing Company in the 1970’s Just long lists of code
Object-oriented programming—organizes code into objects—allows for reuse
The generic structure for an Object First, a list of all the possible header
declarations—to support polymorphism Second, a list of all the data types and their
initializations Third, a list of all the methods, coupled with
their code declarations
Objects and their instantiations OBJECT INTSTANTIATION truck fordF150 automobile chevyMalibu animal dog
Header declarations—the same in Java and C#
Java: public static void main(String[] args) C#: static void main(String[] args) public static void main(String[] args)
Notice—no semicolon after header dec
What is main(String[] args)? Is it a class? Is it an instance of a class? Is it a method? Is it a function?
What do the reserved words mean? public—the method is accessible to
everyone, not just other methods inside the class
static—the method stays alive and functional while the program is running
void—the method does not return a value through its name
Instantiations We use the keyword ‘new’ to create an
instantiation of an object: New automobile Toyota
Here Toyota is an instance of the class automobile
Inheritance The ability of a class to inherit the data and
methods of another previously defined class.
my1997ToyotaCorolla() extends Sedan()_ Inherits all of the data and methods of
Sedan()—reuses them—they don’t have to be redefined
Polymorphism Literally means ‘many forms’ Allows methods to be used differently in
different contexts Run() can be a footrace, an execution of a
computer program, or a business process It is correctly understood in context The method eat() will be different depending on
what kind of animal is eating
Code for a Class
Public class First
{
public static void main(String[] args)
{
System.out.println(“First Java app”);
}
}
The Membership Operator Is simply the . Examine……………System.out.println(“First Java app”); We see that println() is a method within a
class out which is a class within a class called System
Unfortunately, J# and C# do not use these names
What is (“First Java app”)? “First Java app” is a literal string of
characters – placed within double quotes This string is an argument of the method System.out.println() Methods are always followed by ()
parentheses What is placed within those parentheses
are called arguments
Some TLA’s—Three-letter Acronyms IDE – Integrated Development Environment JVM – Java Virtual Machine JRE – Java Runtime Environment SDK—Software Development Kit API—Application Programming Interface CLR—Common Language Runtime (Microsoft)
is part of .NET WPF—Windows Presentation Foundation
Integrated Development Environments
IDE – Integrated Development Environment—what Visual Studio and Eclipse provide—usually consisting of editor, parser, interpreter
But sometimes the IDE is capable of compiling and linking—creating a stand alone executable– ending with .exe
What is the sequence leading to execution?
In any language, it is1. Enter code in the editor– editor checks for
errors -- result is a text file with the extension of .java or .J#
2. Compile code into machine language – result is a binary file with the extension .bin
3. Link code to other compiled objects to create a stand alone executable – result is a binary file with the extension .exe
There are many variations on this sequence ….
Enter code – check for errors -- IDE saves the result as a text file.
IDE does a ‘quick’ interpret and execute without creating a stand alone executable
What is the difference between interpretation and execution? No difference as far as the output of the
program is concerned. With interpretation, a line of source code is
interpreted and executed without its being compiled, linked and executed as a stand alone module
This is very slow compared to stand alone execution
What about the sale of commercial products?
Do you want these products interpreted or executed from a stand alone executable?
Java Compilations Java compilers typically produce bytecode
rather than binary (machine language) This makes them platform independent JVM’s and JRE’s then interpret the byte
codes upon execution Because of this, Java programs run slower
than native executables
Freeware A Java IDE (Java SE 6) that is free can be
found at http://java.sun.com A Java JRE that is free can be found at
http://java.sun.com A downloadable Java Tutorial is available
at http://java.sun.com/docs/books/tutorial/
What about Applets? Applets are scripts, segments of Java code
that get passed down with a web page. Your browser has a Java interpreter that executes the code line by line, creating the animation in a box of the page
Comments // the entire line is a comment /* begins a comment that can continue over
several lines and ends with */ this I s called a block comment
C# supports all of the above /** is a Javadoc comment that works with a
special documentation program; must end with */
More sample programsImport Javax.swing.JOptionPane;
Public class FirstDialog
{
public static void main(String{} args)
{
jOptionPane.showMessageDialog(null,”First Java dialog”);
System.exit(0);
}
}
Data type Declarations Specify the type of data and the length of
the data item in bytes int, short, long float, double boolean enum
Floating Point Representation Internal representation Floating-point numbers are typically packed into a
computer datum as the sign bit, the exponent field, and the significand (mantissa), from left to right. For the IEEE 754 binary formats they are apportioned as follows:
TypeSignExponentExponent biassignificandtotalHalf (IEEE 754-2008)15151016Single181272332Double11110235264Quad11516383112128
Data Types -- Integer Int – the default declaration – 4-byte integer Short—2-byte integer Long—8-byte integer