um programa é composto por uma ou mais classes, cada uma definindo um ou mais métodos que por sua vez contêm instruções.
A classe é a unidade de estruturação dos programas OO,
cada programa, por mais simples que seja, tem pelo menos uma classe
o texto que define uma classe é guardado num ficheiro com extensão java
um programa Java é composto por um ou mais ficheiros com extensão java.
O processo de criar e executar um programa Java envolve a seguinte sequência de ações:
escrever o programa usando um editor de texto e guardar o texto do programa num ficheiro com extensão java
compilar o programa
executar o programa.
2.2.1. Escrever o programa
Ao longo deste livro veremos, passo a passo, como abordar computacionalmente os problemas que queremos resolver e a forma de escrever em Java os programas que os resolvem.
Para já, ficamos com este primeiro programa Java, cujo texto escrevemos com a ajuda de um editor de texto e guardámos num ficheiro de nome MyFirstProgram.java.
​x
public class MyFirstProgram {
​
    public static void main (String [] args) {
​
        System.out.println("Olah turma!!");
​
    }
}
Durante o curso, a pouco e pouco, irá aprendendo qual o papel que cada palavra deste programa tem. E não se preocupe agora em memorizar nada – este é só um exemplo inicial.
2.2.2. Compilar o programa
Para compilar o programa vai precisar do Java SE Development Kit (JDK) – pode descarregá-lo a partir do url http://www.oracle.com/technetwork/java/javase/downloads/index.html
Certifique-se de que escolhe o JDK e não o JRE.
Já com o JDK instalado no seu computador, escrever na linha de comando:
javac MyFirstProgram.java
javac é o nome do comando, no sistema operativo, que executa o compilador de Java; segue-se o nome do ficheiro que queremos compilar (incluindo a extensão java).
Se o diretório corrente não for o que contém o ficheiro MyFirstProgram.java então (a) deve adicionar o path, ou caminho, necessário para identificar o ficheiro ou (b) deve mudar o diretório corrente para que seja o diretório que contém o ficheiro.
Como este programa não tem erros, um ficheiro com o mesmo nome e extensão class será criado. Se o compilador detetasse algum erro, esse ficheiro não seria criado e seriam emitidas mensagens para o ecrã indicando os erros detetados.
Se o sistema operativo responder com a mensagem 'javac' is not recognized as an internal or external command, operable program or batch file, isso significa que não consegue encontrar o compilador. Para resolver o problema deve atualizar a variável PATH do seu sistema operativo. Para resolver este ou outros problemas, ver https://docs.oracle.com/javase/tutorial/getStarted/problems/index.html
2.2.3. Executar o programa
Se o compilador não tiver detetado erros, escrever na linha de comando:
java MyFirstProgram
java é o nome do comando, no sistema operativo, que executa a JVM; o nome do ficheiro que queremos executar não inclui a extensão class.
O programa será executado, ou seja, as instruções contidas no método main da classe MyFirstProgram serão executadas por ordem e até ao fim. Neste caso é uma única instrução, cujo efeito é o de escrever no standard output (normalmente o ecrã) a frase Olah turma!!
Um programa pode ser constituído por uma ou mais classes.
Para que possa ser executado, tem que existir numa dessas classes um método de nome main.
É o nome da classe que contém o main que é indicado no comando java.
No nosso exemplo, as linhas que definem esse método main são:
xxxxxxxxxx
    public static void main (String [] args) {
​
        System.out.println("Olah turma!!");
​
    }
Uma vez compilado, um programa pode ser executado quantas vezes se quiser sem ter que se compilar de novo.
2.2.4. Instruções
As instruções são diferentes em diferentes linguagens de programação, mas há um pequeno conjunto de operações básicas comum à maior parte das linguagens de programação:
Cálculo – executar cálculos matemáticos básicos;
Teste – verificar se determinadas condições são verdadeiras e executar instruções apropriadas conforme o resultado do teste;
Repetição – executar ações repetidamente, com eventuais variações a cada repetição;
Input – “ler” informação a partir do teclado, de um ficheiro ou de outro dispositivo, para poder ser usada pelo programa;