1- Introdução à Linguagem Java

57
Introdução à Linguagem Java

description

Conceitos básicos da linguagem java

Transcript of 1- Introdução à Linguagem Java

Page 1: 1- Introdução à Linguagem Java

Introdução à Linguagem Java

Page 2: 1- Introdução à Linguagem Java

O que é JAVA?

Java é uma linguagem de programação orientada a objetos e desenvolvida pela Sun Microsystems na década de 90, que atualmente, pertence a Oracle.

Page 3: 1- Introdução à Linguagem Java

Instalando o JAVAJava tem suporte para Windows, Mac e Linux.

http://www.oracle.com/technetwork/pt/java/javase/downloads/index.html

Page 4: 1- Introdução à Linguagem Java

Classe JAVAClasse é a representação de um objeto, ela possui atributos e comportamentos (métodos). Uma classe pode ser utilizada para instanciar n objetos

Page 5: 1- Introdução à Linguagem Java

Classe JAVA

Atributos

Métodos

Page 6: 1- Introdução à Linguagem Java

Tipos de dados primitivosboolean Possui os valores true ou false.

char Unicode de 16 bits. Pode armazenar dados alfanúmericos.

byte Inteiro de 8 bits. Possui o range entre -27 = -128 e 27 - 1 = 127.

short Inteiro de 16 bits. Possui o range entre -215 = -32.768 e 215 - 1 = 32.767.

int Inteiro de 32 bits. Possui o range entre -231 = -2.147.483.648 e 231 - 1 = 2.147.483.647.

long Inteiro de 64 bits. Possui o range entre -263 e 263 - 1

float Números de ponto flutuante de 32 bits

double Números de ponto flutuante de 64 bits

Page 7: 1- Introdução à Linguagem Java

Tipos de métodos e variáveisToda variável (incluindo atributos) e método em Java é tipada.O tipo pode ser primitivo ou um Objeto.Os métodos podem ter tipos de retorno ou serem void, quando não retornam nenhum valor após serem executados.

Page 8: 1- Introdução à Linguagem Java

Construindo classesAs classes possuem construtores que quando invocados criam uma instância da sua classe.

Page 9: 1- Introdução à Linguagem Java

Construindo classes

Construtor

Page 10: 1- Introdução à Linguagem Java

Construindo classes

O linha new Carro() invoca o construtor da classe Carro, alocando memória para o objeto e inicializando os seus atributos.

Page 11: 1- Introdução à Linguagem Java

Construindo classesA figura ao lado mostra como o objeto meuCarro é alocado na memória. meuCarro

Preto

GolModelo

Cor

Page 12: 1- Introdução à Linguagem Java

PacotesToda classe em Java pertence a um pacote.Um pacote é um grupo de classes que tem funcionalidades similares no projeto.

Page 13: 1- Introdução à Linguagem Java

PacotesPara utilizar classes de pacotes diferentes, é preciso utilizar os comandos de import.Ex: Para utilizar a classe Math do Java, deve-se importa-la com o comando:import java.lang.math

Page 14: 1- Introdução à Linguagem Java

EscopoToda classe tem um escopo, que é delimitado por chaves {}. Isso siginifica que tudo que estiver dentro das chaves da classe pertence a ela.O mesmo vale para métodos, laços e condicionais.

Page 15: 1- Introdução à Linguagem Java

Escopo

Inicio do escopo da classe

Fim do escopo da classe

Inicio do escopo do método

Fim do escopo do método

Page 16: 1- Introdução à Linguagem Java

ExpressõesOperador Descrição

- (Unário) Negativa um Valor. Ex: -x

* Multiplicação

/ Divisão

+ Adição

- Subtração

% Módulo

Page 17: 1- Introdução à Linguagem Java

Operadores ++ e --int x = 3; x++; // incrementa x em uma unidadex--; // decrementa x em uma unidade

Page 18: 1- Introdução à Linguagem Java

Operador Ternário

(expressão booleana)? resultado se for true: resultado se for falseint x = 10; int y = 20;System.out.println(”O maior número é:” + x > y ? x : y);

Page 19: 1- Introdução à Linguagem Java

Atribuição de variáveis

int x = 10; x += 10 // x = x + 10x -= 10 // x = x - 10 x *= 10 // x = x * 10x /= 10 // x = x / 10

Page 20: 1- Introdução à Linguagem Java

Operadores Lógicos - And

A B A & B

V V V

V F F

F V F

F F F

And (&) ou (&&)

Page 21: 1- Introdução à Linguagem Java

Operadores Lógicos - Or

A B A | B

V V V

V F V

F V V

F F F

And (|) ou (||)

Page 22: 1- Introdução à Linguagem Java

Operadores Lógicos - XOr

A B A ^ B

V V F

V F V

F V V

F F F

And (^)

Page 23: 1- Introdução à Linguagem Java

Operadores Lógicos - Not

A !A

V F

F V

Not (!)

boolean isOpen = true; isOpen := !isOpen; // inverte o valor de isOpen.

Page 24: 1- Introdução à Linguagem Java

Estruturas condicionaisO Java possui estruturas de condição. São elas: if, switch

Page 25: 1- Introdução à Linguagem Java

Estruturas condicionais - if

if (expresão booleana) { //ação executada quando a expressão é verdadeira. } else { //Executada quando a expressão não é verdadeira.}

Page 26: 1- Introdução à Linguagem Java

Estruturas condicionais - If

Page 27: 1- Introdução à Linguagem Java

Estruturas condicionais - switchswitch(identificador) {

case 1: //Ação para o caso 1;break;

case 2: //Ação para o caso 2; break;

default: //Ação executada quando nenhum caso é atendido

}

Page 28: 1- Introdução à Linguagem Java

Estruturas condicionais - switch

Page 29: 1- Introdução à Linguagem Java

Looping Forfor (contador ; condição ; incremento ) {

//Ação executada}

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

//código executado em loop}

Page 30: 1- Introdução à Linguagem Java

Looping whilewhile (condição ) {

//Ação executada}

while (i < 10) {//código executado em loop

}

Page 31: 1- Introdução à Linguagem Java

Looping do whiledo {

//Ação executada} while (condição);

do {//código executado em loop

} while (x > 10)

Page 32: 1- Introdução à Linguagem Java

Looping for eachArrayList carros = new ArrayList();for (Carro carro : carros) {

}

Page 33: 1- Introdução à Linguagem Java

Comando breakfor (int i = 0 ; i < 10 ; i++) {

if (i == 4) {break; // Finaliza todo o looping for.

}System.out.println("i: " + i);

}

Page 34: 1- Introdução à Linguagem Java

Comando continuefor (int i = 0 ; i < 10 ; i++) {

if (i == 4) {continue; // Finaliza a iteração atual e vai para

a próxima}System.out.println("i: " + i);

}

Page 35: 1- Introdução à Linguagem Java

Modificadores de Acesso

Java possui quatro modificadores de acesso: public, protected, private e default.

Esses modificadores podem ser utilizados tanto para métodos como para atributos

Page 36: 1- Introdução à Linguagem Java

Modificadores de Acesso

Quando um atributo ou método é privado (private), apenas a própria classe consegue acessá-lo

Page 37: 1- Introdução à Linguagem Java

Modificadores de Acesso

Quando um atributo ou método é público (public), qualquer classe do projeto pode acessá-lo.

Page 38: 1- Introdução à Linguagem Java

Modificadores de Acesso

É possível declarar métodos e variáveis sem definir o seu modificador de acesso. Nesse caso, dizemos que o modificador é default.

Com o modificador default, o método ou atributo é visível por todas as classes que estão no mesmo pacote.

Ex: void print(){ System.out.println(“Metodo com acesso default”);}

Page 39: 1- Introdução à Linguagem Java

Modificadores de Acesso

O modificador protected tem um comportamento similar ao default, ou seja, todos os membros de um mesmo pacote conseguem enxergar os atributos e métodos protected

A diferença é relacionada a herança, quando um método ou atributo é protected, as classes filhas da classe dona do método ou atributo conseguem acessa-los, mesmo que as classes estejam em pacotes diferentes

Page 40: 1- Introdução à Linguagem Java

Classes e Subclasses

A classe mãe de todas as classes do Java é a Object. Quando uma classe é subclasse de outra, ela herda os

atributos e métodos da classe mãe. E consegue acessá-los diretamente se eles são protected.

Crie uma subclasse basta usar a palavra chave extends

Page 41: 1- Introdução à Linguagem Java

Classes e Subclasses

Page 42: 1- Introdução à Linguagem Java

Classes e Subclasses

Em qualquer lugar onde a classe Veiculo seria utilizada, é possível utilizar a classe Carro, pois ao herdar de Veiculo, Carro passa a ser uma classe especializada de Veiculo.

É possível instanciar um Veiculo com um objeto do tipo Carro, isso é chamado de encapsulamento: Veiculo veiculo = new Carro();

Page 43: 1- Introdução à Linguagem Java

Classes e Subclasses

Em um método que requer um Veiculo, é possivel utilizar um carro como parametro:

int getNumeroRodas(Veiculo v){...}

Carro c = new Carro();getNumeroRodas(c);

Page 44: 1- Introdução à Linguagem Java

Classes e Subclasses

Esse poder do Objeto de assumir várias formas através de herança é chamado de Polimorfismo

As classes herdeiras podem redefinir os métodos da classe pai, desde que mantenham a assinatura. Isso é chamado de sobrescrita (Overrride). Quando um método redefinido for chamado, mesmo que a classe filha esteja encapsulada, a sua implementação do método é que será executada.

Page 45: 1- Introdução à Linguagem Java

Polimorfismo

Page 46: 1- Introdução à Linguagem Java

Classes e Subclasses

Page 47: 1- Introdução à Linguagem Java

Classes e Subclasses

Caso seja necessário, a implementação do método original da classe pai também pode ser utilizado através do comand super.

Page 48: 1- Introdução à Linguagem Java

Classes e Subclasses

O mesmo vale para construtores. Porém o construtor de uma classe pai sempre deve executar primeiro. Caso você não chame o construtor da classe pai explicitamente, ele será chamado automáticamente.

Page 49: 1- Introdução à Linguagem Java

Classes Abstratas

É possível definir classes que não podem ser instanciadas em Java. Essas classes são chamadas de abstratas.

Elas são utilizadas para definir métodos que sejam comuns a qualquer classe que possam potencialmente herdar dela. As classes abstratas também podem ter atributos.

Page 50: 1- Introdução à Linguagem Java

Classes Abstratas

Page 51: 1- Introdução à Linguagem Java

Interfaces

Interfaces são utilizadas para definir comportamentos.Elas funcionam como contratos, qualquer classe que

implementa uma interface deve criar os métodos com a mesma assinatura que está definida na interface

Ao contrário da classe abstrata a interface não pode ter atributos e nem definir corpo de métodos

Page 52: 1- Introdução à Linguagem Java

ExceçõesExceções em Java servem para indicar a ocorrência de erros ou comportamentos inesperados do sistema.Existem dois tipos: Exceções de runtime e Exceções checadas

Page 53: 1- Introdução à Linguagem Java

ExceçõesAs exceções de runtime não devem ser capturadas, pois quando ocorrem, o problema está na codificação.Ex: NullPointerException e ArrayIndexOutOfBOundsException

Page 54: 1- Introdução à Linguagem Java

ExceçõesAs exceções checadas devem ser tratadas. Por exemplo ao lidar com arquivos, uma exceção do tipo IOException pode ser lançada e isso não ocorre por defeitos no código e sim por erros que podem ocorrer no processo.

Page 55: 1- Introdução à Linguagem Java

ExceçõesPara tratar uma exceção, o trecho de código que pode lançar uma exceção fica dentro do escopo do comand try. Embaixo desse escopo deve-se escrever um comando catch para cada exceção que ser quer tratar.

Page 56: 1- Introdução à Linguagem Java

ExceçõesÉ possível ainda lançar a exceção para os métodos que irão chamar o método atual. Através do comand throws na assinatura do método.Se um método tem o comando throws, qualquer método que o chama deve tratar ou passar adiante a exceção.

Page 57: 1- Introdução à Linguagem Java

ExceçõesPara lançar uma exceção de dentro do escopo do método,é necessário dar um comando throw e instanciar uma nova classe de exceção.Para criar uma nova exceção, bastar criar uma classe que extenda da classe Exception.