Sunteți pe pagina 1din 53

Minicurso Java Como programar

Jean Silva Aluno do Curso de Informtica 4 Perodo - IFRN jeangleison2@gmail.com

Introduo a linguagem Java


Plataforma e Ambiente de Execuo

Histrico da Linguagem

1991
Sun Microsystems financia projeto de pesquisa, projeto Green Objetivo: Elaborar um pequena linguagem de programao que pudesse ser 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

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

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)

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

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

JVM

Java Virtual Machine Write once, run anywhere Mquina imaginria implementada como uma
aplicao de software em uma mquina real JVM l os bytecodes os traduz para uma linguagem que o computador possa entender

O papel da JVM

Edies Java

Java atua em trs plataformas tentando atender todas as necessidades:


J2SE J2EE J2ME

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

J2EE

Java Enterprise Edition Tecnologia Java para aplicaes corporativas


Na internet ou no Servidores de aplicao

Principal preocupao a segurana

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

Introduo a Prtica
Nosso primeiro Aplicativo JAVA

O que preciso para programar em JAVA?

JDK Java 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;

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 com
a extenso .java
public class PrimeiroPrograma{ public static void main(String[] args) { System.out.println("Bem Vindo Minicurso: Programando em JAVA!"); } }

Abra o Console/Prompt de Comando


Compile o programa
javac PrimeiroPrograma.java

Nosso primeiro aplicativo JAVA

Execute o programa java PrimeiroPrograma

Arquivo .class contendo os bytecodes gerado

Compilando

Executando na JVM

Sada

Variveis, tipos, expresses, comandos e blocos

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;

Tipos Primitivos
Palavra byte short int long float double Outros tipos char boolean 16 bits - Unicode true or false Descrio Inteiros Inteiro de um byte Inteiro pequeno Inteiro Inteiro Longo Reais 32 bits 64 bits 8 bits 16 bits 32 bits 64 bits Tamanho/formato

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

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

Comentrios em JAVA

Podemos usar duas formas de comentar: Comentrio de uma linha:



//Este um comentrio de uma linha

Comentrio de mltiplas linhas:


/*Este um comentrio de mltiplas linhas*/

Operadores
Operao Aritmticos Funo

+
* / %

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 direita Deslocamento a esquerda Deslocamento a direita com zero

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

Precedncia

Parnteses determina precedncia


x = (nota1*2 + nota2*3) / 5;
++ -- ! ~ * / % + << >> >>> < > <= >= == != & ^ | && || = op= 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 Atribuies

Incremento e decremento
int int int c = d = a = 10; b = 20; c, d; a++;// c recebe 10 ++b;// d recebe 21

a e b so incrementados em 1, porm a s incrementado depois de usado, enquanto b e incrementado antes de ser usado

Comandos

Escrever dados Classe System Atributo out Mtodo


print() e println()

Laos de repetio (loop) while; do-while; for Bloco de comandos Agrupa mais de um
comando

Ler dados Classe Scanner Condicionais if-else; switch-case

Lendo e apresentando dados


public class IOJava{ public static void main(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+"!"); } }

Entre com Seu nome:


Jean

Bem Vindo Jean!

Leitura de Dados
Tipos primitivos nextByte () nextShort() nextInt() nextLong() nextFloat() nextDouble() nextBoolean() Objetos next() nextLine() nextBigDecimal() nextBigInteger()

Comandos Condicionais: if-else

Sintaxe

if(condioBoleana){ cdigo; }else cdigo;

Condio booleana qualquer expresso que retorne true ou false else opcional; depende da aplicao
int idade = 13; if(idade>=18) System.out.println("Voce eh maior de Idade!"); else System.out.println("Voce eh menor de Idade!");

Selees Mltiplas O 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); 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 com opes vlidas"); break; } }while(opcao!=0);

Laos de Repetio: while e do-while

Usados para fazer loop


Repetir trecho de cdigo algumas vezes

Sintaxe
while(expresso) comando; do{ comando; }while(expresso);

int i = 1; int soma = 0; while (i < 10) soma +=i++;/*soma=soma+1 e depois incrementa a i em 1*/ System.out.println(soma);
int i = 1; int soma = 0; do{ soma+=i;//mesmo que soma=soma+1 i++; }while(i<10); System.out.println(soma);

do-while executa a
instruo pelo menos uma vez

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);

Programao Orientada a Objetos


Uma alternativa a programao procedural

O que POO

O problema da programao procedural


Dificuldade em ler o cdigo que foi escrito por outro
desenvolvedor e descobrir como ele funciona internamente

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

O que POO
Programao orientada a objetos , portanto, uma maneira de fazer software utilizando-se abstraes matemticas dos elementos do mundo real presentes no domnio da aplicao

Abstrao

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 real ou abstrato, com uma regra bem definida

Objeto = dados + operaes

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 ao objeto

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 a
execuo de um aplicativo Objetos so gravados na heap quando criados e removidos pelo Garbage Collector do java quando no so mais uteis ao programa

Visibilidade de atributos e mtodos

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 classe int x = 9; Math.sqrt(x);//retorna a raiz quadrada de x

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

Mtodos uteis para trabalhar com cadeias de caracteres


int length()
retorna o tamanho da String

String toUpperCase ();


Re torna nova String toda
maiscula

char charAt(int i)
retorna o caractere no ndice i

String trim();
Re torna nova String sem os
espaos no inicio e fim

int indexOf(char c)
Retorna o indice do caractere c

char[] toCharArray();
Retorna a String em forma de
array

int compareTo(String s);


Compara duas Strings

String toLowerCase ();


Retorna nova String toda
minscula

Arrays

So objetos Preciso ser instanciados Sequncia de tipos (tipos primitivos ou objetos) Declarao e instncia
int a[] = new int[10];//array dimensional ou vetor double b[][] = new double[12];//array bidimensional ou matriz String nomes[] = new String[20];

Indexao comea em 0

Arrays
int vetor[] = new int[3]; vetor[0]=0;//indexao comea de 0 vetor[1]=10; vetor[2]=20; System.out.println(vetor[0]+" "+vetor[1]+" "+vetor[2]+" ");

Preencher e imprimir array


Scanner sc=new Scanner(System.in); int v[]= new int[10]; //preencher array for(int i=0; i<10; i++){ System.out.println("Entre com o "+(i+1)+" valor: "); int a = sc.nextInt(); v[i]=a; } //imprimir array for(int i=0; i<10; i++){ System.out.println("Valor "+(i+1)+": "+v[i]); }

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

Usando Colees
Instncia List <Tipo> lista = new ArrayList<Tipo>();

Manipulao Add lista.add(objeto);

Remove Lista.remove(objeto);

Ex:

List <String> nomes = new ArrayList<String>(); String a = jean; String b = Astrobildo; nomes.add(a); nomes.add(b) nomes.remove(b);

Aplicando o conhecimento
Construindo uma aplicao em java usando o IDE NetBeans

Agenda Telefnica Simples

Referncias e Indicaes

S-ar putea să vă placă și