Universidade Federal do Amazonas (UFAM)
Instituto de Ciências Exatas e Tecnologia de Itacoatiara (ICET)
Curso de Engenharia de Produção
" Disciplina Introdução a Programação II "
“INTRODUÇÃO AO JAVA”
Professor Dr. Rallyson dos Santos Ferreira
(rallysonferreira@[Link])
2025/2 1
Itacoatiara - AM
" Disciplina Introdução a Programação II "
INTRODUÇÃO AO JAVA
Tecnologia Java
• Rodam em diferentes ambientes (JVM – Java Virtual
Machine). Tipo de tradutor de código para diferentes
sistemas e dispositivos.
• É dividida basicamente em:
• JSE – Java Standart Edition
• JEE – Java enterprise Edition
• JME – Java Micro Edition
Professor Dr. Rallyson dos Santos Ferreira
2
Instituto de Ciências Exatas e Tecnologia de Itacoatiara (ICET)
" Disciplina Introdução a Programação II "
INTRODUÇÃO AO JAVA
Tecnologia Java
• JSE – desenvolvimento para desktop ou
cliente/servidor.
• É composto por:
• JRE (Java Runtime Environment): provê API (Java
Application Programming Interface) Java, a JVM
para rodar linguagem Java.
• JDK (Java Development Kit): Contém tudo da JRE
além de ferramentas como compiladores e
debugadores necessários para desenvolver
aplicações.
Professor Dr. Rallyson dos Santos Ferreira
3
Instituto de Ciências Exatas e Tecnologia de Itacoatiara (ICET)
" Disciplina Introdução a Programação II "
INTRODUÇÃO AO JAVA
Tecnologia Java
• JEE – É o padrão para sistemas cooporativos, voltada
para aplicações multi-camadas, executados em
servidores de aplicações.
• JME – É o padrão para dispositivos compactos,
pequeno porte, embarcados.
Professor Dr. Rallyson dos Santos Ferreira
4
Instituto de Ciências Exatas e Tecnologia de Itacoatiara (ICET)
" Disciplina Introdução a Programação II "
INTRODUÇÃO AO JAVA
Tecnologia Java
• IDEs para desenvolvedores em Java:
• Eclipse
• Intellij IDEA
• NetBeans
• Visual Studio Code
Professor Dr. Rallyson dos Santos Ferreira
5
Instituto de Ciências Exatas e Tecnologia de Itacoatiara (ICET)
" Disciplina Introdução a Programação II "
INTRODUÇÃO AO JAVA
Tecnologia Java
• IDEs para desenvolvedores em Java:
• Eclipse
• Uma IDE de código aberto e gratuita, o Eclipse é
conhecido pela sua extensibilidade e suporte a plugins,
sendo uma ótima opção para projetos grandes e
complexos. O Eclipse também oferece suporte a
diversas linguagens de programação, além de Java,
como C/C++, PHP e Python, através de plugins.
Professor Dr. Rallyson dos Santos Ferreira
6
Instituto de Ciências Exatas e Tecnologia de Itacoatiara (ICET)
" Disciplina Introdução a Programação II "
INTRODUÇÃO AO JAVA
Tecnologia Java
• IDEs para desenvolvedores em Java:
• IntelliJ IDEA
• Considerada uma das IDEs mais completas e poderosas
para Java, a IntelliJ IDEA oferece recursos avançados de
autocompletar código, análise de código e suporte a
diversos frameworks populares como Spring Boot e
Hibernate. A versão Ultimate oferece ainda mais
funcionalidades, incluindo ferramentas para bancos de
dados e suporte nativo ao Spring.
Professor Dr. Rallyson dos Santos Ferreira
7
Instituto de Ciências Exatas e Tecnologia de Itacoatiara (ICET)
" Disciplina Introdução a Programação II "
INTRODUÇÃO AO JAVA
Tecnologia Java
• IDEs para desenvolvedores em Java:
• NetBeans
• Outra IDE de código aberto, o NetBeans se destaca pela sua
interface intuitiva e suporte a tecnologias como Swing e
JavaFX. O NetBeans também inclui um servidor GlassFish
integrado, o que facilita o desenvolvimento de aplicações web.
Professor Dr. Rallyson dos Santos Ferreira
8
Instituto de Ciências Exatas e Tecnologia de Itacoatiara (ICET)
" Disciplina Introdução a Programação II "
INTRODUÇÃO AO JAVA
Tecnologia Java
• IDEs para desenvolvedores em Java:
• VS Code
• Uma outras opção, além das IDEs mencionadas, o VS Code com
extensões Java se apresenta como uma alternativa mais leve e
personalizável, enquanto o BlueJ é recomendado para iniciantes.
Professor Dr. Rallyson dos Santos Ferreira
9
Instituto de Ciências Exatas e Tecnologia de Itacoatiara (ICET)
" Disciplina Introdução a Programação II "
INTRODUÇÃO AO JAVA
Tecnologia Java
• Considerações ao escolher uma IDE:
• Ao escolher a IDE ideal, é importante considerar suas
necessidades específicas, como o tipo de projeto, a
complexidade do código e as tecnologias utilizadas.
Recursos como autocompletar código, depuração e
integração com sistemas de controle de versão também são
fatores importantes a serem avaliados.
Professor Dr. Rallyson dos Santos Ferreira
10
Instituto de Ciências Exatas e Tecnologia de Itacoatiara (ICET)
" Disciplina Introdução a Programação II "
INTRODUÇÃO AO JAVA
Noções Gerais
• Características:
• simples e familiar (C, C++)
• orientada a objetos (tipos primitivos e objetos)
• distribuída (redes dinâmicas e objetos remotos)
• interpretada (bytecode, JVM, compile-run)
• robusta (sem pointers, GC, fortemente tipada)
• segura (GC, bytecode protegido)
• portabilidade (diferentes plataformas e browsers)
• alta performance (desenvolvimento e bom bytecode)
• multitarefa e dinâmica (threads, sincronização, redes)
Professor Dr. Rallyson dos Santos Ferreira
11
Instituto de Ciências Exatas e Tecnologia de Itacoatiara (ICET)
" Disciplina Introdução a Programação II "
INTRODUÇÃO AO JAVA
Java não tem...
• typedef, define, preprocessor
• struct, union
• enum
• goto
• pointers
• sobrecarga de operadores
• templates
• herança múltipla
Professor Dr. Rallyson dos Santos Ferreira
12
Instituto de Ciências Exatas e Tecnologia de Itacoatiara (ICET)
" Disciplina Introdução a Programação II "
INTRODUÇÃO AO JAVA
Orientação a Objetos
• Objetivos do paradigma:
• clareza e facilidade de desenvolvimento
• reutilização de código
• desenvolvimento evolutivo (escalabilidade)
• manutenção (documentação)
• baixo custo (tempo de análise, projeto,
implementação e manutenção)
Professor Dr. Rallyson dos Santos Ferreira
13
Instituto de Ciências Exatas e Tecnologia de Itacoatiara (ICET)
" Disciplina Introdução a Programação II "
INTRODUÇÃO AO JAVA
Orientação a Objetos
• Palavras chaves:
• encapsulamento
• herança
• polimorfismo
• Boa programação não depende de OO, mas
fica muito mais fácil!!!
Professor Dr. Rallyson dos Santos Ferreira
14
Instituto de Ciências Exatas e Tecnologia de Itacoatiara (ICET)
" Disciplina Introdução a Programação II "
INTRODUÇÃO AO JAVA
Desenvolvimento de uma aplicação OO
• Identificação de classes e objetos
• Identificação de comportamentos
• Identificação de relações entre classes
• Identificação de interfaces e métodos
• Identificação de classes e objetos
• ... UML
Professor Dr. Rallyson dos Santos Ferreira
15
Instituto de Ciências Exatas e Tecnologia de Itacoatiara (ICET)
" Disciplina Introdução a Programação II "
INTRODUÇÃO AO JAVA
Sintaxe Básica
• Tipos básicos:
• long : inteiro de 64 bits (+ ou - 18 dígitos)
• int: inteiro de 32 bits [-[Link]; + [Link]]
• short: inteiro de 16 bits [-32.768; + 32.767]
• byte: inteiro de 8 bits [-128; +127]
• double: real de precisão dupla, 64 bits [1,7E-308; 1,7E+308]
• float: real de 32 bits [3,4E-38; 3,4E+38]
• char: caracter de 16 bits (sem sinal)
• boolean: tipo lógico true ou false (1 bit)
Professor Dr. Rallyson dos Santos Ferreira
16
Instituto de Ciências Exatas e Tecnologia de Itacoatiara (ICET)
" Disciplina Introdução a Programação II "
INTRODUÇÃO AO JAVA
Sintaxe Básica
• Comentários:
• // até o fim da linha
• /* até encontrar uma
• barra /
• Operadores relacionais:
• == igual
• != diferente
• > maior
• >= maior ou igual
• < menor
• <= menor ou igual
Professor Dr. Rallyson dos Santos Ferreira
17
Instituto de Ciências Exatas e Tecnologia de Itacoatiara (ICET)
" Disciplina Introdução a Programação II "
INTRODUÇÃO AO JAVA
Sintaxe Básica
• Operadores aritméticos
• x = 4*(2+5) / (3-1) // x == ?
• y=x%3 // y == ?
• x++ // x == ?
• y-- // y == ?
• y += x // y == ?
• -= *= /= %=
• Alguns operadores lógicos
• && e
• || ou
Professor Dr. Rallyson dos Santos Ferreira
18
Instituto de Ciências Exatas e Tecnologia de Itacoatiara (ICET)
" Disciplina Introdução a Programação II "
INTRODUÇÃO AO JAVA
Sintaxe Básica
• Operadores aritméticos
• x = 4*(2+5) / (3-1) // x == 14
• y=x%3 // y == 2
• x++ // x == 15
• y-- // y == 1
• y += x // y == 16
• -= *= /= %=
• Alguns operadores lógicos
• && e
• || ou
Professor Dr. Rallyson dos Santos Ferreira
19
Instituto de Ciências Exatas e Tecnologia de Itacoatiara (ICET)
" Disciplina Introdução a Programação II "
INTRODUÇÃO AO JAVA
Comando Condicional
if (expressão booleana)
bloco1;
else bloco2;
if (x >= 0)
x = 1;
else x = -1;
Professor Dr. Rallyson dos Santos Ferreira
20
Instituto de Ciências Exatas e Tecnologia de Itacoatiara (ICET)
" Disciplina Introdução a Programação II "
INTRODUÇÃO AO JAVA
Comando de Seleção
switch (expressão)
{ case valor1: bloco1;
break;
case valor2: bloco2;
break;
...
case valorN: blocoN;
break;
default: bloco N+1;
}
Professor Dr. Rallyson dos Santos Ferreira
21
Instituto de Ciências Exatas e Tecnologia de Itacoatiara (ICET)
" Disciplina Introdução a Programação II "
INTRODUÇÃO AO JAVA
Comando de Seleção (cont..)
switch (opcao)
{ case 0: msg = “Quero Coca-Cola”;
break;
case 1: msg = “Quero Guaraná”;
break;
case 2: msg = “Quero Soda”;
break;
default: msg = “Opção inválida”;
}
[Link](msg);
Professor Dr. Rallyson dos Santos Ferreira
22
Instituto de Ciências Exatas e Tecnologia de Itacoatiara (ICET)
" Disciplina Introdução a Programação II "
INTRODUÇÃO AO JAVA
Comando de Repetição
while (x>=0)
{ [Link](“Valor de x: ” + x);
x--;
}
do
{ x--;
[Link](“Valor de x: ” + x);
} while (x>0)
Professor Dr. Rallyson dos Santos Ferreira
23
Instituto de Ciências Exatas e Tecnologia de Itacoatiara (ICET)
" Disciplina Introdução a Programação II "
INTRODUÇÃO AO JAVA
Comando de Repetição (cont..)
for (x= -20; x<= 0; x++)
{
msg = “Valor de x” + x;
[Link](msg);
}
Professor Dr. Rallyson dos Santos Ferreira
24
Instituto de Ciências Exatas e Tecnologia de Itacoatiara (ICET)
" Disciplina Introdução a Programação II "
INTRODUÇÃO AO JAVA
Pacotes
Coleções de classes
java, javax, [Link]
subpacotes
nome completo de classes inclui pacote:
String ~ [Link]
Definindo pacotes:
package meu_pacote;
Usando pacotes:
import [Link].*;
Professor Dr. Rallyson dos Santos Ferreira
25
Instituto de Ciências Exatas e Tecnologia de Itacoatiara (ICET)
" Disciplina Introdução a Programação II "
INTRODUÇÃO AO JAVA
Alguns Pacotes
[Link]
[Link]
[Link]
[Link]
[Link]
[Link]
[Link]
Professor Dr. Rallyson dos Santos Ferreira
26
Instituto de Ciências Exatas e Tecnologia de Itacoatiara (ICET)
" Disciplina Introdução a Programação II "
INTRODUÇÃO AO JAVA
Estrutura de um arquivo .java
[package]
[import]
public class NomeArquivo
Professor Dr. Rallyson dos Santos Ferreira
27
Instituto de Ciências Exatas e Tecnologia de Itacoatiara (ICET)
" Disciplina Introdução a Programação II "
INTRODUÇÃO AO JAVA
Arrays (cont..)
Criação e inicialização:
listaDeInteiros = new int[10]; //valores default
listaDeInteiros = new int {1,2,3,4,5}; //tipo implícito (uso de
array anônimo)
listaDeInteiros = {1,2,3,4,5}; //tipo e tamanho implícitos
Point[] pontos {[Link](),
circulo2. getCenterPoint()}
//inicialização em tempo de execução
Professor Dr. Rallyson dos Santos Ferreira
28
Instituto de Ciências Exatas e Tecnologia de Itacoatiara (ICET)
" Disciplina Introdução a Programação II "
INTRODUÇÃO AO JAVA
[Link]
Vamos ao primeiro programa?!!!
Professor Dr. Rallyson dos Santos Ferreira
29
Instituto de Ciências Exatas e Tecnologia de Itacoatiara (ICET)
" Disciplina Introdução a Programação II "
INTRODUÇÃO AO JAVA
[Link]
Professor Dr. Rallyson dos Santos Ferreira
30
Instituto de Ciências Exatas e Tecnologia de Itacoatiara (ICET)
" Disciplina Introdução a Programação II "
INTRODUÇÃO AO JAVA
[Link]
package Teste;
public class PrimeiroPrograma {
public static void main(String[] args) {
[Link]("Hello World");
}
}
Professor Dr. Rallyson dos Santos Ferreira
31
Instituto de Ciências Exatas e Tecnologia de Itacoatiara (ICET)
" Disciplina Introdução a Programação II "
rallysonferreira@[Link]
Professor Dr. Rallyson dos Santos Ferreira
32
Instituto de Ciências Exatas e Tecnologia de Itacoatiara (ICET)