Вы находитесь на странице: 1из 67

Apresentação

Avaliação
Regulamento de Ensino
Fundamentos em Java
Estruturas de Controle em Java

Programação Orientada a Objetos

Fábio Bezerra
fabio.bezerra@ufra.edu.br

Instituto Ciberespacial
Universidade Federal Rural da Amazônia

Período 2019.1

Fábio Bezerra fabio.bezerra@ufra.edu.br POO


Apresentação
Avaliação
Regulamento de Ensino
Fundamentos em Java
Estruturas de Controle em Java

Agenda
1 Apresentação
2 Avaliação
3 Regulamento de Ensino
4 Fundamentos em Java
Tecnologia
Primeiros passos
Entrada e Saída
Variáveis e Tipos
Operadores e Expressões
5 Estruturas de Controle em Java
Estrutura de Seleção
Estrutura de Repetição

Fábio Bezerra fabio.bezerra@ufra.edu.br POO


Apresentação
Avaliação
Regulamento de Ensino
Fundamentos em Java
Estruturas de Controle em Java

Agenda
1 Apresentação
2 Avaliação
3 Regulamento de Ensino
4 Fundamentos em Java
Tecnologia
Primeiros passos
Entrada e Saída
Variáveis e Tipos
Operadores e Expressões
5 Estruturas de Controle em Java
Estrutura de Seleção
Estrutura de Repetição

Fábio Bezerra fabio.bezerra@ufra.edu.br POO


Apresentação
Avaliação
Regulamento de Ensino
Fundamentos em Java
Estruturas de Controle em Java

Ementa da Disciplina

Ementa
Classes e Objetos. Entrada e Saída. Recursão e Iteração.
Subclasse e Herança. Polimorfismo. Pacotes. Tratamento de
Exceção. Classes e Métodos Abstratos. Interfaces.
Associação Dinâmica. Arranjos. Applets e Interface Gráfica.
Entrada e Saída em Arquivos. Introdução às Estruturas de
Dados.

Fábio Bezerra fabio.bezerra@ufra.edu.br POO


Apresentação
Avaliação
Regulamento de Ensino
Fundamentos em Java
Estruturas de Controle em Java

Objetivo Geral da Disciplina

Geral
Capacitar o aluno a desenvolver programas computacionais
que utilizem o paradigma da Programação Orientada a Objetos
com a utilização da linguagem Java como plataforma de
desenvolvimento.

Fábio Bezerra fabio.bezerra@ufra.edu.br POO


Apresentação
Avaliação
Regulamento de Ensino
Fundamentos em Java
Estruturas de Controle em Java

Por que Java?

Projeto Pedagógico do Curso


Por ser uma linguagem moderna e bastante aceita no meio
acadêmico e profissional, Java pode servir de modelo canônico
para o aprendizado de outras linguagens que se façam
necessárias durante a vida profissional do discente.

Fábio Bezerra fabio.bezerra@ufra.edu.br POO


Apresentação
Avaliação
Regulamento de Ensino
Fundamentos em Java
Estruturas de Controle em Java

Por que Java?

Mais razões
Aprenda Java e programe em qualquer plataforma.
Comunidades. Grande número de frameworks. O Java não
roda somente Java. Desenvolva em qualquer sistema
operacional para qualquer sistema operacionala .
Mais opiniões emb e emc .
a
https://goo.gl/ocCTzY
b
https://goo.gl/Eo2eZV
c
https://goo.gl/WMb4aA

Fábio Bezerra fabio.bezerra@ufra.edu.br POO


Apresentação
Avaliação
Regulamento de Ensino
Fundamentos em Java
Estruturas de Controle em Java

Ranking RedMonk

Figura: Stackoverflow e GitHub - http://tiny.cc/74i14y

Fábio Bezerra fabio.bezerra@ufra.edu.br POO


Apresentação
Avaliação
Regulamento de Ensino
Fundamentos em Java
Estruturas de Controle em Java

TIOBE

Figura: Consultas em Máquinas de Buscas -


https://goo.gl/v2ld3Z

Fábio Bezerra fabio.bezerra@ufra.edu.br POO


Apresentação
Avaliação
Regulamento de Ensino
Fundamentos em Java
Estruturas de Controle em Java

Agenda
1 Apresentação
2 Avaliação
3 Regulamento de Ensino
4 Fundamentos em Java
Tecnologia
Primeiros passos
Entrada e Saída
Variáveis e Tipos
Operadores e Expressões
5 Estruturas de Controle em Java
Estrutura de Seleção
Estrutura de Repetição

Fábio Bezerra fabio.bezerra@ufra.edu.br POO


Apresentação
Avaliação
Regulamento de Ensino
Fundamentos em Java
Estruturas de Controle em Java

Visão Geral

NAP I
Vistos que serão coletados durante a aula.

NAP II
Vistos que serão coletados durante a aula e trabalho em
equipe.

Fábio Bezerra fabio.bezerra@ufra.edu.br POO


Apresentação
Avaliação
Regulamento de Ensino
Fundamentos em Java
Estruturas de Controle em Java

Avaliações 2019.1

NAP I: Exercícios em sala (Vistos).


NAP II: Exercícios em sala (Vistos) (50% da nota)
NAP II: Trabalho em equipe, de até quatro alunos (50% da
nota)
Obs. 1: As datas das avaliações serão divulgadas em
momento oportuno.
Obs. 2: A nota dos vistos é calculada a partir do número de
vistos obtidos, dividido pelo total de vistos aplicados,
multiplicado por 10.

Fábio Bezerra fabio.bezerra@ufra.edu.br POO


Apresentação
Avaliação
Regulamento de Ensino
Fundamentos em Java
Estruturas de Controle em Java

Agenda
1 Apresentação
2 Avaliação
3 Regulamento de Ensino
4 Fundamentos em Java
Tecnologia
Primeiros passos
Entrada e Saída
Variáveis e Tipos
Operadores e Expressões
5 Estruturas de Controle em Java
Estrutura de Seleção
Estrutura de Repetição

Fábio Bezerra fabio.bezerra@ufra.edu.br POO


Apresentação
Avaliação
Regulamento de Ensino
Fundamentos em Java
Estruturas de Controle em Java

Da Avaliação da Aprendizagem

Duas Notas de Avaliação Parcial (NAP I e NAP II)


Prova substitutiva (que substitui o menor NAP)
Aluno é considerado aprovado se
(NAPI + NAPII)/2 >= 6.0
Frequência >= 75%
Quando for caso, Nota da Avaliação Final (NAF)
Não tem direito a NAF se (NAPI + NAPII)/2 < 4.0
Será aprovado após o NAF se
(NAPI + NAPII)/2 + NAF >= 12.0

Fábio Bezerra fabio.bezerra@ufra.edu.br POO


Apresentação
Avaliação
Regulamento de Ensino
Fundamentos em Java
Estruturas de Controle em Java

Da Segunda Chamada

Previsto apenas para o


Alguns exemplos:
NAP
doenças
Protocolar pedido à infectocontagiosas;
coordenação de curso ter sido vítima
indicando involuntária de ação
Até dois dias úteis de terceiros;
Qual(is) disciplina(s) manobras ou
deseja realizar exercícios militares;
segunda chamada luto (pais, avós,
Justificativa filhos e netos, irmãos
comprovada (Ex: e tios, cônjuges);
atestado médico)

Fábio Bezerra fabio.bezerra@ufra.edu.br POO


Apresentação Tecnologia
Avaliação Primeiros passos
Regulamento de Ensino Entrada e Saída
Fundamentos em Java Variáveis e Tipos
Estruturas de Controle em Java Operadores e Expressões

Agenda
1 Apresentação
2 Avaliação
3 Regulamento de Ensino
4 Fundamentos em Java
Tecnologia
Primeiros passos
Entrada e Saída
Variáveis e Tipos
Operadores e Expressões
5 Estruturas de Controle em Java
Estrutura de Seleção
Estrutura de Repetição

Fábio Bezerra fabio.bezerra@ufra.edu.br POO


Apresentação Tecnologia
Avaliação Primeiros passos
Regulamento de Ensino Entrada e Saída
Fundamentos em Java Variáveis e Tipos
Estruturas de Controle em Java Operadores e Expressões

Tecnologia Java

Java
A tecnologia Java é tanto uma linguagem de programação de
computadores, como uma plataforma de software.

Fábio Bezerra fabio.bezerra@ufra.edu.br POO


Apresentação Tecnologia
Avaliação Primeiros passos
Regulamento de Ensino Entrada e Saída
Fundamentos em Java Variáveis e Tipos
Estruturas de Controle em Java Operadores e Expressões

Plataforma Java

Formada apenas de
software
Máquina virtual
(JVM)
API Java
Um ambiente de
hardware e software
que permite que
programas sejam
executados
Windows 2000, Linux,
Solaris, MacOS, etc.

Fábio Bezerra fabio.bezerra@ufra.edu.br POO


Apresentação Tecnologia
Avaliação Primeiros passos
Regulamento de Ensino Entrada e Saída
Fundamentos em Java Variáveis e Tipos
Estruturas de Controle em Java Operadores e Expressões

Plataforma Java

Fábio Bezerra fabio.bezerra@ufra.edu.br POO


Apresentação Tecnologia
Avaliação Primeiros passos
Regulamento de Ensino Entrada e Saída
Fundamentos em Java Variáveis e Tipos
Estruturas de Controle em Java Operadores e Expressões

Applet, Aplicação e Servlet

Applet
Programa que é executado em um browser que suporta Java.

Aplicação
Programa isolado que executa diretamente sobre a plataforma
Java. Não é executado no contexto de internet.

Servlet
Aplicação servidora, normalmente associado ao contexto da
internet (HttpServlet).

Fábio Bezerra fabio.bezerra@ufra.edu.br POO


Apresentação Tecnologia
Avaliação Primeiros passos
Regulamento de Ensino Entrada e Saída
Fundamentos em Java Variáveis e Tipos
Estruturas de Controle em Java Operadores e Expressões

O que é preciso para começar?

JDK - Java Development Kit


Configuração de algumas variáveis de ambiente
JAVA_HOME, deve apontar para o diretório base da
instalação do JDK
CLASSPATH, deve apontar para o diretório local e onde
está a API Java
PATH, deve incluir o diretório que contém os arquivos de
execução JDK
Um editor de texto

Fábio Bezerra fabio.bezerra@ufra.edu.br POO


Apresentação Tecnologia
Avaliação Primeiros passos
Regulamento de Ensino Entrada e Saída
Fundamentos em Java Variáveis e Tipos
Estruturas de Controle em Java Operadores e Expressões

Hello World Java!

Crie o arquivo com o código Java e extensão .java


Compile o arquivo com o comando javac <arquivo>.java
para gerar o <arquivo>.class
Execute o <arquivo>.class com o comando java <arquivo>

Fábio Bezerra fabio.bezerra@ufra.edu.br POO


Apresentação Tecnologia
Avaliação Primeiros passos
Regulamento de Ensino Entrada e Saída
Fundamentos em Java Variáveis e Tipos
Estruturas de Controle em Java Operadores e Expressões

Hello World Java!

/*
javac HelloWorldApp.java
java HelloWorldApp
*/
public class HelloWorldApp {
//Método principal
public static void main(String args[]) {
System.out.println("Hello World!");
}
}

Fábio Bezerra fabio.bezerra@ufra.edu.br POO


Apresentação Tecnologia
Avaliação Primeiros passos
Regulamento de Ensino Entrada e Saída
Fundamentos em Java Variáveis e Tipos
Estruturas de Controle em Java Operadores e Expressões

Hello World Java!

Método main é o ponto de entrada de execução das


classes
Assinatura própria
public static void main(String[] a)
Os arquivos fonte precisam terminar com a extensão .java
O nome do arquivo deve ser o mesmo da classe pública
que o arquivo define (Atenção para maiúsculas e
minúsculas)

Fábio Bezerra fabio.bezerra@ufra.edu.br POO


Apresentação Tecnologia
Avaliação Primeiros passos
Regulamento de Ensino Entrada e Saída
Fundamentos em Java Variáveis e Tipos
Estruturas de Controle em Java Operadores e Expressões

Hello World Java!

/*
javac HelloWorldApp2.java
java HelloWorldApp2 Fulano
*/
public class HelloWorldApp2 {
//Método principal
public static void main(String args[]) {
System.out.println("Hello World " + args[0]);
}
}

Fábio Bezerra fabio.bezerra@ufra.edu.br POO


Apresentação Tecnologia
Avaliação Primeiros passos
Regulamento de Ensino Entrada e Saída
Fundamentos em Java Variáveis e Tipos
Estruturas de Controle em Java Operadores e Expressões

Hello World Java!

/*
javac exemplo\HelloWorldApp3.java
java exemplo.HelloWorldApp3 Fulano
*/
package exemplo;
import java.util.Date;
public class HelloWorldApp3 {
//Método principal
public static void main(String args[]) {
System.out.println("Hello World " + new Date());
}
}

Fábio Bezerra fabio.bezerra@ufra.edu.br POO


Apresentação Tecnologia
Avaliação Primeiros passos
Regulamento de Ensino Entrada e Saída
Fundamentos em Java Variáveis e Tipos
Estruturas de Controle em Java Operadores e Expressões

NetBeans IDE
O NetBeans IDE é um ambiente de desenvolvimento
integrado gratuito e de código aberto para
desenvolvedores de software. O IDE é executado em
muitas plataformas, como Windows, Linux, Solaris e
MacOS. É fácil de instalar e usar.
O NetBeans IDE permite o desenvolvimento rápido e fácil
de aplicações desktop Java, móveis e Web e também
aplicações HTML5 com HTML, JavaScript e CSS. O IDE
também fornece um grande conjunto de ferramentas para
desenvolvedores de PHP e C/C++.
É uma IDE gratuita e tem código-fonte aberto, além de
uma grande comunidade de usuários e desenvolvedores
em todo o mundo.
Fábio Bezerra fabio.bezerra@ufra.edu.br POO
Apresentação Tecnologia
Avaliação Primeiros passos
Regulamento de Ensino Entrada e Saída
Fundamentos em Java Variáveis e Tipos
Estruturas de Controle em Java Operadores e Expressões

NetBeans IDE

Fábio Bezerra fabio.bezerra@ufra.edu.br POO


Apresentação Tecnologia
Avaliação Primeiros passos
Regulamento de Ensino Entrada e Saída
Fundamentos em Java Variáveis e Tipos
Estruturas de Controle em Java Operadores e Expressões

Exercício

Repetir o exemplo da classe HelloWorldApp.java, mas


usando o NetBeans IDE
Criar um projeto Java (Aplicação Java)
Criar classe
Repetir o exemplo da classe HelloWorldApp2.java, mas
usando o NetBeans IDE
No projeto criado, criar classe
Definir parâmetro de execução nas propriedades do projeto
Repetir o exemplo da classe HelloWorldApp3.java, mas
usando o NetBeans IDE
No projeto criado, criar pacote exemplo
No pacote criado, criar classe
Definir parâmetro de execução nas propriedades do projeto

Fábio Bezerra fabio.bezerra@ufra.edu.br POO


Apresentação Tecnologia
Avaliação Primeiros passos
Regulamento de Ensino Entrada e Saída
Fundamentos em Java Variáveis e Tipos
Estruturas de Controle em Java Operadores e Expressões

Entrada

Operações ou funções da linguagem para coletar dados


do usuário
A coleta de informações a partir da digitação de dados
pode ser via console ou formulário gráfico
Console através da classe java.util.Scanner
Formulário gráfico através da classe
javax.swing.JOptionPane
JOptionPane.showInputDialog(“Idade?”)

Fábio Bezerra fabio.bezerra@ufra.edu.br POO


Apresentação Tecnologia
Avaliação Primeiros passos
Regulamento de Ensino Entrada e Saída
Fundamentos em Java Variáveis e Tipos
Estruturas de Controle em Java Operadores e Expressões

Hello World Java!

import java.util.Scanner;

public class HelloWorldApp2Plus {


public static void main(String[] args) {
Scanner entrada = new Scanner(System.in);
System.out.print("Qual o seu nome? ");
String nome = entrada.nextLine();
System.out.println("Hello World " + nome);
}
}

Fábio Bezerra fabio.bezerra@ufra.edu.br POO


Apresentação Tecnologia
Avaliação Primeiros passos
Regulamento de Ensino Entrada e Saída
Fundamentos em Java Variáveis e Tipos
Estruturas de Controle em Java Operadores e Expressões

Saída

Operações ou funções da linguagem para apresentar


dados ao usuário
Também pode ser via console ou formulário gráfico
Console através da operação System.out.println ou
System.out.print
Formulário gráfico através da classe
javax.swing.JOptionPane
JOptionPane.showMessageDialog(null, “Hello World”)

Fábio Bezerra fabio.bezerra@ufra.edu.br POO


Apresentação Tecnologia
Avaliação Primeiros passos
Regulamento de Ensino Entrada e Saída
Fundamentos em Java Variáveis e Tipos
Estruturas de Controle em Java Operadores e Expressões

Hello World Java!

import javax.swing.JOptionPane;

public class HelloWorldApp2PlusPlus {


public static void main(String[] args) {
String n = JOptionPane.showInputDialog("Nome?");
JOptionPane.showMessageDialog(null,
"Hello " + n);
}
}

Fábio Bezerra fabio.bezerra@ufra.edu.br POO


Apresentação Tecnologia
Avaliação Primeiros passos
Regulamento de Ensino Entrada e Saída
Fundamentos em Java Variáveis e Tipos
Estruturas de Controle em Java Operadores e Expressões

Variáveis em Java

Aceitam caracteres unicode, iniciam com letra e não


podem ser palavras reservadas
Ex.: população a1 temp2
Como na linguagem C, diferenciam maiúsculas e
minúsculas
Ex.: soma Soma SOMA

Fábio Bezerra fabio.bezerra@ufra.edu.br POO


Apresentação Tecnologia
Avaliação Primeiros passos
Regulamento de Ensino Entrada e Saída
Fundamentos em Java Variáveis e Tipos
Estruturas de Controle em Java Operadores e Expressões

Tipos

O tipo da variável determina o valor que a variável pode


conter e o conjunto de operações que podem ser
realizados sobre a variável
Há duas caterias de tipo em Java
Primitivo: int, long, float, double, byte, short, boolean e
char
Objeto. Por exemplo: String, Date, etc.

Fábio Bezerra fabio.bezerra@ufra.edu.br POO


Apresentação Tecnologia
Avaliação Primeiros passos
Regulamento de Ensino Entrada e Saída
Fundamentos em Java Variáveis e Tipos
Estruturas de Controle em Java Operadores e Expressões

Declaração de Variáveis

Declaração sem inicialização


int soma, media;
Declaração com inicialização
String nome = “Fulano” , telefone = “91 3223 5555”;
Date hoje = new Date();

Fábio Bezerra fabio.bezerra@ufra.edu.br POO


Apresentação Tecnologia
Avaliação Primeiros passos
Regulamento de Ensino Entrada e Saída
Fundamentos em Java Variáveis e Tipos
Estruturas de Controle em Java Operadores e Expressões

Tipo Inteiro

São representados na notação de complemento de dois


O tipo char é inteiro mas não tem sinal
Indica um caracter em Unicode
O literal inteiro padrão é o int.
int alunos = 37;
No exemplo, 37 é um valor do tipo int
Para indicar um literal do tipo long adiciona-se o sufixo L
ou l. Ex.: 100L 20l (melhor utilizar L)

Fábio Bezerra fabio.bezerra@ufra.edu.br POO


Apresentação Tecnologia
Avaliação Primeiros passos
Regulamento de Ensino Entrada e Saída
Fundamentos em Java Variáveis e Tipos
Estruturas de Controle em Java Operadores e Expressões

Literais

É um valor especificado no programa fonte


Não é determinado em tempo de execução
Ex.: ’a’ 100 true 1.5
Podem ser
boolean: true false
char: ’b’ ’\u0041’ ’\n’ ’\t’ ’\\’
inteiro: 100 0144 0x64
ponto flutuante: 1.5 1.5E+0 1.5F 1.5D
double é o tipo ponto flutuante padrão

Fábio Bezerra fabio.bezerra@ufra.edu.br POO


Apresentação Tecnologia
Avaliação Primeiros passos
Regulamento de Ensino Entrada e Saída
Fundamentos em Java Variáveis e Tipos
Estruturas de Controle em Java Operadores e Expressões

Conversão de Tipos Primitivos

Implícita
A conversão de tipos é implícita quando ocorre entre um tipo
de menor tamanho para um tipo de maior tamanho.

Explícita
A conversão é explícita quando pode ocorrer perda de
precisão.

Fábio Bezerra fabio.bezerra@ufra.edu.br POO


Apresentação Tecnologia
Avaliação Primeiros passos
Regulamento de Ensino Entrada e Saída
Fundamentos em Java Variáveis e Tipos
Estruturas de Controle em Java Operadores e Expressões

Conversão de Tipos Primitivos

public static void main(String args[]) {


float parcela = 100.0F, valor;
double total = 10 * parcela; //Implícita
valor = (float) (total * 10); //Explícita
}

Fábio Bezerra fabio.bezerra@ufra.edu.br POO


Apresentação Tecnologia
Avaliação Primeiros passos
Regulamento de Ensino Entrada e Saída
Fundamentos em Java Variáveis e Tipos
Estruturas de Controle em Java Operadores e Expressões

Tipo Objeto

O tipo objeto indica uma referência a uma instância de


uma classe
Podem ser
Classes
Arrays
Interfaces

Fábio Bezerra fabio.bezerra@ufra.edu.br POO


Apresentação Tecnologia
Avaliação Primeiros passos
Regulamento de Ensino Entrada e Saída
Fundamentos em Java Variáveis e Tipos
Estruturas de Controle em Java Operadores e Expressões

Arrays

São objetos em Java que armazenam um conjunto de


valores ou objetos
O tamanho é definido no momento da instanciação
Elementos acessados pelo índice que inicia em 0 (zero)
Exemplos
int[] inteiros = {5, 4, 3, 2};
String[] palavras = new String[5];
double[][] matriz;
int valor = inteiros[2];
int tamanho = inteiros.length;
inteiros[3] = 100;

Fábio Bezerra fabio.bezerra@ufra.edu.br POO


Apresentação Tecnologia
Avaliação Primeiros passos
Regulamento de Ensino Entrada e Saída
Fundamentos em Java Variáveis e Tipos
Estruturas de Controle em Java Operadores e Expressões

Tipos de variáveis

Variáveis de instância (sem static)


Variáveis de classe ou campos (com static)
Parâmetros
Variáveis locais

Fábio Bezerra fabio.bezerra@ufra.edu.br POO


Apresentação Tecnologia
Avaliação Primeiros passos
Regulamento de Ensino Entrada e Saída
Fundamentos em Java Variáveis e Tipos
Estruturas de Controle em Java Operadores e Expressões

Tipos de Variáveis

public class PlacaDeRede {


private int mac;
private String ip;
private static int macSequence = 0;
public PlacaDeRede() {
mac = ++macSequence;
}
public void setIp(String ip) { this.ip = ip; }
public int getMac() { return mac; }
}

Fábio Bezerra fabio.bezerra@ufra.edu.br POO


Apresentação Tecnologia
Avaliação Primeiros passos
Regulamento de Ensino Entrada e Saída
Fundamentos em Java Variáveis e Tipos
Estruturas de Controle em Java Operadores e Expressões

Tipos de Variáveis

public class MainPlacaDeRede {


public static void main(String[] a) {
PlacaDeRede p1 = new PlacaDeRede();
System.out.println(p1.getMac());
PlacaDeRede p2 = new PlacaDeRede();
System.out.println(p2.getMac());
}
}

Fábio Bezerra fabio.bezerra@ufra.edu.br POO


Apresentação Tecnologia
Avaliação Primeiros passos
Regulamento de Ensino Entrada e Saída
Fundamentos em Java Variáveis e Tipos
Estruturas de Controle em Java Operadores e Expressões

Operadores Aritméticos

Binários
+ Adição c = a + b;
- Subtração c = a - b;
* Multiplicação c = a * b;
/ Divisão c = a / b;
% Resto da divisão c = a % b;

Fábio Bezerra fabio.bezerra@ufra.edu.br POO


Apresentação Tecnologia
Avaliação Primeiros passos
Regulamento de Ensino Entrada e Saída
Fundamentos em Java Variáveis e Tipos
Estruturas de Controle em Java Operadores e Expressões

Operadores Aritméticos

public class OperadoresAritmeticos {


public static void main(String[] args) {
int a = 10, b = 3, c = 0;
c = a + b; System.out.println(c);
c = a - b; System.out.println(c);
c = a * b; System.out.println(c);
c = a / b; System.out.println(c);
c = a % b; System.out.println(c);
}
}

Fábio Bezerra fabio.bezerra@ufra.edu.br POO


Apresentação Tecnologia
Avaliação Primeiros passos
Regulamento de Ensino Entrada e Saída
Fundamentos em Java Variáveis e Tipos
Estruturas de Controle em Java Operadores e Expressões

Operadores Aritméticos

Unários
++ Adição pós-fixado c = a++;
++ Adição pré-fixado c = ++a;
– Subtração pós-fixado c = a–;
– Subtração pré-fixado c = –a;

Fábio Bezerra fabio.bezerra@ufra.edu.br POO


Apresentação Tecnologia
Avaliação Primeiros passos
Regulamento de Ensino Entrada e Saída
Fundamentos em Java Variáveis e Tipos
Estruturas de Controle em Java Operadores e Expressões

Operadores Aritméticos

public class OperadoresAritmeticos2 {


public static void main(String[] args) {
int a = 10, c = 0;
c = a++; System.out.println(c);
c = ++a; System.out.println(c);
c = a--; System.out.println(c);
c = --a; System.out.println(c);
System.out.println("a:" + a);
}
}

Fábio Bezerra fabio.bezerra@ufra.edu.br POO


Apresentação Tecnologia
Avaliação Primeiros passos
Regulamento de Ensino Entrada e Saída
Fundamentos em Java Variáveis e Tipos
Estruturas de Controle em Java Operadores e Expressões

Operadores de Comparação

Binários
> Maior? r = a > b;
>= Maior ou igual? r = a >= b;
< Manor? r = a < b;
<= Menor ou igual? r = a <= b;
== Igual? r = a == b;
!= Diferente? r = a != b;

Fábio Bezerra fabio.bezerra@ufra.edu.br POO


Apresentação Tecnologia
Avaliação Primeiros passos
Regulamento de Ensino Entrada e Saída
Fundamentos em Java Variáveis e Tipos
Estruturas de Controle em Java Operadores e Expressões

Operadores Lógicos

Binários
& E (Conjunção) (a > b) & (b > c)
&& E (Conjunção, curto circuito) (a > b) && (b > c)
| Ou (Disjunção) (a > b) | (b > c)
|| Ou (Disjunção, curto circuito) (a > b) || (b > c)

Fábio Bezerra fabio.bezerra@ufra.edu.br POO


Apresentação Tecnologia
Avaliação Primeiros passos
Regulamento de Ensino Entrada e Saída
Fundamentos em Java Variáveis e Tipos
Estruturas de Controle em Java Operadores e Expressões

Operadores de Comparação

public class OperadoresComparacao {


public static void main(String[] args) {
int a = 10, b = 5;
boolean r;
r = a >= b; System.out.println(r);
r = a > b; System.out.println(r);
r = a < b; System.out.println(r);
r = a <= b; System.out.println(r);
}
}

Fábio Bezerra fabio.bezerra@ufra.edu.br POO


Apresentação
Avaliação
Estrutura de Seleção
Regulamento de Ensino
Estrutura de Repetição
Fundamentos em Java
Estruturas de Controle em Java

Agenda
1 Apresentação
2 Avaliação
3 Regulamento de Ensino
4 Fundamentos em Java
Tecnologia
Primeiros passos
Entrada e Saída
Variáveis e Tipos
Operadores e Expressões
5 Estruturas de Controle em Java
Estrutura de Seleção
Estrutura de Repetição

Fábio Bezerra fabio.bezerra@ufra.edu.br POO


Apresentação
Avaliação
Estrutura de Seleção
Regulamento de Ensino
Estrutura de Repetição
Fundamentos em Java
Estruturas de Controle em Java

Estrutura de Seleção

if
switch
Operador ternário
Ex.: (a > b?”Sim”:”Não”)

Fábio Bezerra fabio.bezerra@ufra.edu.br POO


Apresentação
Avaliação
Estrutura de Seleção
Regulamento de Ensino
Estrutura de Repetição
Fundamentos em Java
Estruturas de Controle em Java

Seleção com if

boolean teste = ...;


if (teste) {
System.out.println(‘‘Se’’);
}
System.out.println(‘‘Sempre’’);

Fábio Bezerra fabio.bezerra@ufra.edu.br POO


Apresentação
Avaliação
Estrutura de Seleção
Regulamento de Ensino
Estrutura de Repetição
Fundamentos em Java
Estruturas de Controle em Java

Seleção com if e else

boolean teste = ...;


if (teste) {
System.out.println(‘‘Se’’);
} else {
System.out.println(‘‘Senão’’);
}
System.out.println(‘‘Sempre’’);

Fábio Bezerra fabio.bezerra@ufra.edu.br POO


Apresentação
Avaliação
Estrutura de Seleção
Regulamento de Ensino
Estrutura de Repetição
Fundamentos em Java
Estruturas de Controle em Java

Encadeamento de if

boolean teste1 = ...;


boolean teste2 = ...;
boolean teste3 = ...;
if (teste1) {
System.out.println(‘‘Se’’);
} else if (teste2) {
System.out.println(‘‘Senão 1’’);
} else if (teste3) {
System.out.println(‘‘Senão 2’’);
} else {
System.out.println(‘‘Senão 3’’);
}
System.out.println(‘‘Sempre’’);
Fábio Bezerra fabio.bezerra@ufra.edu.br POO
Apresentação
Avaliação
Estrutura de Seleção
Regulamento de Ensino
Estrutura de Repetição
Fundamentos em Java
Estruturas de Controle em Java

Bloco switch

int opcao = ...;


switch (opcao) {
case 1:
System.out.println(‘‘1’’);
case 2:
System.out.println(‘‘2’’);
break;
case 3:
System.out.println(‘‘3’’);
break;
default:
System.out.println(‘‘Default!’’);
}
Fábio Bezerra fabio.bezerra@ufra.edu.br POO
Apresentação
Avaliação
Estrutura de Seleção
Regulamento de Ensino
Estrutura de Repetição
Fundamentos em Java
Estruturas de Controle em Java

Bloco switch

Alternativa elegante ao encadeamento de if


Mas é aplicável apenas quando o teste for com os tipos
byte, short, char e int
String
tipos Enum
Character, Byte, Short e Integer

Fábio Bezerra fabio.bezerra@ufra.edu.br POO


Apresentação
Avaliação
Estrutura de Seleção
Regulamento de Ensino
Estrutura de Repetição
Fundamentos em Java
Estruturas de Controle em Java

Operador Ternário - (? :)

Alternativa com teste if/else


(teste ? valor1 : valor2 )
Se teste é true resultado é valor1
Se teste é false resultado é valor2
valor1 e valor2 devem ser do mesmo tipo

boolean teste = ...;


int valor = (teste?100:200);
System.out.println(valor);

Fábio Bezerra fabio.bezerra@ufra.edu.br POO


Apresentação
Avaliação
Estrutura de Seleção
Regulamento de Ensino
Estrutura de Repetição
Fundamentos em Java
Estruturas de Controle em Java

Estrutura de Repetição

for
while
do while

Fábio Bezerra fabio.bezerra@ufra.edu.br POO


Apresentação
Avaliação
Estrutura de Seleção
Regulamento de Ensino
Estrutura de Repetição
Fundamentos em Java
Estruturas de Controle em Java

Repetição com for

Estrutura de repetição usada principalmente quando se


conhece o número de iterações
Formada por três elementos
Inicialização
Teste ou “condição de parada” da iteração
Passo da iteração

for(int i=1; i <= 10; i++) {


System.out.println(‘‘i = ’’ + i);
}

Fábio Bezerra fabio.bezerra@ufra.edu.br POO


Apresentação
Avaliação
Estrutura de Seleção
Regulamento de Ensino
Estrutura de Repetição
Fundamentos em Java
Estruturas de Controle em Java

Repetição com outro tipo de for

Conhecido como enhanced for


Recomendado para iterar listas (coleções e arrays)
Estrutura possui dois elementos
Declaração da variável que guarda cada iteração
Lista que será iterada

int[] primos = {1, 2, 3, 5, 7, 13, 17};


for(int primo : primos) {
System.out.println(‘‘primo = ’’ + );
}

Fábio Bezerra fabio.bezerra@ufra.edu.br POO


Apresentação
Avaliação
Estrutura de Seleção
Regulamento de Ensino
Estrutura de Repetição
Fundamentos em Java
Estruturas de Controle em Java

Repetição com while

Estrutura de repetição usada principalmente quando não


se conhece o número de iterações
Blocos de comandos será repetido enquanto a “condição
de parada” da iteração for true

boolean condicao = ...;


while (condicao) {
System.out.println(‘‘POO!’’);
condicao = ...;
}

Fábio Bezerra fabio.bezerra@ufra.edu.br POO


Apresentação
Avaliação
Estrutura de Seleção
Regulamento de Ensino
Estrutura de Repetição
Fundamentos em Java
Estruturas de Controle em Java

Repetição com do-while

Estrutura de repetição usada principalmente quando não


se conhece o número de iterações
Blocos de comandos será repetido enquanto a “condição
de parada” da iteração for true
Ao menos uma iteração será executada

boolean condicao = ...;


do {
System.out.println(‘‘POO!’’);
condicao = ...;
} while (condicao);

Fábio Bezerra fabio.bezerra@ufra.edu.br POO


Apresentação
Avaliação
Estrutura de Seleção
Regulamento de Ensino
Estrutura de Repetição
Fundamentos em Java
Estruturas de Controle em Java

Estrutura de Ramificação (ou Branching)

break Usado para finalizar um fluxo de controle das


estruturas switch, for, while e do ... while
continue Usado para provocar uma nova iteração do fluxo
de controle das estruturas for, while e do ... while
return Usado para sair do método corrente, podendo
retornar um valor ao sair do método

Fábio Bezerra fabio.bezerra@ufra.edu.br POO


Apresentação
Avaliação
Estrutura de Seleção
Regulamento de Ensino
Estrutura de Repetição
Fundamentos em Java
Estruturas de Controle em Java

Exemplo de branching

public static void main (String args[]) {


int soma = 0;
int valor = Integer.parseInt(args[0]);
if (valor <= 0) return;
for (int i=0; i<valor; i++) {
if (i == 10) break;
if (i < 5) continue;
soma++;
}
System.out.println(‘‘Soma: ’’ + soma);
}

Fábio Bezerra fabio.bezerra@ufra.edu.br POO

Вам также может понравиться