Java, Einleitung


Einleitung

Java Architektur

"Hallo Welt"

Ein erstes Java-Beispiel

Das einfachste, immer wieder eingesetzte Programm zeigt nur "Hallo Welt !" an.

import java.awt.*;
import java.applet.*;

public class HelloWorldApplet extends Applet {

    String msg = "";

    public void init () {
      msg = "Hallo Welt !";
    }

    public void paint(Graphics g) {
       g.drawString(msg,10,75);
    }
}

Ein solches Java-Programm wird in einen sogenannten Byte-Code kompiliert und dann mit Hilfe eines Java-Interpreters, des Appletviewers oder der Web-Browsers ausgeführt.

Die Kompilierung mit dem Byte-Code Compiler erfolgt durch javac.

   % javac HelloWorldApplet.java

Die Ausführung erfolgt mit dem Appletviewer oder dem Web-Browser.

   % appletviewer helloworld.html

Die zugehörige HTML Seite sieht wie folgt aus.

<html>
<head><title>Simple Applet</title>
</head>

<body bgcolor="white">

<applet code="HelloWorldApplet.class" width="150" height="150">
</applet>

</body>
</html>

Das Ergebnis ist wie erwartet.

Swing Applet

import javax.swing.*;
import java.awt.*;

public class HelloWorldAppletSwing extends JApplet {

    JTextPane anzeige;
    String msg = "";

    public void init () {
      msg = "\nHallo Welt !\n";
      anzeige = new JTextPane();
      anzeige.setText(msg);

      Container c = getContentPane();
      c.add(anzeige,BorderLayout.CENTER);
    }

}

Das Ergebnis.

Kommandozeilen Java

   public class HelloWorld {
      public static void main(String[] args) {
         System.out.println("Hello World!");
      }
   }

Die Kompilierung mit dem Byte-Code Compiler erfolgt durch javac.

   % javac HelloWorld.java

Die Ausführung erfolgt mit dem Interpreter java.

   % java HelloWorld

Das Ergebnis ist wie erwartet.

   Hello World!

Andere Programmiersprachen

Scheme / LISP:

   (display "Hello World!")

oder

   ((lambda (p) 
     (begin (display "Hallo Welt von ") 
            (display p) 
            (display "!"))
    ) "Heinz" )

    Hallo Welt von Heinz!

oder

   (define (hallo p) 
      (begin (display "Hallo Welt von ") 
             (display p) 
             (display "!"))
   )
   (hallo "Anja")

   Hallo Welt von Anja!

Pascal:

  program HelloWorld(output);
  begin
     writeln('Hello world!');
  end.

C:

  #include <stdio.h>

  int main()
  {
     printf("Hello world!");
 
     return 0;
  }

C++:

  #include <cstdio>

  int main()
  {
     std::out<<"Hello world!";

     return 0;
  }

C++:

  #include <cstdio>
  using namespace std;

  int main()
  {
     out<<"Hello world!";

     return 0;
  }

Windows:

  #include <windows.h>

  int WINAPI WinMain(HINSTANCE,HINSTANCE,LPSTR,int)
  {
     return MessageBox(0,"Hello world!","My first window",0); 
            //1st 0 = HWND_DESKTOP, 2nd 0 = MB_OK
  }

Objektorientierte Varianten

Verwendung als Objekt:

public class Hallo {

   void sags(){
      System.out.println("Hallo Welt!");
   }

   static void hallo(){
      System.out.println("Hallo Welt!");
   }

   public static void main(String[] args) {
      hallo();
      new Hallo().sags();
   }

}

Verwendung als Objekt mit Konstruktor:

import java.io.*;

public class HalloObj {

    String bla = "Hallo Welt!";
    PrintWriter pw;

    HalloObj(PrintStream ps){
	pw = new PrintWriter(ps,true);
    }

    void sags(){
      pw.println(bla);
    }

    public static void main(String[] args) {
       (new HalloObj(System.out)).sags();
    }

}

Software-Entwicklung

Programmieren


© Universität Mannheim, Rechenzentrum, 1998-2005.

Heinz Kredel
Last modified: Sun Nov 27 16:28:02 CET 2005