1 of 16

Programação Orientada a Objetos

Antonio Dias dos Santos Júnior

Ambiente de desenvolvimento Java

2 of 16

O que aprenderemos?

  • O que usar para desenvolver programas Java
  • Como escrever e executar um programa Java

2

3 of 16

Há duas formas de desenvolver em Java

3

Desenvolver

IDE

Editor

4 of 16

IDE

  • Provêem ferramentas que oferecem suporte ao desenvolvimento, como editores, realçadores de sintaxe, depuradores para localizar erros lógicos e mais

4

5 of 16

IDE

Há muitas opções de IDEs, com uma variada gama de recursos

5

IntelliJ IDEA

Eclipse

NetBeans

VisualStudio Code

6 of 16

Editor

  • Enquanto é possível usar um editor para o desenvolvimento, é um caminho muito ineficiente, pois você precisaria lidar com muitos detalhes
  • Entretanto, antes de usar uma IDE, é interessante conhecer os detalhes do que acontece entre a escrita e a execução do código

6

7 of 16

Criando um programa

  • No editor de sua escolha, escreva o programa Java ao lado
  • O código de um programa é geralmente conhecido como código fonte
  • Salve o com o nome Hello.java, essa é a extensão padrão para código fonte escrito em Java

public class Main {

public static void main(String[] args) {

System.out.println("Hello, world!");

}

}

7

8 of 16

Compilando um programa

  • Para compilar um programa Java, é necessário que você tenha instalada o JDK (Java Development Kit)
  • No presente momento (janeiro de 2024), a JDK mais recente é a versão 23 (early access) e a versão LTS (Long Term Support) é a 21
    • Uma versão LTS contará com suporte por um período maior que o normal
    • A versão 21 receberá atualizações até setembro de 2026 (1 ano após lançamento da próxima LTS)
    • A versão 17 receberá atualizações até setembro de 2024
  • Link para download: https://www.oracle.com/br/java/technologies/downloads

8

9 of 16

Compilando um programa

  • O comando javac (Java compiler) é usado para compilar um programa
  • Esse comando é digitado na janela de comandos do seu sistema operacional (prompt de comando no Windows)
  • Se tudo der certo, o compilador produz um arquivo .class (HelloWorld.class nesse caso)
  • O arquivo .class contém bytecodes

javac Hello.java

9

10 of 16

Compilando um programa

  • Se algo der errado, você precisará consertar o erro indicado antes de tentar novamente
  • Em alguns casos, a instalação pode ter dado errado ou a variável PATH não foi configurada corretamente, aí você verá um erro como "bad command or filename" ou "javac: command not found"

javac Hello.java

HelloWorld.java:1: error: class Main is public, should be declared in a file named Main.java

public class Main {

^

1 error

10

11 of 16

Compilando um programa

  • O que deu errado ao compilar o código fonte Hello.java?

javac Hello.java

HelloWorld.java:1: error: class Main is public, should be declared in a file named Main.java

public class Main {

^

1 error

11

12 of 16

Compilando um programa

  • O nome da classe deve ser igual ao nome do arquivo, sem extensão
  • Renomeie a classe para Hello (public class Hello…) e tente novamente

javac Hello.java

HelloWorld.java:1: error: class Main is public, should be declared in a file named Main.java

public class Main {

^

1 error

12

13 of 16

Executando um programa

  • A JVM (Java Virtual Machine) é responsável por executar os bytecodes do arquivo .class
  • É a JVM que possibilita que o mesmo código Java rode em diferentes plataformas sem alterações

java HelloWorld

13

14 of 16

Executando um programa

  • A JVM roda os bytecodes para executar as ações do programa
  • Nas primeiras versões de Java, a JVM era simplesmente um interpretador de bytecodes
  • A maioria dos programas executava lentamente, porque a JVM interpretava e executava os bytecodes um por um

14

15 of 16

Executando um programa

  • As JVMs atuais tipicamente executam bytecodes usando uma combinação de interpretação e compilação just-in-time (JIT)
  • Nesse processo, a JVM analisa os bytecodes conforme são interpretados, buscando hot spots–aqueles bytecodes executados com frequência
  • Para essas partes, o compilador JIT traduz os bytecodes para linguagem de máquina
  • Quando a JVM encontra essas partes compiladas novamente, o código em linguagem de máquina (mais rápido) executa

15

16 of 16

16

java0