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

Java orientação a objetos (associacao, composicao, agregacao)
Java   orientação a objetos (associacao, composicao, agregacao)Java   orientação a objetos (associacao, composicao, agregacao)
Java orientação a objetos (associacao, composicao, agregacao)
Armando Daniel
 

Mais procurados (20)

Java modulo 01 - Introdução
Java modulo 01 - IntroduçãoJava modulo 01 - Introdução
Java modulo 01 - Introdução
 
Aula de Introdução - JAVA
Aula de Introdução  - JAVAAula de Introdução  - JAVA
Aula de Introdução - JAVA
 
Curso de OO com C# - Parte 01 - Orientação a objetos
Curso de OO com C# - Parte 01 - Orientação a objetosCurso de OO com C# - Parte 01 - Orientação a objetos
Curso de OO com C# - Parte 01 - Orientação a objetos
 
Curso javascript básico
Curso javascript básicoCurso javascript básico
Curso javascript básico
 
C#
C#C#
C#
 
Aula 02 - Principios da Orientação a Objetos (POO)
Aula 02 - Principios da Orientação a Objetos (POO)Aula 02 - Principios da Orientação a Objetos (POO)
Aula 02 - Principios da Orientação a Objetos (POO)
 
Introdução a Linguagem Java
Introdução a Linguagem JavaIntrodução a Linguagem Java
Introdução a Linguagem Java
 
Programação Orientação a Objetos - Herança
Programação Orientação a Objetos - HerançaProgramação Orientação a Objetos - Herança
Programação Orientação a Objetos - Herança
 
Introdução a JavaScript
Introdução a JavaScriptIntrodução a JavaScript
Introdução a JavaScript
 
JAVA - Orientação a Objetos
JAVA - Orientação a ObjetosJAVA - Orientação a Objetos
JAVA - Orientação a Objetos
 
Introdução a Algoritmos: Conceitos Básicos
Introdução a Algoritmos: Conceitos BásicosIntrodução a Algoritmos: Conceitos Básicos
Introdução a Algoritmos: Conceitos Básicos
 
[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
 
Aula de Introdução - JAVA
Aula de Introdução  - JAVAAula de Introdução  - JAVA
Aula de Introdução - JAVA
 
Java orientação a objetos (associacao, composicao, agregacao)
Java   orientação a objetos (associacao, composicao, agregacao)Java   orientação a objetos (associacao, composicao, agregacao)
Java orientação a objetos (associacao, composicao, agregacao)
 
Java script - funções
Java script - funçõesJava script - funções
Java script - funções
 
Ds aula 01 - Introdução ao Visual Studio CSharp - Modo Visual
Ds aula 01 - Introdução ao Visual Studio CSharp - Modo VisualDs aula 01 - Introdução ao Visual Studio CSharp - Modo Visual
Ds aula 01 - Introdução ao Visual Studio CSharp - Modo Visual
 
Introdução à Qualidade e Testes Ágeis de Software
Introdução à Qualidade e Testes Ágeis de SoftwareIntrodução à Qualidade e Testes Ágeis de Software
Introdução à Qualidade e Testes Ágeis de Software
 
Introdução à Linguagem de Programação C
Introdução à Linguagem de Programação CIntrodução à Linguagem de Programação C
Introdução à Linguagem de Programação C
 
Aula01 - Logica de Programação
Aula01 - Logica de ProgramaçãoAula01 - Logica de Programação
Aula01 - Logica de Programação
 
Orientação a Objetos - Introdução - Exercícios
Orientação a Objetos - Introdução - ExercíciosOrientação a Objetos - Introdução - Exercícios
Orientação a Objetos - Introdução - Exercícios
 

Semelhante a Java e orientação a objetos

Poo slides01
Poo slides01Poo slides01
Poo slides01
jmtofoli
 
Java introdução ao java
Java   introdução ao javaJava   introdução ao java
Java introdução ao java
Armando Daniel
 
Apresentação java
Apresentação javaApresentação java
Apresentação java
munosai
 

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

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
Frederico 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 Engine
Frederico 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
 

Último

Último (6)

Boas práticas de programação com Object Calisthenics
Boas práticas de programação com Object CalisthenicsBoas práticas de programação com Object Calisthenics
Boas práticas de programação com Object Calisthenics
 
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docxATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
 
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docxATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
 
ATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docx
ATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docxATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docx
ATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docx
 
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docxATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
 
Padrões de Projeto: Proxy e Command com exemplo
Padrões de Projeto: Proxy e Command com exemploPadrões de Projeto: Proxy e Command com exemplo
Padrões de Projeto: Proxy e Command com exemplo
 

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