Professor Jason Sobreiro
Universidade Positivo Java
01
Desenvolvimento de Software
Material de Apoio 01
Tipos Básico da Linguagem Java
Representação/
portugol Java
armazenamento
inteiros (Z) inteiro byte 8 bits
short 16 bits
int 32 bits
long 64 bits
real (R) ponto flutuante float 32 bits
double 64 bits
caracter (letras) caracter char 16 bits
lógico (V ou F) lógico boolean 16 bits
Exemplo de Criação de Variáveis
int a; // variável a, do tipo int, não possui valor
int b = 10; // variável b, do tipo int, possui valor 10
double c = 5.7; // variável c, do tipo double, possui valor 5.7
float d = 3.4f; // variável d, do tipo float, possui o valor 3.4
c = b; // variável c, do tipo double, possui o valor 10.0
a = (int) d; // variável a, do tipo int, possui o valor 3
char e = ‘E’; // variável e, do tipo char, possui o valor ‘E’
boolean f = true; // variável f, do tipo boolean, possui o valor true (verdadeiro)
Operadores
Aritméticos
+ a = 10 + 5 += a += b → a=a+b
- a = 10 – 5 -= a -= b → a=a-b
* a = 10 * 5 *= a *= b → a=a*b
/ a = 10 / 5 /= a /= b → a=a/b
% a = 10 % 5 %= a %= b → a=a%b
++ a++ → a = a + 1
-- a-- → a = a - 1
Relacionais
== teste de igualdade (diferente de “=” atribuição)
!= diferente
> maior
< menor
>= maior ou igual
<= menor ou igual
Professor Jason Sobreiro
Lógicos
&& AND Os operadores && e || são avaliados segundo o cálculo mais rápido. Ou
|| OR seja, quando se tem uma expressão como (A && B), se o valor de A for
! NOT falso, o valor da expressão B não é calculado.
Estruturas de Controle
Estruturas de Seleção
if ( condição){ if (condição){ switch(variável){
comando; comando; case valor1: comando;
} else if (condição){ break;
comando; case valor2: comando;
} break;
if (condição){ case valor3: comando;
comando; break;
} else{ default: comando;
comando; }
}
Enunciado: if/else Enunciado: switch/case
Em uma classe qualquer, elabore um método Em uma classe qualquer, elabore um método estático
estático que receba dois valores e retorne que receba 3 valores inteiros (o primeiro indica a
verdadeiro caso o primeiro valor seja maior operação e os outros os operandos) e retorne o cálculo
que o segundo; ou retorne falso, caso da operação. Assumir para o operador os valores: 1
contrário. para soma, 2 para subtração, 3 para multiplicação e 4
Nesta mesma classe, faça uma chamada ao para divisão.
método desenvolvido e apresente o No método main, faça uma chamada ao método
resultado na tela. desenvolvido e apresente o resultado na tela.
// arquivo: MaiorMenor.java // arquivo: Operacoes.java
public class MaiorMenor{ public class Operacoes{
public static boolean maior(int a, int b){ public static double operacao(int op, int n1, int n2){
if (a > b){ double resultado;
return true; switch(op){
} else { case 1: resultado = n1 + n2;
return false; break;
} case 2: resultado = n1 – n2;
} break;
case 3: resultado = n1 * n2;
public static void main(String[] args){ break;
boolean m = maior(7,9); case 4: resultado = n1 / n2;
System.out.println(“É maior: ” + m); break;
} default: resultado = 0;
} }
return resultado;
}
public static void main(String[] args){
double r = operacao(3, 10, 2);
System.out.println(“Resultado: ” + r);
}
}
Professor Jason Sobreiro
Estruturas de Repetição
while (condição){ public class Imprime{
comandos; public static void impWhile(int n){
} int x = 1;
while (x <= n){
do{ System.out.println(x);
comandos; x++;
} while (condição); }
for(inicialização ; condição ; incremento){ }
comandos; public static void impDoWhile(int n){
} int x = 1;
do{
for(elemento : coleção){ System.out.println(x);
comandos; x++;
} } while (x <= n);
}
public static void impFor(int n ){
for (int i = 1; i <= n; i++){
Enunciado: while, do/while, for System.out.println( i );
Elabore três métodos que recebam como }
parâmetro de entrada um valor inteiro n }
apresentem na tela os números de 1 a n.
Em cada método, utilize uma estrutura de public static void main(String[] args){
repetição diferente. impWhile(5);
impDoWhile(10);
No método main, faça chamadas aos três impFor(25);
métodos desenvolvidos. }
}
Arrays
A contagem dos índices começa sempre em 0.
Arrays unidimensionais (vetores)
Criação por tamanho: Acesso aos elementos:
- vetor de 50 posições de inteiros. - recuperar valor do índice 5
int[] vet1 = new int[50]; int a = vet1[5];
Criação por conteúdo:
- vetor com os elementos 6.7, 9.1, 8.3 - alterar valor do índice 2
double[] vet2 = {6.7, 9.1, 8.3}; vet2[2] = 5.4;
Captura do tamanho de um vetor:
int numElementos = vet1.length;
Arrays multidimensionais (matrizes)
Professor Jason Sobreiro
Criação por tamanho: Acesso aos elementos:
- matriz de 50x30 posições de inteiros. - recuperar valor da linha 5, coluna 23
int[][] mat1 = new int[50][30]; int a = mat1[5][23];
Criação por conteúdo:
- matriz com 6.7, 9.1, 8.3 na primeira - alterar o valor da linha 1, coluna 2
linha e 5.4, 3.2, 7.0 na segunda linha mat2[1][2] = 8.0;
double[][] mat2 = {{6.7, 9.1, 8.3},
{5.4, 3,2, 7,0}};
Captura do tamanho de uma matriz:
int numLinhas = mat1.length;
int numColunas = mat1[0].length;
Criação Acesso
tipo[] nomeVetor = new tipo[tamanho]; tipo var1 = nomeVetor[índice];
tipo[] nomeVetor = {valor1, valor2, valor3}; nomeVetor[indice] = valor1
nº de elementos: nomeVetor.length
tipo[][] nomeMatriz = new tipo[linhas][colunas]
tipo[][] nomeMatriz = {{valor1, valor2}, tipo var2 = nomeMatriz[linha][coluna];
{valor3, valor4}}; nomeMatriz[linha][coluna] = valor2
nº de linhas: nomeMatriz.length
nº de colunas: nomeMatriz[0].length
Enunciado: vetores Enunciado: matrizes
Elabore dois métodos para apresentar na tela todo o Elabore dois métodos para apresentar na tela
conteúdo de um vetor de qualquer tamanho, todo o conteúdo de uma matriz de qualquer
utilizando os dois modelos da performativa for. dimensão, utilizando os dois modelos da
performativa for
No método main, faça as chamadas aos métodos
desenvolvidos. No método main, faça as chamadas aos
métodos desenvolvidos.
public class Vetores{ public class Matrizes{
public static void mostraVetor1(int[] vetor){ public static void mostraMatriz1(int[][] matriz){
for (int i = 0; i < vetor.length; i++){ for (int i = 0; i < matriz.length; i++){
System.out.println(vetor[i]); for (int j = 0; j < matriz[0].length; j++){
} System.out.println(matriz[i][j]);
} }
public static void mostraVetor2(int[] vetor){ }
for (int elemento : vetor){ }
System.out.println(elemento); public static void mostraMatriz2(int[][] matriz){
} for (int[] linha : matriz){
} for (int elemento : linha){
System.out.println(elemento);
public static void main(String[] args){ }
int vetor = {6, 5, 3, 8, 2, 9, 0, 1}; }
mostraVetor1(vetor); }
mostraVetor2(vetor); public static void main(String[] args){
int[][] matriz = {{3,2,1,6}, {8,6,0,9}, {3,1,6,7}}; int[][] matriz = {{3,2,1,6}, {8,6,0,9}, {3,1,6,7}};
mostraMatriz(matriz); mostraMatriz1(matriz);
} mostraMatriz2(matriz);
} }
}
Professor Jason Sobreiro
Declarações
Classes
- o nome deve sempre iniciar com letra maiúscula
- obrigatoriamente, o nome da classe e o nome do arquivo .java devem ser idênticos
- normalmente, codifica-se uma única classe dentro de um arquivo
public class NomeDaClasse{
…
}
Métodos
- o nome deve iniciar com letra minúscula.
- se não houver retorno, usa-se o termo void
- devem sempre ser codificados dentro de uma classe
Assinatura de um método:
<>: indica que é opcional
public <static> tipo_de_retorno nome_do_método (<tipo param1, tipo param2, ..., tipo paramn>)
Exemplos: public static void main(String[] args)
public static int calculaIdade(int ano)
public void setNome(String nome)
public double calculaIMC(double altura, double peso)
Estrutura básica de uma classe Java
pacote
lista de imports
início da classe
definição de atributos
definição de métodos
fim da classe
Exemplo: classe Console que cria métodos estáticos para efetuar a leitura de Strings e
inteiros do teclado. Esta classe é definida no pacote util e importa todas as classes do pacote
java.io.
package util;
import java.io.*;
public class Console{
// método que lê uma String do teclado
public static String leString(){
BufferedReader teclado= new BufferedReader (new InputStreamReader (System.in));
try{
return teclado.readLine();
} catch (IOException e){
System.out.println(e.getMessage ());
Professor Jason Sobreiro
}
return null;
}
// método que mostra uma mensagem na tela e lê uma String do teclado.
// caso a String seja nula ou em branco, repete a amostragem e a leitura.
public static String leString (String txt){
String str="";
while (true){
System.out.print(txt);
str=leString();
if (str!=null && !str.trim().equals(""))
return str.trim();
}
}
// método que lê um int do teclado
public static int leInt(){
return Integer.parseInt (leString());
}
// método que mostra uma mensagem na tela e lê um int do teclado.
// caso o valor digitado não seja um número, repete a amostragem e a leitura
public static int leInt(String txt){
while (true){
try{
System.out.print(txt);
return leInt();
}catch (NumberFormatException e){
System.out.println("Numero Invalido");
}
}
}
}