SlideShare uma empresa Scribd logo
1 de 40
Java básico e Orientação a Objetos
Apresentação Frederico Maia Arantes Graduando em Tecnologia de Redes de Computadores 2 anos de estágio em desenvolvimento de sistemas IBM, Microsoft .Net e Java. Quase a um ano focado em desenvolvimento Java Atua como Analista Desenvolvedor Java Pleno  Membro do grupo Gojava.
O que é Java? Desenvolvido e mantido pela Sun Oracle. Java é uma linguagem de programação orientada a objetos. Foi criada na década de 90  por uma equipe liderada por James Gosling (Pai do Java). A idéia inicial era criar um interpretador para pequenos dispositivos, facilitando a reescrita de software para aparelhos eletrônicos, como vídeo cassete, televisão e aparelhos de TV a cabo. Era muito cedo pra isso e ninguém acreditou em seu potencial.
Mais sobre o início... Em 1992 com o início da Web, a Sun percebeu um mercado em potencial. Criaram então os applets (pequenos aplicativos que rodam nos browsers não apenas renderizando html) e então lançaram o Java 1.0 ! Hoje em dia os applets não são o foco da Sun Oracle e são muito pouco utilizados.  	Temos a promessa do JavaFX, mas esse não é o assunto de hoje.
O que precisamos para usar Java? Para executar aplicações Java, precisamos do JRE (Java Runtime Enviroment). 	http://bit.ly/cKoUNV Para desenvolver aplicações, o JDK (Java Development Kit). 	 http://bit.ly/a1w7OH Escolher uma IDE para desenvolvimento, sugerimos eclipse ou NetBeans. 	http://www.eclipse.org/downloads/ ou http://netbeans.org/downloads/
Clássico Hello World Um simples programa que apenas escreve na tela do computador “Hello World”. O método main é onde um programa Java inicia. public class Hello {	 		public static void main(String args[]){ 			//comentários 			System.out.println(“Hello World”); 		} 	}
Variáveis Uma variável é utilizada para armazenar um valor que depois poderá ser manipulado. Devemos informar o tipo de valor, e o nome da variável, que deve ser único. Pode ser feita em qualquer linha de um bloco. int numero = 10; 	String nome = “Frederico”; Alguns tipos: int, double, float, long, boolean, char, String.
Capturando dados do Teclado Exemplo de captura de dados do teclado e armazenando em variáveis.  	String nome = “”; 	int idade = 0; 	Scanner sc = new Scanner(System.in); 	System.out.println(“Informe seu nome:”); 	nome = sc.nextLine(); 	System.out.println(“Informe sua idade:”); 	idade = sc.nextInt();
Operadores - Aritméticos Operadores são usados para manipular os valores das variáveis. Para realizar operações matemáticas podemos aplicar os operadores + (soma), - (subtração),       * (multiplicação), / (divisão) e % (módulo). int num1 = 5 + 3; 	int num2 = 4 – 2; 	int num3 = 4*5/2; 	int num4 = 20%2;
Operadores –Igualdade e Relacionais Operadores de igualde são usados para verificar se uma variável tem valor igual ou diferente de outra.   Operadores relacionais são usados para comparar valores. Sempre retornam true ou false. Operadores: == (igual), != (diferente),  > (maior),    < (menor), >= (maior ou igual), <= (menor ou igual). boolean teste1 = 5 == 3; // retorna false 	boolean teste3 = 5 > 3;  // retorna true
Operadores – Lógicos Podem ser usados para combinar comparações.   Retornam true ou false. Operadores: && ( e ), || (ou). int num1 = 10;  	boolean b1 = num1>1 && num1<20; //retorna true 	boolean b2 = num1!=0 || num1>10;  // retorna true
If (se) e Else (senão) O comando if permite testar se um valor booleano é verdadeiro ou falso, caso seja verdadeiro, o bloco dentro do if é executado. Se for falso é executado o bloco dentro do else. if(media >= 7){ //se media maior ou igual a 7 		System.out.println(“Aprovado!”); 	} else{ 		//senão 		System.out.println(“Reprovado!”); 	}
While (enquanto) Usado quando precisamos repetir o código várias vezes dependendo se uma condição é verdadeira ou falsa, e enquanto  for, executa um laço. Vamos imprimir uma mensagem 10 vezes. int i = 0; 	while(i < 10){ //enquanto 1 for menor que 10 		System.out.println(i+“ª vez!”); 		i++;	//incrementa + 1 	}
For (para) Usado nas mesmas condições do while verificando uma condição de verdadeiro ou falso. A diferença é que recebe três argumentos. É um while “melhorado”. 	//inicia a variável; verifica condição;incrementa for (int i=0;i<10;i++){ 		System.out.println(i+“ª vez!”); 	}
Orientação a Objetos Foi criada para tentar aproximar o mundo real do mundo virtual. A idéia fundamental é tentar simular o mundo real dentro do computador utilizando Objetos afinal, nosso mundo é composto de objetos.
Pensando em Objetos Pensar em termos de objetos é muito parecido a como faríamos na vida real. Por exemplo, vamos pensar em um carro...
Pensando em um carro...
Pensando em um carro... Quais as características de um carro? 	 Quais as funcionalidades?	 Em um esquema orientação a Objetos o carro seria o objeto, as propriedades seriam as características e os métodos seriam as funcionalidades, as ações.
Java e Orientação a Objetos Em Java todos os objetos são manipulados através de uma referência (variável) e têm: estado (seus atributos), comportamento (seus métodos), identidade (a variável que contém sua referência). Valores unidimensionais não são objetos: números, booleanos, caracteres têm apenas identidade (nome da variável) e estado (valor da variável).
Classe ,[object Object]
Exemplo da classe Carro.,[object Object]
Polimorfismo Sobrescrita 	Substituir um método da super­classe. Sobrecarga 	Criar uma variação de um método, alterando  	sua assinatura (quantidade, tipo de parâmetros e exceções disparadas)
Encapsulamento Simplifica o objeto expondo apenas a sua interface essencial. Também para impedir o acesso direto ao atributo de um objeto, disponibilizando externamente apenas os métodos que alteram estes estados.  Exemplo: fabricação das portas do carro, funcionamento do motor de um carro.
Encapsulamento 	Métodos e atributos que não devem ser usados externamente podem ter seu nível de acesso controlado através de modificadores: private: apenas acesso dentro da classe package-private (default): acesso dentro do pacote protected: acesso em subclasses public: acesso global
Interface É um contrato entre a classe e o mundo externo. Quando uma classe implementa uma interface, ela está comprometida a fornecer o comportamento publicado pela interface.
Orientação a Objetos Em orientação a objetos, implementamos um conjunto de classes que definem os objetos 	presentes no software. Cada classe determina o  	comportamento (definido nos métodos) e estados  	possíveis (atributos) de seus objetos, assim como o relacionamento com outros objetos.
Vantagens da POO Divisão do código mais lógica e melhor encapsulada do que a empregada nos sistemas não orientados a objetos.  Manutenção e extensão do código mais fácil e com menos riscos de inserção de bugs. Também é mais fácil reaproveitar o código.  UML, divisão em pacotes, divisão do trabalho.
O que preciso saber para ser um desenvolvedor Júnior? Java Básico e Orientação a Objetos Java Web (JSP e Servlets) Frameworks (Java Server Faces, Hibernate)  Outros frameworks importantes: Spring, (Struts1 + Webwork) Struts 2, EJB, JPA, JasperReport, iReport...
Basicamente é isso... Variáveis; operadores lógicos, aritméticos, relacionais; expresões; controle de fluxo; if; else; elseif; while; for; do while; foreach; identificadores; tratamento de exceção; arrays; collections; generics; enumeradores; classes; herança; polimorfismo, sobrecarga, sobreescrita; interface; encapsulamento; banco de dados; JDBC; SQL; queries; transações; swing; boxing; casting; jsp; servlets; html; css; javascript; servidor de aplicação; tomcat; JVM; servidor web; JSTL; taglibs; page; request; session; application; DAO; MVC; JSF; ORM; Hibernate; Richfaces; JPA; Richfaces; iReport; JasperReport; IDE...
Certificações Java Programa de certificações Java. Já mudaram de Sun para Oracle.
SCJA OCJA Sun Oracle Certified Java Associate  Voltada mais para quem atua como "Gerente de Projetos de Software". Este perfil tem um entendimento geral sobre OOP, as plataformas Java, tecnologias Java e UML sem se ater a detalhes de implementação deixado para os especialistas. Valor pequeno para desenvolvedores. Certificação opcional.
SCJP OCJP Sun Oracle Certified Java Programmer Programador profissional da linguagem Java. Grande valor de mercado para desenvolvedores. Obrigatória para as outras seguintes.
SCJDP OCJD Sun Oracle Certified Java Developer.  Especialista em desenvolvimento de aplicativos Java para desktop. Pouco valor de mercado principalmente no Brasil.
SCWCD OCWCD Sun Oracle Certified Web ComponentDeveloper. Especialista em desenvolvimento Java de aplicativos e componentes web. (JSP e Servlets) Grande valor de mercado.
SCBCD OCBCD Sun Oracle Certified Business ComponentDeveloper Especialista em desenvolvimento de componentes/camada de aplicação de negócio distribuídos. (EJB)
SCDJWS OCDJWS Sun Oracle CertifiedDeveloper For Java Web Services Especialista em desenvolvimento de aplicações utilizando web services (paradigma SOA).
SCMAD OCMAD Sun Oracle CertifiedMobile Application Developer Especialista em desenvolvimento de aplicativos Java para dispositivos móveis.
SCEA OCEA Sun Oracle CertifiedMobile Application Developer Específico para o perfil de "Arquiteto de software". Acredito que seja a prova mais difícil composta não apenas detalhes gerais das plataformas Java, mas também por vários conceitos de engenharia de software. A prova possui 3 etapas.
Dicas de Estudo Apostilas da Caelum. Projeto JEDI mantido pela comunidade Java e a Sun Oracle. Fórum GUJ (Grupo de Usuários Java). Use a Cabeça Java – Kathy Sierra. Cursos especializados (diminuem bastante a curva de aprendizado).
Dúvidas? Contato  		fredericomaia10@gmail.com   	http://fredericoarantes.blogspot.com @fredmaia

Mais conteúdo relacionado

Mais procurados

[Curso Java Basico] Exercicios Aula 24
[Curso Java Basico] Exercicios Aula 24[Curso Java Basico] Exercicios Aula 24
[Curso Java Basico] Exercicios Aula 24Loiane Groner
 
[Curso Java Basico] Exercicios Aula 19
[Curso Java Basico] Exercicios Aula 19[Curso Java Basico] Exercicios Aula 19
[Curso Java Basico] Exercicios Aula 19Loiane Groner
 
BD I - Aula 08 A - Algebra Relacional
BD I - Aula 08 A - Algebra RelacionalBD I - Aula 08 A - Algebra Relacional
BD I - Aula 08 A - Algebra RelacionalRodrigo Kiyoshi Saito
 
[Curso Java Basico] Aula 15: Controle de Decisao Switch-Case
[Curso Java Basico] Aula 15: Controle de Decisao Switch-Case[Curso Java Basico] Aula 15: Controle de Decisao Switch-Case
[Curso Java Basico] Aula 15: Controle de Decisao Switch-CaseLoiane Groner
 
[Curso Java Basico] Exercicios Aulas 14 15
[Curso Java Basico] Exercicios Aulas 14 15[Curso Java Basico] Exercicios Aulas 14 15
[Curso Java Basico] Exercicios Aulas 14 15Loiane Groner
 
Banco de dados exercícios resolvidos
Banco de dados exercícios resolvidosBanco de dados exercícios resolvidos
Banco de dados exercícios resolvidosGleydson Sousa
 
Estruturas de Dados - Árvores Multivias (Multiway Tree)
Estruturas de Dados - Árvores Multivias (Multiway Tree)Estruturas de Dados - Árvores Multivias (Multiway Tree)
Estruturas de Dados - Árvores Multivias (Multiway Tree)Erick Petrucelli
 
[Curso Java Basico] Aula 20: Arrays multidimensionais - Matrizes
[Curso Java Basico] Aula 20: Arrays multidimensionais - Matrizes[Curso Java Basico] Aula 20: Arrays multidimensionais - Matrizes
[Curso Java Basico] Aula 20: Arrays multidimensionais - MatrizesLoiane Groner
 
Algoritmos - Aula 06 B - Tomada de Decisao - Exercicios - Resolucao
Algoritmos - Aula 06 B - Tomada de Decisao - Exercicios - ResolucaoAlgoritmos - Aula 06 B - Tomada de Decisao - Exercicios - Resolucao
Algoritmos - Aula 06 B - Tomada de Decisao - Exercicios - ResolucaoRodrigo Kiyoshi Saito
 
Algoritmos - Aula 07 B - Exercicios Vetores - Resolucao
Algoritmos - Aula 07 B - Exercicios Vetores - ResolucaoAlgoritmos - Aula 07 B - Exercicios Vetores - Resolucao
Algoritmos - Aula 07 B - Exercicios Vetores - ResolucaoRodrigo Kiyoshi Saito
 
[Curso Java Basico] Exercicios Aulas 36 a 43
[Curso Java Basico] Exercicios Aulas 36 a 43[Curso Java Basico] Exercicios Aulas 36 a 43
[Curso Java Basico] Exercicios Aulas 36 a 43Loiane Groner
 
[Curso Java Basico] Exercicios Aula 34
[Curso Java Basico] Exercicios Aula 34[Curso Java Basico] Exercicios Aula 34
[Curso Java Basico] Exercicios Aula 34Loiane Groner
 
Lista de exercício
Lista de exercício   Lista de exercício
Lista de exercício Jota Thin
 
Exercicios Filas (Queues) - Estruturas de dados e algoritmos com Java
Exercicios Filas (Queues) - Estruturas de dados e algoritmos com JavaExercicios Filas (Queues) - Estruturas de dados e algoritmos com Java
Exercicios Filas (Queues) - Estruturas de dados e algoritmos com JavaLoiane Groner
 
[Curso Java Básico] Exercícios Aulas 11 12 13
[Curso Java Básico] Exercícios Aulas 11 12 13[Curso Java Básico] Exercícios Aulas 11 12 13
[Curso Java Básico] Exercícios Aulas 11 12 13Loiane Groner
 
[Curso Java Basico] Exercicios Aulas 16 17
[Curso Java Basico] Exercicios Aulas 16 17[Curso Java Basico] Exercicios Aulas 16 17
[Curso Java Basico] Exercicios Aulas 16 17Loiane Groner
 
[Curso Java Basico] Exercicios Aula 35
[Curso Java Basico] Exercicios Aula 35[Curso Java Basico] Exercicios Aula 35
[Curso Java Basico] Exercicios Aula 35Loiane Groner
 

Mais procurados (20)

[Curso Java Basico] Exercicios Aula 24
[Curso Java Basico] Exercicios Aula 24[Curso Java Basico] Exercicios Aula 24
[Curso Java Basico] Exercicios Aula 24
 
[Curso Java Basico] Exercicios Aula 19
[Curso Java Basico] Exercicios Aula 19[Curso Java Basico] Exercicios Aula 19
[Curso Java Basico] Exercicios Aula 19
 
BD I - Aula 08 A - Algebra Relacional
BD I - Aula 08 A - Algebra RelacionalBD I - Aula 08 A - Algebra Relacional
BD I - Aula 08 A - Algebra Relacional
 
[Curso Java Basico] Aula 15: Controle de Decisao Switch-Case
[Curso Java Basico] Aula 15: Controle de Decisao Switch-Case[Curso Java Basico] Aula 15: Controle de Decisao Switch-Case
[Curso Java Basico] Aula 15: Controle de Decisao Switch-Case
 
[Curso Java Basico] Exercicios Aulas 14 15
[Curso Java Basico] Exercicios Aulas 14 15[Curso Java Basico] Exercicios Aulas 14 15
[Curso Java Basico] Exercicios Aulas 14 15
 
Banco de dados exercícios resolvidos
Banco de dados exercícios resolvidosBanco de dados exercícios resolvidos
Banco de dados exercícios resolvidos
 
Estruturas de Dados - Árvores Multivias (Multiway Tree)
Estruturas de Dados - Árvores Multivias (Multiway Tree)Estruturas de Dados - Árvores Multivias (Multiway Tree)
Estruturas de Dados - Árvores Multivias (Multiway Tree)
 
[Curso Java Basico] Aula 20: Arrays multidimensionais - Matrizes
[Curso Java Basico] Aula 20: Arrays multidimensionais - Matrizes[Curso Java Basico] Aula 20: Arrays multidimensionais - Matrizes
[Curso Java Basico] Aula 20: Arrays multidimensionais - Matrizes
 
Algoritmos - Aula 06 B - Tomada de Decisao - Exercicios - Resolucao
Algoritmos - Aula 06 B - Tomada de Decisao - Exercicios - ResolucaoAlgoritmos - Aula 06 B - Tomada de Decisao - Exercicios - Resolucao
Algoritmos - Aula 06 B - Tomada de Decisao - Exercicios - Resolucao
 
Algoritmos - Aula 07 B - Exercicios Vetores - Resolucao
Algoritmos - Aula 07 B - Exercicios Vetores - ResolucaoAlgoritmos - Aula 07 B - Exercicios Vetores - Resolucao
Algoritmos - Aula 07 B - Exercicios Vetores - Resolucao
 
[Curso Java Basico] Exercicios Aulas 36 a 43
[Curso Java Basico] Exercicios Aulas 36 a 43[Curso Java Basico] Exercicios Aulas 36 a 43
[Curso Java Basico] Exercicios Aulas 36 a 43
 
[Curso Java Basico] Exercicios Aula 34
[Curso Java Basico] Exercicios Aula 34[Curso Java Basico] Exercicios Aula 34
[Curso Java Basico] Exercicios Aula 34
 
Lista de exercício
Lista de exercício   Lista de exercício
Lista de exercício
 
6 estruturas de dados heterogêneas
6  estruturas de dados heterogêneas6  estruturas de dados heterogêneas
6 estruturas de dados heterogêneas
 
Exercicios java básico
Exercicios java básicoExercicios java básico
Exercicios java básico
 
Exercicios Filas (Queues) - Estruturas de dados e algoritmos com Java
Exercicios Filas (Queues) - Estruturas de dados e algoritmos com JavaExercicios Filas (Queues) - Estruturas de dados e algoritmos com Java
Exercicios Filas (Queues) - Estruturas de dados e algoritmos com Java
 
[Curso Java Básico] Exercícios Aulas 11 12 13
[Curso Java Básico] Exercícios Aulas 11 12 13[Curso Java Básico] Exercícios Aulas 11 12 13
[Curso Java Básico] Exercícios Aulas 11 12 13
 
[Curso Java Basico] Exercicios Aulas 16 17
[Curso Java Basico] Exercicios Aulas 16 17[Curso Java Basico] Exercicios Aulas 16 17
[Curso Java Basico] Exercicios Aulas 16 17
 
[Curso Java Basico] Exercicios Aula 35
[Curso Java Basico] Exercicios Aula 35[Curso Java Basico] Exercicios Aula 35
[Curso Java Basico] Exercicios Aula 35
 
Algoritmos - Vetores
Algoritmos - VetoresAlgoritmos - Vetores
Algoritmos - Vetores
 

Semelhante a Java e orientação a objetos

Aula 1 - Java - Prof.ª Cristiane Fidelix
Aula 1 - Java - Prof.ª Cristiane FidelixAula 1 - Java - Prof.ª Cristiane Fidelix
Aula 1 - Java - Prof.ª Cristiane FidelixCris Fidelix
 
Aula1- Java PRof.ª Cristiane Fidelix
Aula1- Java PRof.ª Cristiane FidelixAula1- Java PRof.ª Cristiane Fidelix
Aula1- Java PRof.ª Cristiane FidelixCris Fidelix
 
Linguagem de Programação Java para Iniciantes
Linguagem de Programação Java para IniciantesLinguagem de Programação Java para Iniciantes
Linguagem de Programação Java para IniciantesOziel Moreira Neto
 
Poo slides01
Poo slides01Poo slides01
Poo slides01jmtofoli
 
Java introdução ao java
Java   introdução ao javaJava   introdução ao java
Java introdução ao javaArmando Daniel
 
Spring framework 2.5
Spring framework 2.5Spring framework 2.5
Spring framework 2.5Diego Pacheco
 
Django - Desenvolvimento web ágil com Python
Django - Desenvolvimento web ágil com PythonDjango - Desenvolvimento web ágil com Python
Django - Desenvolvimento web ágil com PythonIgor Sobreira
 
Java e orientação a objetos - aula 01
Java e orientação a objetos - aula 01Java e orientação a objetos - aula 01
Java e orientação a objetos - aula 01John Godoi
 
JAVA: Muito mais que uma linguagem
JAVA: Muito mais que uma linguagemJAVA: Muito mais que uma linguagem
JAVA: Muito mais que uma linguagemliverig
 
Apresentação java
Apresentação javaApresentação java
Apresentação javamunosai
 
Integração de Tecnologias
Integração de TecnologiasIntegração de Tecnologias
Integração de Tecnologiaselliando dias
 
Linguagem de Programação Java
Linguagem de Programação JavaLinguagem de Programação Java
Linguagem de Programação Javathomasdacosta
 

Semelhante a Java e orientação a objetos (20)

Aula 1 - Java - Prof.ª Cristiane Fidelix
Aula 1 - Java - Prof.ª Cristiane FidelixAula 1 - Java - Prof.ª Cristiane Fidelix
Aula 1 - Java - Prof.ª Cristiane Fidelix
 
Aula1- Java PRof.ª Cristiane Fidelix
Aula1- Java PRof.ª Cristiane FidelixAula1- Java PRof.ª Cristiane Fidelix
Aula1- Java PRof.ª Cristiane Fidelix
 
1.introducao java
1.introducao java1.introducao java
1.introducao java
 
Linguagem de Programação Java para Iniciantes
Linguagem de Programação Java para IniciantesLinguagem de Programação Java para Iniciantes
Linguagem de Programação Java para Iniciantes
 
Java Seminar
Java SeminarJava Seminar
Java Seminar
 
Poo slides01
Poo slides01Poo slides01
Poo slides01
 
Java apostilha
Java apostilhaJava apostilha
Java apostilha
 
ptt
pttptt
ptt
 
Apresentação faef
Apresentação faefApresentação faef
Apresentação faef
 
Java introdução ao java
Java   introdução ao javaJava   introdução ao java
Java introdução ao java
 
Spring framework 2.5
Spring framework 2.5Spring framework 2.5
Spring framework 2.5
 
Django - Desenvolvimento web ágil com Python
Django - Desenvolvimento web ágil com PythonDjango - Desenvolvimento web ágil com Python
Django - Desenvolvimento web ágil com Python
 
Java e orientação a objetos - aula 01
Java e orientação a objetos - aula 01Java e orientação a objetos - aula 01
Java e orientação a objetos - aula 01
 
JAVA: Muito mais que uma linguagem
JAVA: Muito mais que uma linguagemJAVA: Muito mais que uma linguagem
JAVA: Muito mais que uma linguagem
 
Apresentação java
Apresentação javaApresentação java
Apresentação java
 
Integração de Tecnologias
Integração de TecnologiasIntegração de Tecnologias
Integração de Tecnologias
 
Linguagem de Programação Java
Linguagem de Programação JavaLinguagem de Programação Java
Linguagem de Programação Java
 
OOP Java
OOP JavaOOP Java
OOP Java
 
Introdução ao Java 5
Introdução ao Java 5Introdução ao Java 5
Introdução ao Java 5
 
Linguagem Java- Iniciação à programação Java
Linguagem Java- Iniciação à programação JavaLinguagem Java- Iniciação à programação Java
Linguagem Java- Iniciação à programação Java
 

Mais de Frederico Maia Arantes

The best way to create and deploy web apps with full-stack type safety - Mete...
The best way to create and deploy web apps with full-stack type safety - Mete...The best way to create and deploy web apps with full-stack type safety - Mete...
The best way to create and deploy web apps with full-stack type safety - Mete...Frederico Maia Arantes
 
Produtividade e deploy na criação de apps NodeJS com MeteorJS - Join Communit...
Produtividade e deploy na criação de apps NodeJS com MeteorJS - Join Communit...Produtividade e deploy na criação de apps NodeJS com MeteorJS - Join Communit...
Produtividade e deploy na criação de apps NodeJS com MeteorJS - Join Communit...Frederico Maia Arantes
 
Java 8 - Afinal onde usamos no dia a dia? GOJava 15 anos!
Java 8 - Afinal onde usamos no dia a dia? GOJava 15 anos!Java 8 - Afinal onde usamos no dia a dia? GOJava 15 anos!
Java 8 - Afinal onde usamos no dia a dia? GOJava 15 anos!Frederico Maia Arantes
 
Apresentando meteor! Join Community - Goiânia
Apresentando meteor! Join Community - GoiâniaApresentando meteor! Join Community - Goiânia
Apresentando meteor! Join Community - GoiâniaFrederico Maia Arantes
 
Java 8 - Afinal onde usamos no dia a dia? TDC 2015 - Porto Alegre
Java 8 - Afinal onde usamos no dia a dia? TDC 2015 - Porto AlegreJava 8 - Afinal onde usamos no dia a dia? TDC 2015 - Porto Alegre
Java 8 - Afinal onde usamos no dia a dia? TDC 2015 - Porto AlegreFrederico Maia Arantes
 
Meteor - Nunca foi tão fácil desenvolver pra web e mobile
Meteor - Nunca foi tão fácil desenvolver pra web e mobileMeteor - Nunca foi tão fácil desenvolver pra web e mobile
Meteor - Nunca foi tão fácil desenvolver pra web e mobileFrederico Maia Arantes
 
Introdução a JPA e Hibernate - TDC 2012
Introdução a JPA e Hibernate - TDC 2012Introdução a JPA e Hibernate - TDC 2012
Introdução a JPA e Hibernate - TDC 2012Frederico Maia Arantes
 
Boas práticas com jpa 2 e hibernate flisol 2012
Boas práticas com jpa 2 e hibernate   flisol 2012Boas práticas com jpa 2 e hibernate   flisol 2012
Boas práticas com jpa 2 e hibernate flisol 2012Frederico Maia Arantes
 
Cloud Computing - Java no Google App Engine
Cloud Computing - Java no Google App EngineCloud Computing - Java no Google App Engine
Cloud Computing - Java no Google App EngineFrederico Maia Arantes
 
Visão Geral do Java para Iniciantes - FLISOL 2011
Visão Geral do Java para Iniciantes - FLISOL 2011Visão Geral do Java para Iniciantes - FLISOL 2011
Visão Geral do Java para Iniciantes - FLISOL 2011Frederico Maia Arantes
 
JSF 2 e Primefaces - 4º Encontro Mensal do Gojava
JSF 2 e Primefaces - 4º Encontro Mensal do GojavaJSF 2 e Primefaces - 4º Encontro Mensal do Gojava
JSF 2 e Primefaces - 4º Encontro Mensal do GojavaFrederico Maia Arantes
 

Mais de Frederico Maia Arantes (14)

The best way to create and deploy web apps with full-stack type safety - Mete...
The best way to create and deploy web apps with full-stack type safety - Mete...The best way to create and deploy web apps with full-stack type safety - Mete...
The best way to create and deploy web apps with full-stack type safety - Mete...
 
Produtividade e deploy na criação de apps NodeJS com MeteorJS - Join Communit...
Produtividade e deploy na criação de apps NodeJS com MeteorJS - Join Communit...Produtividade e deploy na criação de apps NodeJS com MeteorJS - Join Communit...
Produtividade e deploy na criação de apps NodeJS com MeteorJS - Join Communit...
 
Java 8 - Afinal onde usamos no dia a dia? GOJava 15 anos!
Java 8 - Afinal onde usamos no dia a dia? GOJava 15 anos!Java 8 - Afinal onde usamos no dia a dia? GOJava 15 anos!
Java 8 - Afinal onde usamos no dia a dia? GOJava 15 anos!
 
Apresentando meteor! Join Community - Goiânia
Apresentando meteor! Join Community - GoiâniaApresentando meteor! Join Community - Goiânia
Apresentando meteor! Join Community - Goiânia
 
Java 8 - Afinal onde usamos no dia a dia? TDC 2015 - Porto Alegre
Java 8 - Afinal onde usamos no dia a dia? TDC 2015 - Porto AlegreJava 8 - Afinal onde usamos no dia a dia? TDC 2015 - Porto Alegre
Java 8 - Afinal onde usamos no dia a dia? TDC 2015 - Porto Alegre
 
Meteor - Nunca foi tão fácil desenvolver pra web e mobile
Meteor - Nunca foi tão fácil desenvolver pra web e mobileMeteor - Nunca foi tão fácil desenvolver pra web e mobile
Meteor - Nunca foi tão fácil desenvolver pra web e mobile
 
Java Web Fácil com VRaptor
Java Web Fácil com VRaptorJava Web Fácil com VRaptor
Java Web Fácil com VRaptor
 
Introdução a JPA e Hibernate - TDC 2012
Introdução a JPA e Hibernate - TDC 2012Introdução a JPA e Hibernate - TDC 2012
Introdução a JPA e Hibernate - TDC 2012
 
Boas práticas com jpa 2 e hibernate flisol 2012
Boas práticas com jpa 2 e hibernate   flisol 2012Boas práticas com jpa 2 e hibernate   flisol 2012
Boas práticas com jpa 2 e hibernate flisol 2012
 
Java no Google App Engine - TDC2011
Java no Google App Engine - TDC2011Java no Google App Engine - TDC2011
Java no Google App Engine - TDC2011
 
Minicurso jpa e hibernate
Minicurso jpa e hibernateMinicurso jpa e hibernate
Minicurso jpa e hibernate
 
Cloud Computing - Java no Google App Engine
Cloud Computing - Java no Google App EngineCloud Computing - Java no Google App Engine
Cloud Computing - Java no Google App Engine
 
Visão Geral do Java para Iniciantes - FLISOL 2011
Visão Geral do Java para Iniciantes - FLISOL 2011Visão Geral do Java para Iniciantes - FLISOL 2011
Visão Geral do Java para Iniciantes - FLISOL 2011
 
JSF 2 e Primefaces - 4º Encontro Mensal do Gojava
JSF 2 e Primefaces - 4º Encontro Mensal do GojavaJSF 2 e Primefaces - 4º Encontro Mensal do Gojava
JSF 2 e Primefaces - 4º Encontro Mensal do Gojava
 

Java e orientação a objetos

  • 1. Java básico e Orientação a Objetos
  • 2. Apresentação Frederico Maia Arantes Graduando em Tecnologia de Redes de Computadores 2 anos de estágio em desenvolvimento de sistemas IBM, Microsoft .Net e Java. Quase a um ano focado em desenvolvimento Java Atua como Analista Desenvolvedor Java Pleno Membro do grupo Gojava.
  • 3. O que é Java? Desenvolvido e mantido pela Sun Oracle. Java é uma linguagem de programação orientada a objetos. Foi criada na década de 90 por uma equipe liderada por James Gosling (Pai do Java). A idéia inicial era criar um interpretador para pequenos dispositivos, facilitando a reescrita de software para aparelhos eletrônicos, como vídeo cassete, televisão e aparelhos de TV a cabo. Era muito cedo pra isso e ninguém acreditou em seu potencial.
  • 4. Mais sobre o início... Em 1992 com o início da Web, a Sun percebeu um mercado em potencial. Criaram então os applets (pequenos aplicativos que rodam nos browsers não apenas renderizando html) e então lançaram o Java 1.0 ! Hoje em dia os applets não são o foco da Sun Oracle e são muito pouco utilizados. Temos a promessa do JavaFX, mas esse não é o assunto de hoje.
  • 5. O que precisamos para usar Java? Para executar aplicações Java, precisamos do JRE (Java Runtime Enviroment). http://bit.ly/cKoUNV Para desenvolver aplicações, o JDK (Java Development Kit). http://bit.ly/a1w7OH Escolher uma IDE para desenvolvimento, sugerimos eclipse ou NetBeans. http://www.eclipse.org/downloads/ ou http://netbeans.org/downloads/
  • 6. Clássico Hello World Um simples programa que apenas escreve na tela do computador “Hello World”. O método main é onde um programa Java inicia. public class Hello { public static void main(String args[]){ //comentários System.out.println(“Hello World”); } }
  • 7. Variáveis Uma variável é utilizada para armazenar um valor que depois poderá ser manipulado. Devemos informar o tipo de valor, e o nome da variável, que deve ser único. Pode ser feita em qualquer linha de um bloco. int numero = 10; String nome = “Frederico”; Alguns tipos: int, double, float, long, boolean, char, String.
  • 8. Capturando dados do Teclado Exemplo de captura de dados do teclado e armazenando em variáveis. String nome = “”; int idade = 0; Scanner sc = new Scanner(System.in); System.out.println(“Informe seu nome:”); nome = sc.nextLine(); System.out.println(“Informe sua idade:”); idade = sc.nextInt();
  • 9. Operadores - Aritméticos Operadores são usados para manipular os valores das variáveis. Para realizar operações matemáticas podemos aplicar os operadores + (soma), - (subtração), * (multiplicação), / (divisão) e % (módulo). int num1 = 5 + 3; int num2 = 4 – 2; int num3 = 4*5/2; int num4 = 20%2;
  • 10. Operadores –Igualdade e Relacionais Operadores de igualde são usados para verificar se uma variável tem valor igual ou diferente de outra. Operadores relacionais são usados para comparar valores. Sempre retornam true ou false. Operadores: == (igual), != (diferente), > (maior), < (menor), >= (maior ou igual), <= (menor ou igual). boolean teste1 = 5 == 3; // retorna false boolean teste3 = 5 > 3; // retorna true
  • 11. Operadores – Lógicos Podem ser usados para combinar comparações. Retornam true ou false. Operadores: && ( e ), || (ou). int num1 = 10; boolean b1 = num1>1 && num1<20; //retorna true boolean b2 = num1!=0 || num1>10; // retorna true
  • 12. If (se) e Else (senão) O comando if permite testar se um valor booleano é verdadeiro ou falso, caso seja verdadeiro, o bloco dentro do if é executado. Se for falso é executado o bloco dentro do else. if(media >= 7){ //se media maior ou igual a 7 System.out.println(“Aprovado!”); } else{ //senão System.out.println(“Reprovado!”); }
  • 13. While (enquanto) Usado quando precisamos repetir o código várias vezes dependendo se uma condição é verdadeira ou falsa, e enquanto for, executa um laço. Vamos imprimir uma mensagem 10 vezes. int i = 0; while(i < 10){ //enquanto 1 for menor que 10 System.out.println(i+“ª vez!”); i++; //incrementa + 1 }
  • 14. For (para) Usado nas mesmas condições do while verificando uma condição de verdadeiro ou falso. A diferença é que recebe três argumentos. É um while “melhorado”. //inicia a variável; verifica condição;incrementa for (int i=0;i<10;i++){ System.out.println(i+“ª vez!”); }
  • 15. Orientação a Objetos Foi criada para tentar aproximar o mundo real do mundo virtual. A idéia fundamental é tentar simular o mundo real dentro do computador utilizando Objetos afinal, nosso mundo é composto de objetos.
  • 16. Pensando em Objetos Pensar em termos de objetos é muito parecido a como faríamos na vida real. Por exemplo, vamos pensar em um carro...
  • 17. Pensando em um carro...
  • 18. Pensando em um carro... Quais as características de um carro? Quais as funcionalidades? Em um esquema orientação a Objetos o carro seria o objeto, as propriedades seriam as características e os métodos seriam as funcionalidades, as ações.
  • 19. Java e Orientação a Objetos Em Java todos os objetos são manipulados através de uma referência (variável) e têm: estado (seus atributos), comportamento (seus métodos), identidade (a variável que contém sua referência). Valores unidimensionais não são objetos: números, booleanos, caracteres têm apenas identidade (nome da variável) e estado (valor da variável).
  • 20.
  • 21.
  • 22. Polimorfismo Sobrescrita Substituir um método da super­classe. Sobrecarga Criar uma variação de um método, alterando  sua assinatura (quantidade, tipo de parâmetros e exceções disparadas)
  • 23. Encapsulamento Simplifica o objeto expondo apenas a sua interface essencial. Também para impedir o acesso direto ao atributo de um objeto, disponibilizando externamente apenas os métodos que alteram estes estados. Exemplo: fabricação das portas do carro, funcionamento do motor de um carro.
  • 24. Encapsulamento Métodos e atributos que não devem ser usados externamente podem ter seu nível de acesso controlado através de modificadores: private: apenas acesso dentro da classe package-private (default): acesso dentro do pacote protected: acesso em subclasses public: acesso global
  • 25. Interface É um contrato entre a classe e o mundo externo. Quando uma classe implementa uma interface, ela está comprometida a fornecer o comportamento publicado pela interface.
  • 26. Orientação a Objetos Em orientação a objetos, implementamos um conjunto de classes que definem os objetos presentes no software. Cada classe determina o  comportamento (definido nos métodos) e estados  possíveis (atributos) de seus objetos, assim como o relacionamento com outros objetos.
  • 27. Vantagens da POO Divisão do código mais lógica e melhor encapsulada do que a empregada nos sistemas não orientados a objetos. Manutenção e extensão do código mais fácil e com menos riscos de inserção de bugs. Também é mais fácil reaproveitar o código. UML, divisão em pacotes, divisão do trabalho.
  • 28. O que preciso saber para ser um desenvolvedor Júnior? Java Básico e Orientação a Objetos Java Web (JSP e Servlets) Frameworks (Java Server Faces, Hibernate) Outros frameworks importantes: Spring, (Struts1 + Webwork) Struts 2, EJB, JPA, JasperReport, iReport...
  • 29. Basicamente é isso... Variáveis; operadores lógicos, aritméticos, relacionais; expresões; controle de fluxo; if; else; elseif; while; for; do while; foreach; identificadores; tratamento de exceção; arrays; collections; generics; enumeradores; classes; herança; polimorfismo, sobrecarga, sobreescrita; interface; encapsulamento; banco de dados; JDBC; SQL; queries; transações; swing; boxing; casting; jsp; servlets; html; css; javascript; servidor de aplicação; tomcat; JVM; servidor web; JSTL; taglibs; page; request; session; application; DAO; MVC; JSF; ORM; Hibernate; Richfaces; JPA; Richfaces; iReport; JasperReport; IDE...
  • 30. Certificações Java Programa de certificações Java. Já mudaram de Sun para Oracle.
  • 31. SCJA OCJA Sun Oracle Certified Java Associate Voltada mais para quem atua como "Gerente de Projetos de Software". Este perfil tem um entendimento geral sobre OOP, as plataformas Java, tecnologias Java e UML sem se ater a detalhes de implementação deixado para os especialistas. Valor pequeno para desenvolvedores. Certificação opcional.
  • 32. SCJP OCJP Sun Oracle Certified Java Programmer Programador profissional da linguagem Java. Grande valor de mercado para desenvolvedores. Obrigatória para as outras seguintes.
  • 33. SCJDP OCJD Sun Oracle Certified Java Developer. Especialista em desenvolvimento de aplicativos Java para desktop. Pouco valor de mercado principalmente no Brasil.
  • 34. SCWCD OCWCD Sun Oracle Certified Web ComponentDeveloper. Especialista em desenvolvimento Java de aplicativos e componentes web. (JSP e Servlets) Grande valor de mercado.
  • 35. SCBCD OCBCD Sun Oracle Certified Business ComponentDeveloper Especialista em desenvolvimento de componentes/camada de aplicação de negócio distribuídos. (EJB)
  • 36. SCDJWS OCDJWS Sun Oracle CertifiedDeveloper For Java Web Services Especialista em desenvolvimento de aplicações utilizando web services (paradigma SOA).
  • 37. SCMAD OCMAD Sun Oracle CertifiedMobile Application Developer Especialista em desenvolvimento de aplicativos Java para dispositivos móveis.
  • 38. SCEA OCEA Sun Oracle CertifiedMobile Application Developer Específico para o perfil de "Arquiteto de software". Acredito que seja a prova mais difícil composta não apenas detalhes gerais das plataformas Java, mas também por vários conceitos de engenharia de software. A prova possui 3 etapas.
  • 39. Dicas de Estudo Apostilas da Caelum. Projeto JEDI mantido pela comunidade Java e a Sun Oracle. Fórum GUJ (Grupo de Usuários Java). Use a Cabeça Java – Kathy Sierra. Cursos especializados (diminuem bastante a curva de aprendizado).
  • 40. Dúvidas? Contato fredericomaia10@gmail.com http://fredericoarantes.blogspot.com @fredmaia