0% acharam este documento útil (0 voto)
9 visualizações

Java

O documento fornece uma visão abrangente sobre a linguagem de programação Java, abordando conceitos fundamentais como tipos de dados, variáveis, métodos, estruturas de controle, arrays, classes e objetos, além de princípios de orientação a objetos como herança, polimorfismo e encapsulamento. Também discute a diferença entre dados primitivos e não primitivos, a utilização de scanners para entrada de dados e a criação de métodos e construtores. Por fim, destaca a importância das classes abstratas e interfaces na estruturação do código.

Enviado por

Gabriel Cunha
Direitos autorais
© © All Rights Reserved
Formatos disponíveis
Baixe no formato ODT, PDF, TXT ou leia on-line no Scribd
0% acharam este documento útil (0 voto)
9 visualizações

Java

O documento fornece uma visão abrangente sobre a linguagem de programação Java, abordando conceitos fundamentais como tipos de dados, variáveis, métodos, estruturas de controle, arrays, classes e objetos, além de princípios de orientação a objetos como herança, polimorfismo e encapsulamento. Também discute a diferença entre dados primitivos e não primitivos, a utilização de scanners para entrada de dados e a criação de métodos e construtores. Por fim, destaca a importância das classes abstratas e interfaces na estruturação do código.

Enviado por

Gabriel Cunha
Direitos autorais
© © All Rights Reserved
Formatos disponíveis
Baixe no formato ODT, PDF, TXT ou leia on-line no Scribd
Você está na página 1/ 15

JAVA

É uma Linguagem Tipada: é necessário informar o tipo de variável


antes de declará-la
→Esse tipo de linguagem evita problemas de compatibilidade

Variável: espaço de memória que armazena dados e valores


→Valores podem ser várias coisas como palavras, números,
true/false dentre outros

Packages: subcompartimentos da repartição maior

Javaclass: molde para criar os códigos em Java

Boilerplate: receita de bolo criada pelo Java quando se inicia um


projeto, existem infinitos

Declaração: para iniciar a programar é necessário declarar o que


faremos
→Atalho InteliJ: psvm

Tipos de Dados

Dados Primitivos: são dados que de maneira geral não recebem


métodos de maneira padrão (imutáveis)
→Principais:
-int: Números inteiros (até 2147483647)
-long: Números inteiros maiores que um int
-float: Números de ponto flutuante de precisão simples
-double: Números de ponto flutuante de precisão dupla
-char: Um único caractere
-boolean: Valores verdadeiros (true) ou falsos (false)
-byte: Números inteiros pequenos
-short: Números inteiros menores que um int
Dados Não Primitivos: são dados em que se pode colocar métodos
para realizar alterações sem que seja mudado seu escopo
→Principais:
-String: Guardar nomes
-array: Lista de nomes
-class: Declara o tipo de classe que pertence

Métodos: são características que colocamos dentro das variáveis


não primitivas
→Quando adicionado um método para imprimir para o usuário é
necessário criar uma variável diferente
Ex:
String nome = “Gabriel”;
String nomeUpperCase = nome.toUpperCase();
System.out.println(nomeUpperCase);

*.toUpperCase(); → Deixa tudo maiúsculo


*.toLowerCase(); → Deixa tudo minúsculo

Condições
São etapas que necessitam ser completadas para algo acontecer

if: se cumpre a condição faça isso

if(condição) {
resultado;
}

else if: se não cumpre a condição anterior, mas cumpre essa, faça
isso

else if(condição) {
resultado;
}
else: se não cumpre nenhuma condição faça isso

else{
resultado;
}

Scanner
São compartimentos onde podemos colocar espaços para que o
usuário nos forneça dados
→Um único scanner pode trabalhar com diferentes tipos de dados

Scanner nomeDoScanner = new Scanner(System.in);

-new Scanner: cria um novo scanner


-System.in: informa que será colocado dados dentro do scanner

→Quando se abre um scanner é necessário fechá-lo


nomeDoScanner.close();

Métodos no Scanner: determina o tipo de dado que o usuário


fornecerá por meio do Scanner

String nomeDoScanner.nextLine();
int nomeDoScanner.nextInt();
float nomeDoScanner.nextFloat();
byte nomeDoScanner.nextByte();
long nomeDoScanner.nextLong();
boolean nomeDoScanner.nextBoolean();
double nomeDoScanner.nextDouble();

Switch Cases
Determina condições específicas para algo acontecer
switch(motivador){
case 1:

break;
case 2:

break;
default:

break;
}

-case: delimita os casos


-break: encerra a aplicação se for true
-default: caso padrão caso o input do usuário não esteja nos cases

Ternários
Função que pode ser repetida infinitas vezes enquanto atinja o
critério estabelecido

while: enquanto

while (condição) {
tudo aqui vai acontecer
}

for: para
for (int i = 0; i < X; i++) {
tudo aqui vai acontecer
}

-int i: define um int denominado i


-i < x: define até que número vai ser ativo
i++: define que a cada execução será adicionado 1 em i
Arrays
São utilizadas para agrupar uma coleção de informações

→É necessário declarar o tipo de Array


→Array é do tipo de dado não primitivo (referência)
→Ao se iniciar um array é necessário declarar a quantidade de
espaço de memória que terá
→Index: é o nome da ordem, começa a se contar do 0 (0, 1, 2, …)

Criar Array

tipoDeVariável[ ] nomeDoArray = new String[Quantidade de


memória]

Inserir Dado

nomeDoArray[index] = “dado”;

Mostrar ao Usuário

System.out.println(nomeDoArray[index]);

Array X Lista
Array
→Tipo definido
→Tamanho fixo
→Precisa ser modificado para ter mais memória

Lista
→Tamanho flexível
→Se expande ao necessitar de mais memória
Alocamento de memória
Quando um String é declarado ele terá um espaço de memória
(referência) diferente alocado. Cada String ter uma referência
gasta muita memória

String primeira; →Terá uma referência X


String segunda; →Terá uma referência Y

Em um Array todas as variáveis terão a mesma referência


gastando menos memória. Por terem a mesma referência que é
necessário especificar o index do Array

String primeira; →Terá uma referência Z


String segunda; →Terá uma referência Z

→Exibição de Array sem valor←

Array String sem valor: retorna null


Array int sem valor: retorna 0
Array boolean sem valor: retorna False
Array double sem valor: retorna 0.0

null: resposta de quando não existe valor a ser devolvido

Objeto de memória: toda vez que iniciamos um array estamos


lidando com objetos de memória

Redeclarar Array
Redeclarar: modificar o dado pré estabelecido

nomeDoArray[index a ser modificado] = novoValor


Loop de Array
Vai mostrar todos os valores do Array

for(int i = 0; i < max. Index do array; i++){


System.out.println(nomeDoArray[i]);
}

Array 2D
Array que contem outro Array dentro, também chamado de array
de matrizes

tipoDeDado [] [] nomeDoArray = new tipoDeDado [memória


linha] [memória coluna];

Inserir dados

nomeDoArray [] [];
-Primeiro []: linha
-Segundo []: coluna

Coluna 1 Coluna 2 Coluna 3


Linha 1 (1;1) (1;2) (1;3)
Linha 2 (2;1) (2;2) (2;3)
Linha 3 (3;1) (3;2) (3;3)

Classes e Objetos

→Praticamente tudo no Java é Objeto

→Todo objeto em Java é feito através de um molde chamado


classes
→Molde do Objeto é feito somente dentro da classe não
necessitando do psvm

Class (molde): pode ser criado em um arquivo e acessado em


outro

-Criação de classe

public class nomeDoMolde{


tipoDeVariavel nomeDaVariavel;
}

-Criação de Objeto a partir da classe

nomeDoMolde nome = new nomeDoMolde();


nome.TipoDeVariavel = valor;

Métodos

São utilizados para alterar atributos de variáveis


nomeDaVariavel.metodo();
toLowerCase e toUpperCase são exemplos de metodos fornecidos
pelo Java

→public class: classe que pode ser acessada em qualquer parte do


código
→Existem dois tipos de métodos void e return
-void: não retorna valor nenhum
-return: retorna o tipo de variável selecionada

Criar método personalizado

VOID
public void nomeDoMetodo( ){

}

RETURN
public tipoDeVariavel nomeDoMetodo( ){
return valor;
}

→nomeDaVariavel.nomeDoMetodo( ); não imprime o return no


terminal, para imprimir é necessário guardar dentro de outra
variável
-tipoDeVariavel nome = nomeDaVariavel.nomeDoMetodo( );
-System.out.println(nome);

Parâmetro
Condição para que o método aconteça

→Criação
public tipoDeVariável nomeDoMetodo(TipoDeVariavel
nomeDaVariavel) {
return valor;
}

→Exibição
tipoDeVariável nome =
nomeDaVariável.nomeDoMetodo(PARAMETRO);
System.out.println(nome);
Exemplo:

→Metodo←

public int anos_para_maioridade(int idade_maioridade){


Return idade_maioridade – idade;
}
→Main←

Gabriel.idade = 14;

int tempo = Gabriel.anos_para_maioridade(18);


System.out.println(tempo);

TERMINAL: 4

Orientação a Objetos
Habilidade de se trabalhar com classes e objetos, os manipulando

4 Pilares da Orientação a Objeto


(Encapsulamento, Herança, Abstração, Polimorfismo)

Herança
Usar características de uma classe mãe em outras classes filhas,
poupando código e agilizando trabalho

→Herdar características da classe principal (extends): com o uso


do extends a classe filha tem acesso a todas as características da
classe mãe

public class classeFilha extends classeMae{ }

Interface
Define métodos a serem utilizados sem especificá-los
→Não permite que seja criado um objeto a partir dela
→Interface não é um molde
→Ao criar os métodos dentro da interface usar o public é
redundância
public interface nomeDaInterface{
tipoDeMetodo nomeDoMetodo();
}

→Método não vai ter código, ele deve ser redeclarado em uma
classe

→Acessar interface em uma classe (implements): sempre que uma


interface for implementada em uma classe, todos os métodos
presentes na interface devem obrigatoriamente redeclarados na
classe

public class nomeDaClasse implements nomeDaInterface{ }

Polimorfismo
Criar função única que pode ser utilizada em diferentes classes
com diferentes caracteristicas

→Criar um método geral em uma classe


→Sobrescrever o método em outra classe usando @Override
→Todos os Objetos criados na classe utilizarão o método
sobrescrito

Ex:
→CLASSE←
public class alpha{

String nome;

//método geral

public void materia(){


System.out.println(“Estudo JAVA”)
}}
→MAIN←
aluno Cleber = new alpha();
Cleber.materia();
TERMINAL: Estudo JAVA

→CLASSE←
public class beta extends alpha{

@Override
public void materia(){
System.out.println(“Estudo Python”)
}
}
→MAIN←

beta Matheus = new beta();


Matheus.materia();

Terminal: Estudo Python

Construtores
Padrão no qual o objeto deve ser criado, divididos em no args e all
args

→No Args constructor: construtor vazio não necessariamente


recebe argumento nenhum

→All Args constructor: construtor que é preenchido com todos os


atributos da classe

-this.valor: referência a variável


public nomeDaClasse (argumento){
this.nomeDaVariavel = argumento;
}

Exemplo:

→CLASS←

public class alunos{


String nome;
String linguagem;
int idade;

public alunos (String nome, String linguagem, int idade){


this.nome = nome;
this.linguagem = linguagem;
this.idade = idade;
}
}

→MAIN←

alunos Gabriel = new alunos (“Gabriel”, ”Java”, 20)


System.out.println(Gabriel.nome, Gabriel.linguagem,
Gabriel.idade)

TERMINAL: Gabriel Java 20

Classe Abstrata
Servem para padronizar o código, forçando todas as suas classes
filhas a seguirem o mesmo padrão e não permitem que um objeto
seja criado a partir dela, somente de suas filhas
→Chamada de Super Classe
→Obriga a utilização de Subclasses para a criação de Objetos

public abstract class nomeDaClasse{ }

Métodos Abstratos
→Não podem ter corpo
→Obrigatório instanciar (@Override)

public abstract void nomeDoMetodo

Classe Abstrata X Interface

Classe Abstrata
→Pode conter métodos abstratos ou não
→Pode conter variáveis que serão definidas posteriormente

Interface
→Todo método é automaticamente abstrato
→Todas as variáveis são FINAL, ou seja, fixas após serem
definidas na interface

Abstração + Polimorfismo
Encapsulamento
Capacidade de proteger variáveis e classes para que não haja
vazamento e mantendo assim protegido e encapsulado os objetos

Você também pode gostar