Escolar Documentos
Profissional Documentos
Cultura Documentos
• Apresentação;
• O que é e para que serve Programação;
• 5 principais linguagens de programação;
• Porque programar em Java;
• Plataformas Java;
• Maquina Virtual (JVM);
• Comunidades: Os grupos de usuários Java são muito fortes em todo o mundo e graças a eles é possível obter
material para estudos de maneira fácil, participar de encontros regionais, palestras e até minicursos.
• Grande número de frameworks: Existem hoje uma variedade de frameworks que visam facilitar o trabalho do
desenvolvedor.
• O Java não roda somente Java: A máquina virtual Java atualmente roda cerca de 350 linguagens com pontos
interessantes, por exemplo, o Groovy linguagem dinâmica, Scala que é específica para concorrência dentre outras
linguagens como JPython , Python, Jruby e o Ruby.
• Desenvolva em qualquer sistema operacional para qualquer sistema operacional: Quando se compila um
arquivo em Java ele gera um bytecode que é interpretado numa JVM. Basta seu sistema operacional ter uma JVM,
é possível executar o Java nos sistemas operacionais Windows, GNU/Linux e Mac.
Montando Ambiente
https://www.eclipse.org/downloads/packages/installer
Pacote desenvolvedor –
Clique aqui para baixar o JDK
JRE = Java Runtime Environment, ambiente de execução Java, formado pela JVM
e bibliotecas, tudo que você precisa para executar uma aplicação Java.
Ele é formado pela JRE somado a ferramentas, como o compilador. Tanto o JRE e
o JDK podem ser baixados do site http://www.oracle.com/technetwork/java/.
Para criar um novo
projeto abra a IDE, que
instalamos na aula
anterior, e escolha a
opção Create New
Project.
• Na tela de criação do projeto, devemos escolher a
opção Java, no menu à esquerda, e em seguida clicar
sobre o botão Next.
• Na figura abaixo vemos em Project SDK a versão do
JDK reconhecida pela IDE selecionada.
Não precisa selecionar nada , pois não
iremos iniciar com código pronto.
• O Eclipse possui muitos atalhos úteis para o programador. Sem dúvida os 3 mais importantes de conhecer e de praticar são:
• Ctrl + 1 Aciona o quick fixes com sugestões para correção de erros.
• Ctrl + Espaço Completa códigos
• Ctrl + 3 Aciona modo de descoberta de menu. Experimente digitar Ctrl+3 e depois digitar ggas e enter. Ou então de Ctrl + 3 e digite new class.
• Ctrl + F11 roda a última classe que você rodou. É o mesmo que clicar no ícone verde que parece um botão de play na barra de ferramentas.
• Ctrl + PgUp e Ctrl + PgDown Navega nas abas abertas. Útil quando estiver editando vários arquivos ao mesmo tempo.
• Ctrl + Shift + F Formata o código segundo as convenções do Java
• Ctrl + M Expande a View atual para a tela toda (mesmo efeito de dar dois cliques no título da View)
• Ctrl + Shift + L Exibe todos os atalhos possíveis.
• Ctrl + O Exibe um outline para rápida navegação
• Alt + Shift + X e depois J Roda o main da classe atual. Péssimo para pressionar! Mais fácil você digitar Control+3 e depois digitar Run!. Abuse desde já do
Control+3
Plataformas Java:
O Java não se resume em uma linguagem, mas é uma plataforma de desenvolvimento.
• JSE: Java Standard Edition. A versão básica do Java com ela é possível desenvolver diversos
aplicativos para desktop, normalmente aqueles que querem se aprofundar nessa tecnologia
começam por essa plataforma. Existem pacotes para se desenvolver programas em console ou,
por exemplo, Swing que se pode desenvolver software com interface gráfica.
• Java TV: Dentro da plataforma JME, o Java TV traz uma API que ter permite o desenvolvimento para a
Televisão Digital com recursos como fluxo de áudio e vídeo, acesso aos dados nos canais de transmissão,
sincronia das mídias dentre outros. Esta tecnologia veio a ser amplamente estudada e desenvolvida após a
definição do padrão de televisão digital brasileiro.
• Java FX: Essa plataforma visa a criação da Internet rica, aplicações web com características de um
programa tradicional de um desktop, em diversos dispositivos (desktop, browser, telefone celulares, TVs,
video-games, Blu-rays players etc.).
• JEE: Java Enterprise Edition é uma versão voltada para as empresas e para aplicativos web. Uma grande
característica dessa plataforma é a necessidade de um servidor de aplicação. Recebeu a atualização para a
versão 6, dentre os frameworks dessa plataforma podemos citar: JSP (Java Server Pages): De uma maneira
geral ele executa Java em sua página.
Plataformas Java:
• JPA (Java Persistence API): Ele funciona como um padrão dos padrões de persistência. Com
ele se pode modificar de framework de persistência (hibernate, toplink etc) com impacto zero
em sua aplicação.
• JSF (Java Server Faces): Framework responsável pela camada de visão muito indicado para
programas que utilizarão o padrão MVC (Model View Control), uma de suas características é o
uso do AJAX de maneira nativa.
• Java Card: Programação voltada para o desenvolvimento de cartões inteligentes. Um dos
seus principais benefícios do seu uso é a portabilidade e a segurança. Esses dispositivos vêm
crescendo nos últimos anos e tendem a crescer ainda mais.
Sintaxe Java
Java - Introdução
• Java é uma linguagem de programação orientada a objetos e baseada em classes, muito utilizada
na programação web back-end e na programação mobile para Android.
• O objetivo dessa Aula é construir um programa, que escreve a frase Hello World no terminal
utilizando a linguagem Java.
• E pra chegar nesse resultado daremos dois passos fundamentais no aprendizado do Java que são:
• Criar uma primeira classe
• Criar uma instância dessa classe
• Esses dois passos serão reproduzidos diversas vezes ao escrever programas em Java.
O comando utilizado para escrever no
terminal possui a seguinte estrutura:
• Aqui utilizamos o
objeto System.out para invocar
o método println(), que pode
System.out.println(); receber como parâmetro o
texto que desejamos imprimir
no terminal.
Implementando “Hello World”:
• public class HelloWorld { Classe
Metodo
• public void sayHello() {
• // Imprime a mensagem Hello World! no terminal
• System.out.println("Hello World!");
• }
•}
Classes:
• Uma classe nada mais é do que um projeto que abstrai um conjunto de objetos com
características similares.
• Uma classe define o comportamento de seus objetos através de métodos e os estados possíveis
destes objetos através de atributos.
• Em outros termos, uma classe descreve os serviços providos por seus objetos e quais
informações eles podem armazenar.
Note que uma Classe não tem vida, é só um conceito.
• Mas os Objetos possuem vida.
• Classes não são diretamente suportadas em todas as linguagens, e são necessárias para que
uma linguagem seja orientada a objetos.
• Classes são os elementos primordiais de um diagrama de classes.
CLASSES E
OBJETOS
Quando damos new em um objeto, ele o inicializa com seus valores default,
0 para números, false para boolean e null para referências.
null é uma palavra chave em java, que indica uma referência para nenhum
objeto.
Se, em algum caso, você tentar acessar um atributo ou método de alguém que
está se referenciando para null, você receberá um erro durante a execução
(NullPointerException)
Instanciar uma Classe
Vamos criar uma nova classe , chamada Program e
instanciar a classe HelloWorld invocando o método SayHello.
}
}
}
}
MÁQUINA VIRTUAL Esse código executável (binário) resultante
será executado pelo sistema operacional e,
Linguagem Compilada
por esse motivo, ele deve saber conversar
com o sistema operacional em questão.
Algumas linguagens de programação como C ou
Pascal é necessário compilar o código para
diferentes sistemas operacionais
MÁQUINA VIRTUAL
Linguagem Interpretada
Para criar um identificador (nome da variável) em Java, precisamos seguir algumas regras,
listadas a seguir:
Uma estação ferroviária é composta por 1 ou mais linhas ferroviárias. Em uma linha ferroviária
podem estar estacionados diversos recursos ferroviários. Recursos ferroviários são vagões,
locomotivas ou trens. Um trem é formado por vagões e locomotivas. Podem existir vagões e
locomotivas estacionadas em uma linha sem estarem na formação de um trem. Uma estação
ferroviária tem uma sigla e uma descrição (que não precisa obrigatoriamente possuir um valor). Uma
linha ferroviária tem um número (que a diferencia de outra linha dentro da mesma estação), uma
extensão em metros e uma descrição (que não precisa obrigatoriamente ter um valor). Um vagão é
descrito por um número de série, tipo, capacidade de carga (valor default igual a 3000 ton),
comprimento entre testeiras e comprimento dos engates (um único valor correspondendo aos dois
lados). Uma locomotiva é descrita por um número de série, capacidade de tração e comprimento. Um
trem é descrito por um prefixo (ex: NAG1010) e data/hora de formação. Um trem é formado em uma
estação ferroviária de origem e tem como destino, uma outra estação ferroviária, ou seja, a estação de
origem não pode ser igual à estação de destino. Todo trem é formado por pelo menos uma
locomotiva e um vagão. Um trem não pode ter mais do que 150 recursos (vagões
e locomotivas).
Elabore um diagrama de classes (UML) ilustrando os conceitos (classes, atributos e relacionamentos)
e restrições mencionados no texto. Não esqueça de colocar os tipos, valor default e multiplicidade
dos atributos.
Restrições:
Um trem é formado por vagões e locomotivas estacionados na mesma linha
Podem existir vagões e locomotivas estacionadas em uma linha sem estarem na formação de um trem
A estação de origem não pode ser igual à estação de destino
Resposta Exercício de fixação:
Sintaxe
Para declarar uma classe em java, utilizamos a palavra reservada class seguida pelo nome da
classe.
Na sequencia, entre chaves, definimos os elementos da classe: atributos, construtores e
métodos.
Sintaxe de declaração de classe:
}
Sintaxe – modificador de acesso
Precisaremos especificar o modificador de acesso, que, por meio dele informamos a
visibilidade da classe, que pode ser public, private ou default.
public Produto() {
// Código do construtor
}
}
A classe Produto foi declarada como public, poderá ser utilizada por todas as classes do projeto.
Regras para nomeação de classes
• Variáveis Locais
• Podem ser utilizadas dentro do método onde foram declaradas, não sendo
acessíveis de outros pontos do programa.
• Variáveis de Classe
• Variáveis declaradas como estáticas são variáveis compartilhadas entre todos os
objetos instanciados a partir de uma classe. Por isso, essas variáveis também são
conhecidas como Variáveis de Classe.
Variáveis
Tipo Descrição
boolean Pode assumir o valor true ou o valor false
Caractere em notação Unicode de 16 bits. Serve para a armazenagem de dados alfanuméricos. Também pode ser usado como um
char dado inteiro com valores na faixa entre 0 e 65535.
byte Inteiro de 8 bits em notação de complemento de dois. Pode assumir valores entre -27=-128 e 27-1=127.
short Inteiro de 16 bits em notação de complemento de dois. Os valores possível cobrem a faixa de -2-15=-32.768 a 215-1=32.767
int Inteiro de 32 bits em notação de complemento de dois. Pode assumir valores entre -231=2.147.483.648 e 231-1=2.147.483.647.
long Inteiro de 64 bits em notação de complemento de dois. Pode assumir valores entre -263 e 263-1.
Representa números em notação de ponto flutuante normalizada em precisão simples de 32 bits em conformidade com a norma
float IEEE 754-1985. O menor valor positivo representável por esse tipo é 1.40239846e-46 e o maior é 3.40282347e+38
Representa números em notação de ponto flutuante normalizada em precisão dupla de 64 bits em conformidade com a norma IEEE
double 754-1985. O menor valor positivo representável é 4.94065645841246544e-324 e o maior é 1.7976931348623157e+308
Declaração e inicialização
Qual a diferença entre declaração e inicialização?
• Seu nome
• Seu endereço
• Sua idade
• Seu estado civil, representado por uma letra (C, S, V, D, E, etc)
• O salário, armazenado como tipo float.
E que depois exiba essas informações no console, uma por linha, como em um pequeno relatório.
A sintaxe é simples:
if (condicaoBooleana) {
codigo; public static void main(String[] args) {
int idade = 18;
}
if (idade < 18) {
System.out.println("Não pode entrar");
Qualquer expressão que retorne true } else {
ou false é uma condição booleana. System.out.println("Entrada Liberada");
}}
Costumamos usar os operadores: < , >
, <= , >=
Você pode concatenar expressões booleanas através dos operadores lógicos "E" e "OU".
O "E" é representado pelo && e o "OU" é representado pelo || .
Ex: if (idade < 18 && !amigoDoDono )
Classe Scanner
import java.util.Scanner;
Para fazer essa ação na prática, é necessário criar um objeto do tipo Scanner
que passa como argumento o objeto System.in dentro construtor
3- Leia o nome e imprime Ola (inclua o nome digitado), qual sua idade?;
4- Leia a idade e escreva : Ah! então voce tem : (idade digitada) anos nome digitado
Resposta Exercício Scanner
import java.util.Scanner;
}
O WHILE
************
O mesmo faremos na sequencia utilizando
texto.
import java.util.Scanner;
import java.util.Scanner;
switch(valor) {
case alternativa1:
código1;
break;
case alternativa2:
código2;
break;
case default:
códigoPadrão;
}
Switch - Exercício
"Linguagem desconhecida"
Switch - Resposta
import java.util.Scanner;
switch (nome) {
case "Java":
System.out.println("Melhor escolha! Esta linguagem é Orientada a Objetos");
break;
case "C":
System.out.println("Esta liguagem é estruturada");
break;
default:
System.out.println("Linguagem desconhecida");
}
}
}