1. An Introduction to J# and .NET

Download Report

Transcript 1. An Introduction to J# and .NET

Lecture 2:
An Introduction to J# and .NET
Objectives
“Microsoft .NET is based on the .NET Framework, which consists of
two major components: a run-time execution engine and an
extensive software library. The Framework supports a wide range
of programming languages, including J# which brings Java to
.NET... ”
• Modern program execution
• J#
• Visual Studio .NET
Introducing
Microsoft
J#
in Visual Studio
CS using
.NET
.NET
2-2
2
Program execution in the 21st century
• Idea:
– modern software executes using a run-time environment
– why? portable and safe execution…
Your Application
Run-time Environment
Operating System
Hardware
Introducing
Microsoft
J#
in Visual Studio
CS using
.NET
.NET
2-3
3
Program execution in .NET
• Based on Common Language Runtime (CLR) +
.NET Framework Class Library (FxCL)
• run-time environment + large software library
Your Application
.NET Framework
Class Library (FxCL)
Common Language Runtime (CLR)
Operating System
Hardware
Introducing
Microsoft
J#
in Visual Studio
CS using
.NET
.NET
2-4
4
So what is .NET?
• A technology for developing & executing software…
– platform independent (XP, Pocket PC, Linux (Mono), BSD )
– language independent
(28 languages listed at http://www.gotdotnet.com/team/lang//)
J#
C#
C++
VB
…
Your Application
.NET Framework
Class Library (FxCL)
Common Language Runtime (CLR)
Operating System
Hardware
Introducing
Microsoft
J#
in Visual Studio
CS using
.NET
.NET
2-5
5
What exactly is J#?
• "J-Sharp" is Java on the .NET platform
– J# allows you to program using the Java language yet take
advantage of the Microsoft .NET platform
• What is Java?
– Java language syntax + Java class library
• What is J#?
– Java language syntax (Java 1.4) + Java class library + .NET
class library
– current Java language (i.e. v1.5, a.k.a. Java 5)
– partial support for Java class library (most of v1.1, some of v1.2)
– Additional library for Swing
Introducing
Microsoft
J#
in Visual Studio
CS using
.NET
.NET
2-6
6
Example in J#
• The infamous "hello world!" program
– written in pure Java…
public class HelloApp
{
public static void main(String[] args)
{
System.out.println("Hello world!");
}
}
Introducing
Microsoft
J#
in Visual Studio
CS using
.NET
.NET
2-7
7
How to edit, compile, run?
• Visual Studio .NET
• Visual Studio is Microsoft's IDE
– "Integrated Development Environment"
• One environment for all .NET programming:
– editing
– compiling
– running
– debugging
Introducing
Microsoft
J#
in Visual Studio
CS using
.NET
.NET
2-8
8
Step 1. Select new project…
Introducing
Microsoft
J#
in Visual Studio
CS using
.NET
.NET
2-9
9
Step 2. Create project…
• Select application language, then template
Introducing
Microsoft
J#
in Visual Studio
CS using
.NET
.NET
2-10
10
Step 3. Implement…
• Code the program in coding window
– use "Solution Explorer" window for navigating program files
coding
window
Introducing
Microsoft
J#
in Visual Studio
CS using
.NET
.NET
solution
explorer
2-11
11
Step 4. Run!
• Just press F5 and off we go!
– or use Debug menu, Start…
– or click VCR-like "Play" button on the toolbar…
• Go ahead and try it — what happens?
Introducing
Microsoft
J#
in Visual Studio
CS using
.NET
.NET
2-12
12
The "console" flash
• By default, Visual Studio does the following:
– opens console window
– runs program
– closes window
– so all you see is a flash!
Introducing
Microsoft
J#
in Visual Studio
CS using
.NET
.NET
2-13
13
Solution
• Keep console window open until user is done…
package HelloApp;
public class HelloApp
{
public static void main(String[] args) throws Exception
{
System.out.println("Hello world!");
// keep console window open...
System.out.println();
System.out.print("Press ENTER to exit...");
System.in.read();
}//main
}//class
Introducing
Microsoft
J#
in Visual Studio
CS using
.NET
.NET
2-14
14
Very helpful IDE features…
• IntelliSense
• Overloading
• Tight integration of editor & compiler
– to name just a few…
Introducing
Microsoft
J#
in Visual Studio
CS using
.NET
.NET
2-15
15
IntelliSense!
• IntelliSense is a fantastic advance
– context-sensitive programming aid
– reduces programming errors
– encourages experimentation and exploration
// keep console window open…
System.o
Introducing
Microsoft
J#
in Visual Studio
CS using
.NET
.NET
2-16
16
Overloading
• J# allows multiple methods with the same name
– We know this as overloading
– methods must differ in their parameter lists
– VS depicts as a scrollable list…
// keep console window open…
System.out.println(
Introducing
Microsoft
J#
in Visual Studio
CS using
.NET
.NET
2-17
17
Editor & compiler integration
• Errors are highlighted in the code like spelling mistakes:
Introducing
Microsoft
J#
in Visual Studio
CS using
.NET
.NET
2-18
18
Working with Visual Studio
• Modes of programming:
– "design": coding
– "run":
program is actively running
– "break":
program is paused (more on this later)
• How to know which mode you're in?
Introducing
Microsoft
J#
in Visual Studio
CS using
.NET
.NET
2-19
19
Visual Studio files
• Visual Studio produces lots of files
– bin folder contains .EXE, program input files
– obj folder contains temporary files
– solution (.sln) is main file for working with VS
– project (.vjsproj) tracks source files, settings
– Visual J# (.jsl) denotes source code files
Introducing
Microsoft
J#
in Visual Studio
CS using
.NET
.NET
2-20
20
Re-opening a project
• To re-open a project and continue working…
– double-click on the SOLUTION (.sln) file
or
– startup Visual Studio and open .sln file
Introducing
Microsoft
J#
in Visual Studio
CS using
.NET
.NET
2-21
21
Summary
• Modern program execution:
– based on virtual machines and large class libraries
– in Java, known as JVM and JCL
– in .NET, known as CLR and FxCL
• J# is Java on the .NET platform
• VS is a modern, sophisticated, powerful IDE
Introducing
Microsoft
J#
in Visual Studio
CS using
.NET
.NET
2-22
22