مدرس : مهدی عمادی برنامه نویسی پیشرفته
مقدمه Java یک زبان برنامه نویسی مستقل از سکوی اجرا است در سال 1991 توسط شرکت Sun Microsystems پیشنهاد شد C یک زبان برنامه نویسی با امکانات مناسب برای دسترسی به سطوح پایین سیستمها و مدیریت مستقیم سخت افزار Java زبانی مناسب برای برنامه های بزرگ و پیچیده به خصوص تحت شبکه و اینترنت
کتاب برنامه نویسی JAVA how to program, Seventh Edition, Deitel & Deitel, 2007 Code Complete, Second Edition, Steve McConnell, Microsoft Press, 2004.
استفاده به عنوان : کلاینت برنامه های وب (Applet) 5 درصد برنامه عادی (Desktop Application) 45 درصد سرور (servlets/JSP/EJB) 50 درصد
Java is Cross-Platform? برنامه java در یک کامپیوتر با داشتن یک کامپایلر تولید می شود بایت کد تولید شده یک فایل است که با انتقال به هر سخت افزار و هر سیستم عاملی که ماشین مجازی جاوا را دارد اجرا خواهد بود Java Source Code Java Bytecode Compiler ( javac ) Java Bytecode Execution JIT Compiler or Interpreter Compile Time زمان کامپایل Run Time زمان اجرا
Instructions in Assembly and Machine Language
High-Level Assembly-Machine Code
Evolution of Programming Languages High-level languages make programming easier Closer to spoken languages Examples Basic FORTRAN COBOL C/C++ Java
Object-Oriented Programming برنامه نویسی شی گرا یک ایده کامل برای پیاده سازی برنامه های کامپیوتری است جاوا یک زبان کامل برای ایده برنامه نویسی شی گرا می باشد
Java is Simple? Truth: Java greatly simplifies several language features Java has automatic memory management Does Windows and takes out the garbage No dangling pointers. No memory leaks. A problem for real-time programs Java simplifies pointer handling No explicit reference/dereference operations Everything is a pointer (like Lisp) No makefiles No header files C++ syntax streamlined
Java is Powerful? Myth: Java will increase programmer productivity for all applications by XXX%. Myth: Java will kill C++ Myth: All software should be written in Java Unix utilities: C Small/medium Windows-only programs: Visual Basic String parsing: Perl High-performance, single-platform OO systems: C++ Air traffic control, aircraft flight software: Ada Knowledge-based systems: Lisp/CLOS/Prolog
Basic Hello World Application “Application” is Java lingo for a stand-alone Java program Note that the class name and the filename must match A file can contain multiple classes, but only one can be declared public, and that one’s name must match the filename File HelloWorld.java: public class HelloWorld { public static void main(String[] args) { System.out.println("Hello, world."); }
Basic Hello World Application (Continued) Compiling: javac HelloWorld.java Running: java HelloWorld Output: Hello, world.
Command Line Arguments File ShowArgs.java: public class ShowArgs { public static void main(String[] args) { for(int i=0; i<args.length; i++) { System.out.println("Arg " + i + " is " + args[i]); }
Command Line Arguments, Results Compiling and Running: > javac ShowArgs.java > java ShowArgs fee fie foe fum Arg 0 is fee Arg 1 is fie Arg 2 is foe Arg 3 is fum
Basic Hello WWW Applet File HelloWWW.java: import java.applet.Applet; import java.awt.*; public class HelloWWW extends Applet { public void init() { setBackground(Color.gray); setForeground(Color.white); setFont(new Font("SansSerif", Font.BOLD, 30)); } public void paint(Graphics g) { g.drawString("Hello, World Wide Web.", 5, 35); //5=left, 35=bottom }
Basic Hello WWW Applet (Continued) File HelloWWW.html: HelloWWW: Simple Applet Test. HelloWWW: Simple Applet Test. Error! You must use a Java enabled browser.
Basic Hello WWW Applet (Continued) Compiling: javac HelloWWW.java Running: Load HelloWWW.html in a Java-enabled browser
Customizing Applets with PARAM import java.applet.Applet; import java.awt.*; public class Message extends Applet { private int fontSize; private String message; public void init() { setBackground(Color.black); setForeground(Color.white); fontSize = getSize().height - 10; setFont(new Font("SansSerif", Font.BOLD, fontSize)); // Read heading message from PARAM entry in HTML. message = getParameter("MESSAGE"); } public void paint(Graphics g) { if (message != null) g.drawString(message, 5, fontSize+5); }
Customizing Applets with PARAM, cont. The Message Applet The Message Applet Sorry, these examples require Java Sorry, these examples require Java...
Customizing Applets with PARAM, Result
Requirements for the Course Browse-to-download: Java SE JDK 6 latest update for Windows Platform make sure to Accept License Agreementhttp://java.sun.com/ Install JDK (use defaults) Browse-to-and-download: NetBeans IDE 6.5 IDE with Java SE update ? Bundle make sure to Accept License Agreementhttp:// install NetBeans (use defaults) IntelliJ IDEA 6.0 Eclipse - IBM Rational Developer - Jdeveloper - Jbuilder - etc. NOTEPAD !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
Evolution of Programming Languages Compiler: a program that translates a program written in a high-level language into the equivalent machine language In the case of Java, this machine language is the bytecode Java Virtual Machine (JVM): hypothetical computer developed to make Java programs machine independent
Problem-Analysis-Coding-Execution Cycle
First Cup of Java A Step by step example on how to Create Compile Run a java program Plus the works What is a Programming Language What is Object Orientation
First Java Program Does and Don'ts Java Environment A Simple Program that Displays Hello World Create the Program Compile the Program Load and Run the Program
First Java Program The Do not(s) Do Not Use the Desktop or “My Documents” as a folder for your java programs Always Use the Letter Drive as your Root (A, C, D, etc.) Java Does not Like Spaces in File Names or Folder Names Java is case Sensitive the string hello.Java is not the same as Hello.java
First Java Program Start a DOS Commands window Start Run cmd
First Java Program Command Prompt Window
First Java Program Create the Appropriate folders
Which Java Environment are you running javac is not recoginzed: it is not in my path
Search your drive for the latest JDK Hardwire the path to point to the bin folder
Hardwire the path to point to the bin folder
java and javac are both recognizable
Where is my First Java Program Remember: java is case sensetive
Where is my First Java Program edit and save to the Homeworks folder
Where is my First Java Program Use the dir command: 228 Bytes
My First Java Program Comments Java is case sensitive File name extension is.java (Lower case) Class Name in public class HelloWorld Should exactly match the first part of the filename HelloWorld.java A runnable Java Program is a Java class with a method called: public static void main(String[] args){ //Control Flow Code }
Compiling My First Java Program javac Helloworld.java Helloworld.class is created
Compiling My First Java Program Where did HelloWorld.class come from
Running My First Java Program java Helloworld
Try this HelloWorld.java program Create, compile and run // // My First Java Program //our Info // import javax.swing.*; public class HelloWorld{ public static void main(String[] args){ try{ String s = JOptionPane.showInputDialog("Please Enter your Name"); System.out.println("Hello " + s); System.out.print(" Welcome to CIS at WTAMU"); } catch(Exception e){ }
Summary
My J2SE Environment Install Environment
Java 2 Standard Edition Components