minicurso java – como programar
TRANSCRIPT
-
8/3/2019 Minicurso Java Como programar
1/53
Minicurso Java Como
programarJean SilvaAluno do Curso de Informtica 4 Perodo - [email protected]
mailto:[email protected]:[email protected] -
8/3/2019 Minicurso Java Como programar
2/53
Introduo a linguagem
Java
Plataforma e Ambiente de
Execuo
-
8/3/2019 Minicurso Java Como programar
3/53
Histrico da Linguagem
1991 Sun Microsystems financia projeto de pesquisa, projeto Green
Objetivo: Elaborar um pequena linguagem de programao que pudesseser usada em eletrodomsticos
Baseada em C++ Cdigo independente de uma plataforma O cdigo podia ser usado em qualquer mquina que tivesse o
interpretador correto Resultou numa linguagem baseada em C++, chamada Oak Descobriu-se que j havia chamada Oak Equipe da Sun foi a uma cafeteria onde tiveram a ideia de colocar o
nome da linguagem de Java, cidade de origem de um caf importado
1992 Projeto Green lana primeiro produto
"*7 No obteve sucesso
-
8/3/2019 Minicurso Java Como programar
4/53
Histrico da Linguagem Surgimento da WWW - World Wide Web
Criaram um navegador capaz de executar cdigos dentro da pgina web - HotJava
1996 Lanada a primeira verso do Java: Java 1.0 Java 1.1
1998 Java 1.2 Java 2 Standard Edition Development Kit Version 1.2
Micro Edition
Enterprise Edition
Posteriormente as verses 1.3 e 1.4 s houve melhorias incrementais
2004 Primeira verso desde a 1.1 que atualizada de maneira significativa
A verso 1.5 pulou para 5.0 na conferncia JavaOne
-
8/3/2019 Minicurso Java Como programar
5/53
O que JAVA
Linguagem de programao Desenvolvida e mantida pela Sun Especificada pelo JCP (Java Community Process)
www.jcp.org
Plataforma de desenvolvimento Composta de
Ferramentas APIs (Application Programming Interface)
Extensa biblioteca de classes Java
Ambiente de execuo (JRE)
http://www.jcp.org/http://www.jcp.org/ -
8/3/2019 Minicurso Java Como programar
6/53
Caractersticas de JAVA
Simples No contm redundncias e fcil de entender, implementar e usar.
Orientada a objetos Suporta os principais conceitos de orientao a objetos. Favorece extensibilidade e reusabilidade
Multithread Suporte a aplicaes concorrentes Interpretada Independncia de plataforma Portabilidade
Aplicaes funcionam do mesmo jeito em qualquer ambiente Alto desempenho Robusta
Fortemente tipada. Programas so confiveis. Reduz imprevistos em tempo de execuo
Segura
-
8/3/2019 Minicurso Java Como programar
7/53
Plataforma de Desenvolvimento
Ambiente de execuo JRE (Java Runtime Environment)
Tudo necessrio para executar aplicaes JAVA
Kit de desenvolvimento JDK (Java Development Kit)
JRE
Ferramentas para desenvolvimento Compilador (javac), depurador (jdb), empacotador (jar), etc
-
8/3/2019 Minicurso Java Como programar
8/53
JVM
Java Virtual Machine Write once, run anywhere Mquina imaginria implementada como uma
aplicao de software em uma mquina real JVM l os bytecodesos traduz para uma
linguagem que o computador possa entender
-
8/3/2019 Minicurso Java Como programar
9/53
O papel da JVM
-
8/3/2019 Minicurso Java Como programar
10/53
Edies Java
Java atua em trs plataformas tentando atender todas asnecessidades: J2SE J2EE J2ME
-
8/3/2019 Minicurso Java Como programar
11/53
J2SE
Java Standard Edition Tecnologia Java para computadores pessoais,
notebooks e arquiteturas com poder de
processamento e memria considerveis Possui duas divises:
JDK JRE
Considerada plataforma padro
-
8/3/2019 Minicurso Java Como programar
12/53
J2EE
Java Enterprise Edition Tecnologia Java para aplicaes corporativas
Na internet ou no
Servidores de aplicao Principal preocupao a segurana
-
8/3/2019 Minicurso Java Como programar
13/53
J2ME
Java Micro Edition Tecnologia Java para dispositivos mveis com
limitao de memria e processamento
APIs bem mais simples e leves Usados para desenvolver sistemas em
Celulares Palm tops Pocket pcs Smartphones Javacards
-
8/3/2019 Minicurso Java Como programar
14/53
Introduo a Prtica
Nosso primeiro Aplicativo
JAVA
-
8/3/2019 Minicurso Java Como programar
15/53
O que preciso para programarem JAVA?
JDKJava Development Kit Kit de Desenvolvimento Pode ser baixado em:
http://download.oracle.com/javase/index.html
Instrues de instalao: http://www.oracle.com/technetwork/java/javase/index-137561.html
Um editor de Texto ou IDE O que voc preferir, desde que o formato gravado seja texto puro
Ex.: gedit (Linux), notepad (bloco de notas) ou notepad++ (windows) IDE (Integrated Development Environment Ambiente de
desenvolvimento integrado) Contm ferramentas para facilitar o desenvolvimento Ex.: NetBeans, Eclipse;
http://download.oracle.com/javase/index.htmlhttp://www.oracle.com/technetwork/java/javase/index-137561.htmlhttp://www.oracle.com/technetwork/java/javase/index-137561.htmlhttp://www.oracle.com/technetwork/java/javase/index-137561.htmlhttp://www.oracle.com/technetwork/java/javase/index-137561.htmlhttp://download.oracle.com/javase/index.html -
8/3/2019 Minicurso Java Como programar
16/53
Nosso primeiro aplicativo JAVA
Abra seu editor de texto Digite o cdigo fonte do programa abaixo Salve com a extenso PrimeiroPrograma.java
O nome do arquivo deve ser o mesmo nome da classe coma extenso.java
Abra o Console/Prompt de Comando Compile o programa
javac PrimeiroPrograma.java
publicclassPrimeiroPrograma{publicstaticvoidmain(String[] args) {
System.out.println("Bem Vindo Minicurso:Programando em JAVA!");
}}
-
8/3/2019 Minicurso Java Como programar
17/53
Nosso primeiro aplicativo JAVA
Execute o programa java PrimeiroPrograma
Compilando
Arquivo .class contendoos bytecodes gerado
Executandona JVM
Sada
-
8/3/2019 Minicurso Java Como programar
18/53
Variveis, tipos, expresses,comandos e blocos
-
8/3/2019 Minicurso Java Como programar
19/53
Variveis
Dois grupos de variveis Tipos primitivos Referncia a Objetos
Java possui oito tipos primitivos byte , short, int, long, float, double , char, boolean Os valores das variveis ficam armazenadas na pilha Declarao
int x,y;short s1,s2;char c;
float nota1;
-
8/3/2019 Minicurso Java Como programar
20/53
Tipos Primitivos
Palavra Descrio Tamanho/formato
Inteiros
byte Inteiro de um byte 8 bits
short Inteiro pequeno 16 bits
int Inteiro 32 bits
long Inteiro Longo 64 bits
Reais
float 32 bitsdouble 64 bits
Outros tipos
char 16 bits - Unicode
boolean true or false
-
8/3/2019 Minicurso Java Como programar
21/53
Tipos Primitivos
Inteiros (int) 10 ; 832 ; 2 ; -832 ; 131
Ponto flutuante (double) 3.2 ; 4.3 ; 1232.1232 ; 32.2
Caractere (char) a; b; c
Booleano (boolean) true ; false
-
8/3/2019 Minicurso Java Como programar
22/53
Nome de Variveis
Podem conter caracteres, dgitos , _ e $ No podem comear com dgitos No podem conter espaos Maisculas diferentes de minsculas Exemplos
nota, x, y, precoTotal, valorTotal, media1,media$total, media_alunos
-
8/3/2019 Minicurso Java Como programar
23/53
Comentrios em JAVA
Podemos usar duas formas de comentar: Comentrio de uma linha:
Comentrio de mltiplas linhas:
//Este um comentrio de uma linha
/*Este um
comentrio
de mltiplas
linhas*/
-
8/3/2019 Minicurso Java Como programar
24/53
OperadoresOperao Funo
Aritmticos
+ Soma
- Subtrao
* Multiplicao
/ Diviso
% Resto de diviso
Lgicos
&& e
|| ou
== igual
!= No-igual, diferente
Bit-a-bit
& e
| ou
^ Xor ou exclusivo
~ complemento
> Deslocamento a esquerda>>> Deslocamento a direita com zero
-
8/3/2019 Minicurso Java Como programar
25/53
Operadores Aritmticos
Operaes entre elementos de tipos diferentes H converso do tipo menor ao maior
double a=9.997;int b = (int)a;
//ou melhor
double a = 9.997;
int b = (int)Math.round(a);//arredondamento
-
8/3/2019 Minicurso Java Como programar
26/53
Precedncia
Parnteses determina precedncia x = (nota1*2 + nota2*3) / 5;
TABELA DE PRECEDNCIA
++ -- ! ~ Operadores unrios
* / % Operadores Multiplicativos+ - Operadores Aditivos
> >>> Deslocamento de Bits
< > = Operadores Relacionais
== != Operadores de Igualdade
& And Bit-a-bit^ Xor Bit-a-bit
| Or Bit-a-bit
&& And Lgico
|| Or Lgico
= op= Atribuies
-
8/3/2019 Minicurso Java Como programar
27/53
Incremento e decremento
int a = 10;int b = 20;int c, d;
c = a++;// c recebe 10d = ++b;// d recebe 21
a e b so incrementados em 1, porm as incrementado depois de usado,enquanto b e incrementado antes de serusado
-
8/3/2019 Minicurso Java Como programar
28/53
Comandos
Escrever dados ClasseSystem
Atributoout
Mtodo print() e println()
Ler dados
ClasseScanner
Condicionais if-else; switch-case
Laos de repetio(loop)
while; do-while; for
Bloco de comandos Agrupa mais de um
comando
-
8/3/2019 Minicurso Java Como programar
29/53
Lendo e apresentando dados
Entre com Seu nome: Jean
Bem Vindo Jean!
publicclass IOJava{
publicstaticvoidmain(String[] args){
java.util.Scanner sc = new
java.util.Scanner(System.in);
System.out.println("Entre com seu nome");
String nome = sc.nextLine();System.out.println("Bem Vindo "+nome+"!");
}
}
-
8/3/2019 Minicurso Java Como programar
30/53
Leitura de Dados
Tipos primitivos
nextByte () nextShort()
nextInt() nextLong() nextFloat() nextDouble() nextBoolean()
Objetos
next() nextLine()
nextBigDecimal() nextBigInteger()
-
8/3/2019 Minicurso Java Como programar
31/53
Comandos Condicionais:if-else
Sintaxe
Condio booleana qualquer expresso que retorne true ou false else opcional; depende da aplicao
if(condioBoleana){cdigo;
}else
cdigo;
int idade = 13;if(idade>=18)
System.out.println("Voce ehmaior de Idade!");
elseSystem.out.println("Voce eh
menor de Idade!");
-
8/3/2019 Minicurso Java Como programar
32/53
Selees MltiplasO comando switch
Usa-as quando h varias selees com muitas alternativas. Sintaxe:
switch(opcao){
case 1:comando;break;case 2:
comando;break;
case 3:comando;break;
}
Scanner sc = new Scanner(System.in);
-
8/3/2019 Minicurso Java Como programar
33/53
int opcao;do{
System.out.println("1 - Flamengo\n" +"2 - Vasco\n" +"3 - Fluminense\n" +"4 - So Paulo\n" +
"0 - Sair");System.out.println("Entre com a opo: ");opcao = sc.nextInt();switch(opcao){//escolha opcao
case 0:break;case 1://caso seja 1 faa:
System.out.println("Campeo...melhor do Brasil");break;case 2:
System.out.println(" fregus do mengo");break;case 3:
System.out.println("Murici o tcnico...");break;
case 4:System.out.println("Time de Boto!");
break;default:
System.out.println("Opo invlida, entre comopes vlidas");
break;}
}while(opcao!=0);
-
8/3/2019 Minicurso Java Como programar
34/53
Laos de Repetio:while e do-while
Usados para fazer loop Repetir trecho de cdigo algumas vezes
Sintaxe
do-while executa ainstruo pelo menos
uma vez
while(expresso)comando;
do{comando;
}while(expresso);
inti = 1;int soma = 0;
while (i < 10)soma +=i++;/*soma=soma+1 e
depois incrementa a i em 1*/
System.out.println(soma);
inti = 1;int soma = 0;do{
soma+=i;//mesmo que soma=soma+1i++;
}while(i
-
8/3/2019 Minicurso Java Como programar
35/53
Laos de Repetio:for
Usado tambm para fazer loop Sintaxe
for (inicializaes ; expresso ; passo)
comando;
int soma = 0;for (int i = 0 ; i < 10 ; i++)
soma+=i;System.out.println("A soma "+soma);
-
8/3/2019 Minicurso Java Como programar
36/53
Programao Orientada
a Objetos
Uma alternativa a
programao procedural
-
8/3/2019 Minicurso Java Como programar
37/53
O que POO
O problema da programao procedural Dificuldade em ler o cdigo que foi escrito por outro
desenvolvedor e descobrir como ele funcionainternamente
Paradigma POO Torna mais fcil a implementao de programas mais
complexos
Facilita a litura de cdigo escrito por outra pessoa Escreve menos cdigo Aplicao mais flexvel a mudanas Reusabilidade do cdigo
Aumento da produtividade
-
8/3/2019 Minicurso Java Como programar
38/53
O que POO
Programao orientada a objetos ,
portanto, uma maneira de fazer softwareutilizando-se abstraes matemticas doselementos do mundo real presentes nodomnio da aplicao
-
8/3/2019 Minicurso Java Como programar
39/53
Abstrao
-
8/3/2019 Minicurso Java Como programar
40/53
Objetos
O ser humano conhece o mundo e gerencia sua
complexidade atravs de objetos Um objeto representa um item identificvel,
uma unidade, ou entidade, individual, seja realou abstrato, com uma regra bem definida
Objeto = dados + operaes
-
8/3/2019 Minicurso Java Como programar
41/53
Objetos
Os objetos possuem Estado
Representado pelos valores dos atributos de um objeto
Os atributos so as caractersticas do meu objeto Comportamento
Definido pelo conjunto de mtodos do objeto Estado representa o resultado cumulativo de seu
comportamento Identidade
Forma que conhecemos o objeto, a referncia aoobjeto
-
8/3/2019 Minicurso Java Como programar
42/53
Classes e Objetos
Classe Define um objeto, ou seja onde conceituamos o
objeto
Define os atributos e mtodos Objeto uma instncia de uma classe
Instncia cada um dos objetos criados durante aexecuo de um aplicativo
Objetos so gravados na heap quando criados eremovidos pelo Garbage Collector do java quandono so mais uteis ao programa
-
8/3/2019 Minicurso Java Como programar
43/53
Visibilidade de atributos emtodos
-
8/3/2019 Minicurso Java Como programar
44/53
A classe Math
Localizada no pacote java.lang.Math Diretrios para organizar as classes H classes j predefinidas em java Consulta API
API Documentation
A classe Math Mtodos estticos
No precisam ser instanciados So referenciados pelo nome da classeint x = 9;
Math.sqrt(x);//retorna a raiz quadrada de x
http://download.oracle.com/javase/6/docs/api/index.htmlhttp://download.oracle.com/javase/6/docs/api/index.htmlhttp://download.oracle.com/javase/6/docs/api/index.htmlhttp://download.oracle.com/javase/6/docs/api/index.html -
8/3/2019 Minicurso Java Como programar
45/53
A classe String
Pacote java.lang.String Cadeia de caracteres Manipulando Strings:
String a = new String(Jean);//criando uma String
String b = Silva;
String nome = a+b;//valor de nome Jean Silva
nome+=10;//o valor de nome agora Jean Silva10
-
8/3/2019 Minicurso Java Como programar
46/53
Mtodos uteis para trabalhar comcadeias de caracteres
int length() retorna o tamanho da String
char charAt(int i) retorna o caractere no ndice i
int indexOf(char c) Retorna o indice do caractere c
char[] toCharArray(); Retorna a String em forma de
array String toLowerCase ();
Retorna nova String todaminscula
String toUpperCase (); Re torna nova String toda
maiscula
String trim();
Re torna nova String sem osespaos no inicio e fim
int compareTo(String s); Compara duas Strings
-
8/3/2019 Minicurso Java Como programar
47/53
Arrays
So objetos Preciso ser instanciados Sequncia de tipos (tipos primitivos ou objetos)
Declarao e instnciaint a[] = new int[10];//array dimensional ou vetor
double b[][] = new double[12];//array bidimensionalou matriz
String nomes[] = new String[20]; Indexao comea em 0
-
8/3/2019 Minicurso Java Como programar
48/53
Arrays
Scanner sc=new Scanner(System.in);
int v[]= newint[10];
//preencher array
for(int i=0; i
-
8/3/2019 Minicurso Java Como programar
49/53
Colees
Pacote java.util Coleo uma estrutura de dados um objeto Armazena referncia de outros objetos e
normalmente do mesmo tipo Alto desempenho Alta qualidade Reutilizao de software Minimizam a quantidade de codificao
-
8/3/2019 Minicurso Java Como programar
50/53
Usando Colees
InstnciaList lista = new ArrayList();
Manipulao
Addlista.add(objeto);
RemoveLista.remove(objeto);
Ex:List nomes = new ArrayList();
String a = jean;
String b = Astrobildo;
nomes.add(a);
nomes.add(b)
nomes.remove(b);
-
8/3/2019 Minicurso Java Como programar
51/53
Aplicando o
conhecimento
Construindo uma aplicao
em java usando o IDENetBeans
-
8/3/2019 Minicurso Java Como programar
52/53
Agenda Telefnica Simples
-
8/3/2019 Minicurso Java Como programar
53/53
Referncias e Indicaes