Buscar

Aula 01 - Apostila JAVA

Prévia do material em texto

FACULDADE PITÁGORAS - UNIDADE BETIM 
Curso: Ciência da Computação 
Disciplina: POO - Programação Orientada a Objetos 1 
Professor: Cristiano Martins Nunes 
Período letivo: 2018/2 
 
# Apostila – Linguagem JAVA 
 
01) O MÉTODO main( ) 
 
Um método é uma sequência de declarações e comandos executáveis encapsulados 
juntos como um miniprograma independente. Em outras linguagens de programação, métodos 
são chamados de funções, procedimentos, sub-rotinas e subprogramas. Logo um programa JAVA 
é uma classe com um método main(), com seguinte formato específico: 
 
public static void main(String[ ] args) { 
... 
} 
 
02) DECLARAÇÃO DE VARIÁVEL E ATRIBUIÇÃO DE VALOR 
 
Na linguagem de programação JAVA, cada variável possui um tipo e um valor. O tipo de 
uma variável determina como seu valor é armazenado na memória do computador. 
 
public static void main(String[ ] args) { 
 
 int year = 2018; 
 double salary = 1.500; 
} 
 
03) TIPOS DE DADOS NO JAVA 
 
Os tipos int e double são dois dos oito tipos primitivos que são definidos em JAVA. Os 
outros seis são long, short, char, byte, float e boolean. 
 
Tipos de dados Primitivos: 
 - Numéricos Inteiro { short, int, long } 
 - Numéricos em Ponto Flutuante { float, double } 
 - Caracteres { char } 
 - Binários { byte } 
 - Booleanos { boolean } 
 
Tipos de dados de Referência: 
 - Interfaces 
 - Classes 
 - Arrays 
 
04) COMENTÁRIOS 
 
Como toda linguagem de programação, você pode fazer comentários em seu código-fonte 
tornando assim uma forma de documentar os códigos deixados. 
 
// Variável de entrada 
 
/* Meu primeiro programa em JAVA */ 
 
/** 
 O método calculaNotaAluno( ) é responsável pelo cálculo 
 da nota final do aluno e o seu 
status final no semestre: aprovado, reprovado e exame final. 
*/ 
 
05) COMANDO DE CONTROLE 
 
O comando if permite execução condicional. O comando que é incluído dentro dele será 
executado somente se sua condição for verdadeira. 
 
 if ( condição ) comando; 
 
O comando if... else... é o comando if com uma cláusula else adicionada. Ele funciona do 
mesmo modo que o comando if exceto que quando uma condição é falsa, o comando dentro da 
cláusula else é executado. 
 
 if ( condição ) 
 { Comandos; } 
else 
 { Comandos; } 
 
O comando if... else... permite a execução condicional baseada em duas alternativas. Se 
você tem mais do que duas possíveis alternativas, você pode encadear uma sequência de 
comandos if... else if... else if... else if... else; 
 
 if ( condição1 ) Comando; 
 else if ( condição2 ) Comando; 
 else if ( condição3 ) Comando; 
 else Comando; 
 
A sintaxe de comando if e if... else... permite que quaisquer comandos sejam usados, seja 
em sua cláusula if, ou em sua cláusula else. Isto significa que podemos colocar outros comandos 
if ou if... else... dentro de um comando if ou em uma cláusula else. Isto é chamado de 
aninhamento de comandos dentro de outros comandos. 
 
 if ( condição1 ) { Comandos; } 
 else 
 if ( condição2 ) { Comandos; } 
 else 
 if ( condição3 ) { Comandos; } 
 else 
 if ( condição4 ) { Comandos; } 
 else 
 { Comandos; } 
 
06) COMANDO switch 
 
O comando switch é similar à combinação if... else if... para processar uma alternativa de 
um conjunto de alternativas. 
 
switch (opcao) { 
case 0 : Comando; break; 
case 1 : Comando; break; 
default: Comando } 
07) COMANDO DE ITERAÇÃO 
 
for ( inicialização; condição; incremento ){ 
Comando1; 
 Comando2; 
 Comando3; 
} 
 
while ( condição ) { 
Comando1; 
 Comando2; 
 Incremento; 
} 
 
do 
 Comando1; 
 Comando2; 
 incremento; 
 while ( condição ) 
 
08) OPERADORES MATEMÁTICOS 
 
( A + B ), ( A – B ), ( A * B ), ( A / B ), ( A % B ), A++, B-- 
 
09) OPERADORES MATEMÁTICOS DE ATRIBUIÇÃO 
 
( A += B), ( A-= B ), ( A*= B ), ( A /= B ), ( A%=B ) 
 
10) COMANDO SAÍDA DE DADOS 
 
 int year = 2018; 
 double notaFinal = 6.86; 
 
 // Saída de dados 
 System.out.print("Ano Letivo: " + year); 
 
 // Saída de dados 
 System.out.print("Notal Final: " + notaFinal); 
 
11) COMANDO DE ENTRADA DE DADOS 
 
 // Classe Scanner e Instância da Classe: 
 Scanner dadoEntrada = new Scanner(System.in); 
 
 // Variável Primitiva e Variável Referência 
 int n1; 
 String alunoNome; 
 
 // Entrada e Sde dados 
 System.out.print("-> Informe N1: "); 
 n1 = dadoEntrada.nextInt(); 
 
 System.out.print("-> Informe Nome: "); 
 alunoNome = dadoEntrada.next(); 
 
 
12) CLASSE String 
 
Um string é uma sequência/coleção de caracteres: palavras, frases e nomes são strings. O 
tipo mais simples de string em JAVA é um objeto da Classe String. Tais objetos são imutáveis; eles 
não podem ser alterados. 
 
String alfabeto = “ABCDEFGHIJKLMNOPQRSTUVWXZ” 
 
13) MÉTODOS DA CLASSE String 
 
String alfabeto = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"; 
 
System.out.println("This string is: " + alfabeto); 
System.out.println("Its length is: " + alfabeto.length()); 
 
System.out.println("The character at index 4 is: "+ alfabeto.charAt(4)); 
System.out.println("The index of the character Z is: " + alfabeto.indexOf('Z')); 
 
System.out.println("Its lower case version is: " + alfabeto.toLowerCase()); 
System.out.println("This string is still: " + alfabeto); 
 
 
14) SUBSTRING 
 
String alpha = "ABCDEFGHIJKLMNOP"; 
System.out.println("alpha: " + alpha); 
 
System.out.println("alpha.length(): " + alpha.length()); 
String sub = alpha.substring(2, 7); 
 
System.out.println("sub=alpha.substring(2, 7): " + sub); 
 
System.out.println("sub.length: " + sub.length()); 
System.out.println("sub.charAt(3): " + sub.charAt(3)); 
System.out.println("alpha.charAt(3): " + alpha.charAt(3)); 
 
sub = alpha.substring(4); 
System.out.println("sub=alpha.substring(4): " + sub); 
 
System.out.println("sub.length: " + sub.length()); 
System.out.println("sub.charAt(4): " + sub.charAt(4)); 
 
 
15) CONCATENAÇÃO 
 
 String first = "Cristiano"; 
 String last = "Nunes"; 
 
 System.out.println(last + ", " + first); 
 String name = first + " " + last; 
 
 System.out.println("name: " + name); 
 name = "Professor"; 
 
 System.out.println("name: " + name); 
 name += " FAP BETIM"; 
 
 System.out.println("name: " + name); 
 
 
16) PESQUISANDO UM STRING 
 
 String str = "This is the Mississippi River."; 
 System.out.println(str); 
 
 int i = str.indexOf('s'); 
 System.out.println("The first index of 's' is " + i); 
 
 i = str.indexOf('s', i+1); 
 System.out.println("The next index of 's' is " + i); 
 
 i = str.indexOf('s', i+1); 
 System.out.println("The next index of 's' is " + i); 
 
 i = str.lastIndexOf('s'); 
 System.out.println("The last index of 's' is " + i); 
 
 System.out.println(str.substring(i)); 
 
17) SUBSTITUINDO UM STRING 
 
String primeiroNome = "Cristiano"; 
System.out.println("Replace Primeiro Nome: " + primeiroNome.replace('i', 'X') ); 
 
18) BRINCANDO COM O JAVA – QUAL O RESULTADO GERADO? 
 
 String[] listaA = { "gato", "cachorro", "galinha", "piriquito", "porquinho da india" }; 
 String[] listaB = { "eu tenho", "eu quero", "eu tinha" }; 
 String[] listaC = { "eu amo", "eu odeio", "eu adoro" }; 
 
 int tamanhoA = listaA.length; 
 int tamanhoB = listaB.length; 
 int tamanhoC = listaC.length; 
 
 int randNumeroA = (int) (Math.random() * tamanhoA);int randNumeroB = (int) (Math.random() * tamanhoB); 
 int randNumeroC = (int) (Math.random() * tamanhoC); 
 
 String frase = listaA[randNumeroA] +" "+ listaB[randNumeroB] +" "+ listaC[randNumeroC]; 
 System.out.println("Frase: " + frase); 
 
 
 
 
 
 
 
19) MÉTODOS SIMPES I: 
 
public class TestCube { 
public static void main(String[] args) { 
for (int i = 0; i < 6; i++) 
 System.out.println(i + "\t" + cube(i)); 
} 
 static int cube(int n) { 
 return n*n*n; } 
} 
 
20) MÉTODOS SIMPES II: 
 
import java.util.Random; 
 
public class TestMin { 
public static void main(String[] args) { 
Random random = new Random(); 
 for (int i = 0; i < 5; i++) { 
 int m = random.nextInt(100); 
int n = random.nextInt(100); 
int y = min(m, n); 
System.out.println("min(" + m + ", " + n + ") = " + y); } 
} 
 static int min(int x, int y) { 
if (x < y) return x; 
 else return y; } 
} 
21) MÉTODOS BOOLEANOS: 
 
import java.util.Random; 
 
public class TestIsPrime { 
public static void main(String[] args) { 
for (int i = 0; i < 100; i++) 
if (isPrime(i)) System.out.print(i + " "); 
System.out.println(); 
} 
 
static boolean isPrime(int n) { 
if (n < 2) return false; 
if (n == 2) return true; 
if (n%2 == 0) return false; 
for (int d = 3; d <= Math.sqrt(n); d += 2) 
if (n%d == 0) return false; 
return true; } 
} 
 
22) SOBRECARGA DE MÉTODOS: 
import java.util.Random; 
public class TestMax { 
public static void main(String[] args) { 
Random random = new Random(); 
for (int i = 0; i < 4; i++) { 
 int a = random.nextInt(100); 
 int b = random.nextInt(100); 
 int c = random.nextInt(100); 
 System.out.println("max(" + a + "," + b + "," + c + ") = " + max(a, b, c)); 
} 
 } 
static int max(int m, int n) { 
if (m > n) return m; 
 return n;} 
 
static int max(int n1, int n2, int n3) { 
 return max( max(n1, n2), n3); 
} 
} 
 
23) CLASSES E OBJETOS: 
 
Java é uma linguagem de programação orientada a objetos (POO). Seus programas são 
organizados por meio de classes, as quais especificam o comportamento de objetos que 
controlam as ações do programa. Cada objeto é uma instância de alguma classe, que atua como 
um descritor para as instâncias. A classe possui três espécies de membros: 
 
• Campos/Atributos que especificam a espécie de dados armazenados. 
• Métodos que especificam as operações que os objetos podem executar. 
• Construtores que especificam como os objetos devem ser criados. 
 
public class Point { 
private int x, y; 
 
 public Point(int x, int y) { 
 this.x = x; 
 this.y = y; 
 } 
 
 public boolean equals(Point p) { 
 return (x == p.x && y == p.y); 
 } 
 
 
 public int getX() { 
 return x; } 
 
 public int getY() { 
 return y; } 
 
 public String toString() { 
 return new String("(" + (float)x + ", " + (float)y + ")"); } } 
 
24) ARRAYS INTEIROS: 
 
Um array é um objeto que consiste de uma sequência de elementos números que 
possuem o mesmo tipo geral. Os elementos são numerados a partir da posição de 0 e podem ser 
referenciados pelo seu número, usando operador de subscrito[ ]. Arrays são largamente usados 
devido à sua eficiência. 
 
 // Declaração de Array A: 
 int[] vetorA = new int[10]; 
 
 // Declaração de Array B: 
 int vetorB[] = {1,2,3,4,5}; 
 
 // Função length: 
 int tamanho1 = vetorA.length; 
 int tamanho2 = vetorB.length; 
 
 System.out.println("Tamanho do VetorA: " + tamanho1); 
 System.out.println("Tamanho do VetorB: " + tamanho2); 
 
25) ARRAYS BIDIMENSIONAL: 
 
 // Declaração de Array 
 int matriz[][] = new int[2][2]; 
 
 // Atribuição de Valores no Array 
 int matriz2[][] = {{10, 20}, {30, 40}}; 
 
 // Acessando Array 
 for (int linha = 0; linha < 2; linha++) { 
 for (int coluna = 0; coluna < 2; coluna++) { 
 matriz[linha][coluna] = (1 * coluna); 
 System.out.printf("\t %d \t", matriz[linha][coluna]); 
 } 
 System.out.println(); 
 } 
 
 // Acessando Array 
 for (int linha = 0; linha < 2; linha++) { 
 for (int coluna = 0; coluna < 2; coluna++) { 
 System.out.printf("\t %d \t", matriz2[linha][coluna]); 
 } 
 System.out.println(); 
26) ARRAYS DE STRINGS E OUTROS OBJETOS: 
 
• double[ ] vetor = { 2.33, 4.123, 1.1441 }; 
• char[ ] string = { ‘A’, ‘c’, ‘X’, ‘F’, ‘v’ }; 
• Object[ ] objetos = { x, y, z} 
 
 Object[] x = new Object[5]; 
 
 x[0] = new java.util.Date(); 
 x[1] = "CRISTIANO"; 
 x[2] = new java.util.Random(); 
 x[3] = new int[] {22,33,44}; 
 print(x); 
 
 private static void print(Object[] x) { 
 for(int i = 0; i<x.length; i++) 
 { 
 System.out.println(i+". "+ x[i]); 
 System.out.println( ); 
 } 
 
 
27) ARRAYS DE REFERÊNCIA: 
 
public class Cliente { 
 
 int codigo; 
 String nome; 
 String sobrenome; 
 
} 
 
public class Programa { 
 
 public static void main(String[] args){ 
 
 // Criação Objeto do Tipo Array: 
 Cliente[] vetorCliente; 
 
 // Instanciação da Classe Cliente: 
 vetorCliente = new Cliente[10]; 
 
 // Instanciação da Classe Scanner: 
 Scanner dadoEntrada = new Scanner(System.in); 
 
 // Variáveis Primitivas: 
 int opcao; 
 int indiceVetor = 0; 
 
 // Menu principal: 
 do{ 
 System.out.println("--------------------"); 
 System.out.println("Cadastro de Cliente"); 
 System.out.println("--------------------"); 
 System.out.println("[1] - Inserir"); 
 System.out.println("[2] - Listar"); 
 System.out.println("[3] - Localizar"); 
 System.out.println("[4] - Exportar Arquivo"); 
 System.out.println("[5] - Sair"); 
 System.out.println("--------------------"); 
 System.out.print("Informe Opcao: "); 
 opcao = dadoEntrada.nextInt(); 
 System.out.println("--------------------"); 
 
 // Estrutura Switch: 
 switch(opcao){ 
 case 1: { 
 vetorCliente[indiceVetor] = new Cliente(); 
 
 System.out.print("Informe o Código: "); 
 vetorCliente[indiceVetor].codigo = dadoEntrada.nextInt(); 
 
 System.out.print("Informe o Primeiro Nome: "); 
 vetorCliente[indiceVetor].nome = dadoEntrada.next(); 
 
 System.out.print("Informe o Sobrenome Nome: "); 
 vetorCliente[indiceVetor].sobrenome = dadoEntrada.next(); 
 
 indiceVetor++; 
 break; } 
 } 
 } while(opcao != 5); 
 } 
} 
 
 
28) CLASSE RANDOM: 
 
Random numeroRandom = new Random(); 
 int n = numeroRandom.nextInt(); 
 
 System.out.println("numeroRandom:" + n); 
 
 if (n < 0) 
 System.out.println("(-) Número Negativo."); 
 else 
 System.out.println("(+) Número Positivo."); 
 
 
 
 
 
29) ESCRITA DE ARQUIVO: 
 
import java.io.FileWriter; // Saída baseada em caracteres para um arquivo. 
import java.io.IOException; // Tratamento de exceções. 
import java.io.PrintWriter; // Saída/Gravação de dados. 
import java.util.Scanner; // Entrada de dados. 
 
 public static void main(String[] args) throws IOException{ 
 
 // Objeto Scanner: 
 Scanner entradaDado = new Scanner(System.in); 
 
 // Variáveis primitivas: 
 int indice, valor; 
 
 // Entrada de dados: 
 System.out.print("Informe um Número: "); 
 valor = entradaDado.nextInt(); 
 
 // Objeto FileWriter: 
 FileWriter arqExp = new FileWriter("c:/arqExp.txt"); 
 
 // Objeto FileWriter 
 PrintWriter escreveArq = new PrintWriter(arqExp); 
 
 // Método: 
 escreveArq.println("-> Abertura do Arquivo <- "); 
 
 // Populando arquivo txt: 
 for(indice = 0; indice <= valor; indice++) { 
 escreveArq.println( "Valor: "+ indice); 
 } 
 
 // Método: 
 escreveArq.println("<- Fechamento do Arquivo -> "); 
 
 // Fechando o arquivo: 
 arqExp.close(); 
 System.out.println("-> Arquivo Exportado c/Sucesso!!! Local: c:/arqExp.txt"); 
 } 
} 
 
30) LEITURA DE ARQUIVO: 
 
 
import java.io.BufferedReader; // Fluxo de entrada de dados baseado em carecteres. 
import java.io.FileReader; // Para entrada de dados baseada em caracteres. 
import java.io.IOException; // Tratamento de exceções. 
import java.util.Scanner; // Entrada de dados. 
 
 
 // Objeto Scanner: 
 Scanner entradaDado = new Scanner(System.in); 
 
 // Entrada de dados: 
 System.out.print("-> Informe Caminho e o Nome do Arquivo: "); 
 String nomeArq = entradaDado.nextLine(); 
 
 // Saída de dados: 
 System.out.println("-> Conteúdo do arquivo texto: " ); 
 
 // Tratamento de exceções: 
 try { 
 // Objeto FileReader: 
 FileReader arqImp = new FileReader(nomeArq); 
 BufferedReader leituraArq = new BufferedReader(arqImp); 
 String linha = leituraArq.readLine(); 
 
 // Lendo linha a linha: 
 while(linha != null) { 
 System.out.printf("%s\n", linha); 
 linha = leituraArq.readLine();} 
 arqImp.close(); 
 
 }catch (IOException msgErro) { 
 System.err.print("Erro na abertura do arquivo: " + msgErro.getMessage()+"\n\n"); 
 }

Continue navegando