Introduo Linguagem Java Modelagem e Programao Orientada a

  • Slides: 25
Download presentation
Introdução à Linguagem Java Modelagem e Programação Orientada a Objetos Curso Superior de Tecnologia

Introdução à Linguagem Java Modelagem e Programação Orientada a Objetos Curso Superior de Tecnologia em Sistemas para Internet Prof. Cristiano Stüpp Nunes cristiano. nunes@metrocamp. edu. br

2 Java § Linguagem de programação orientada a objetos; § Desenvolvida na década de

2 Java § Linguagem de programação orientada a objetos; § Desenvolvida na década de 90 por uma equipe de programadores chefiada por James Gosling, na empresa Sun Microsystems (comprada pela Oracle); § Permite desenvolver: » Web. Services » Enterprise Java. Beans (EJB) » Java Servlets » Java. Server Pages (JSP) Modelagem e Programação Orientada a Objetos Curso Superior em Tecnologia de Sistemas para Internet

3 Java �Distribuições: » J 2 SE (Standard Edition): Para desenvolvimento de aplicações desktop,

3 Java �Distribuições: » J 2 SE (Standard Edition): Para desenvolvimento de aplicações desktop, cliente/servidor; » J 2 ME (Micro Edition): Para desenvolvimento de aplicativos para celulares e PDAs; » J 2 EE (Enterprise Edition): Para desenvolvimento de aplicações distribuídas, multicamadas e WEB. Modelagem e Programação Orientada a Objetos Curso Superior em Tecnologia de Sistemas para Internet

4 Hello World class Hello. World. App { //Comentário de linha public static void

4 Hello World class Hello. World. App { //Comentário de linha public static void main(String[] args) { System. out. println("Hello World!"); } /* Comentário de bloco */ } Modelagem e Programação Orientada a Objetos Curso Superior em Tecnologia de Sistemas para Internet

5 Hello World �Para executar o aplicativo Hello World é preciso: » Salvar o

5 Hello World �Para executar o aplicativo Hello World é preciso: » Salvar o arquivo de código-fonte com o mesmo nome usado após a palavra reserva class, como a extensão. java. Neste caso: Hello. World. App. java » Compilar o código fonte para que seja gerado o. class, da seguinte maneira: javac Hello. World. App. java » Executar o aplicativo usando apenas o nome da classe: java Hello. World. App � Importante: a linguagem Java é case-sensitive, ou seja, diferencia entre maiúsculas e minúsculas. Modelagem e Programação Orientada a Objetos Curso Superior em Tecnologia de Sistemas para Internet

6 Hello. World. App revisitado a) Altere a linha System. out. println("Hello World!"); para

6 Hello. World. App revisitado a) Altere a linha System. out. println("Hello World!"); para System. out. println("Hello " + args[0] + " e " + args[1]); b) Compile novamente o programa com javac c) Execute o programa da seguinte forma: java Hello. World. App Francisco Maria d) Como args é um vetor dinâmico de objetos da classe String e é o argumento do método main() desse programa, Francisco e Maria são passados como parâmetros quando o java executa esse método. Modelagem e Programação Orientada a Objetos Curso Superior em Tecnologia de Sistemas para Internet

7 Como o Java é executado Código Fonte Hello. World. App. javac Hello. World.

7 Como o Java é executado Código Fonte Hello. World. App. javac Hello. World. App. java Java Byte Code Hello. World. App. class java Hello. World. App JVM JVM Modelagem e Programação Orientada a Objetos Curso Superior em Tecnologia de Sistemas para Internet Existem uma JVM (Java Virtual Machine) para cada tipo de sistema operacional.

Tipos de dados (Tipos Primitivos) �boolean ◦ Pode assumir o valor true ou o

Tipos de dados (Tipos Primitivos) �boolean ◦ Pode assumir o valor true ou o valor false �char ◦ Caractere em notação Unicode de 16 bits. Serve para a armazenagem de dados alfanuméricos. �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ívels cobrem a faixa de -2 -15=-32. 768 a 215 -1=32. 767 Modelagem e Programação Orientada a Objetos Curso Superior em Tecnologia de Sistemas para Internet 8

Tipos de dados (Tipos Primitivos) �int ◦ Inteiro de 32 bits em notação de

Tipos de dados (Tipos Primitivos) �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. �float ◦ Representa números em notação de ponto flutuante normalizada em precisão simples de 32 bits. O menor valor positivo represntável por esse tipo é 1. 40239846 e-46 e o maior é 3. 40282347 e+38 �double ◦ Representa números em notação de ponto flutuante normalizada em precisão dupla de 64 bits. O menor valor positivo representável é 4. 94065645841246544 e-324 e o maior é 1. 7976931348623157 e+308 Modelagem e Programação Orientada a Objetos Curso Superior em Tecnologia de Sistemas para Internet 9

10 Classe String �Java não disponibiliza de um tipo primitivo para tratar cadeia de

10 Classe String �Java não disponibiliza de um tipo primitivo para tratar cadeia de caracteres (palavras), mas sim uma classe para tal, chamada String; //declara um objeto String e já o inicializa com um valor (frase) String uma. Frase = “Não existe tipo primitivo para String”; //retorna a décima sétima letra da String, neste caso, a letra p uma. Frase. char. At( 17 ); //retorna o número de caracteres da String, neste caso, 38 uma. Frase. length(); Tudo sobre a classe String: http: //docs. oracle. com/javase/7/docs/api/java/lang/String. html Modelagem e Programação Orientada a Objetos Curso Superior em Tecnologia de Sistemas para Internet

11 Declaração de variáveis //Declaração simples char sexo; //Declaração simultânea boolean ligado, encontrou; //Declaração

11 Declaração de variáveis //Declaração simples char sexo; //Declaração simultânea boolean ligado, encontrou; //Declaração e atribuição simultâneas byte a=10, b=5, c; //Declaração e atribuição em diferentes instruções int valor; valor = 100; Modelagem e Programação Orientada a Objetos Curso Superior em Tecnologia de Sistemas para Internet

12 Arrays (vetores ou matrizes) § São estruturas de dados capazes de armazenar mais

12 Arrays (vetores ou matrizes) § São estruturas de dados capazes de armazenar mais de um valor do mesmo tipo sob o mesmo nome; § Cada valor de um array é identificado por um índice; § Forma Geral: <tipo>[] <nome_do_array> = new <tipo>[no de elementos]; Ou <tipo> <nome_do_array>[] = new <tipo>[no de elementos]; Modelagem e Programação Orientada a Objetos Curso Superior em Tecnologia de Sistemas para Internet

Declaração e atribuição de arrays //Declaração e dimensionamento na mesma instrução char alfabeto[] =

Declaração e atribuição de arrays //Declaração e dimensionamento na mesma instrução char alfabeto[] = new char[26]; //Declaração e dimensionamento em diferentes instruções int[] num; num = new int[10]; //Declaração e atribuição dimensionada float nota[] = { 7. 8, 8. 4, 4. 2, 1. 8, 6. 4 }; nota. length //Retorna o valor 5, pois é a quantidade de elementos do array nota //Declaração dimensionada e atribuição em diferentes instruções char sexo[] = new char[2]; sexo[0] = “M”; sexo[1] = “F”; //Declaração dinâmica, mas em algum momento terá que se dimensionar boolean tabela_verdade[]; Modelagem e Programação Orientada a Objetos Curso Superior em Tecnologia de Sistemas para Internet 13

14 Símbolos especiais n t b r f \ ’ ” Avanço de linha

14 Símbolos especiais n t b r f \ ’ ” Avanço de linha (LF) (imprime na próxima linha) Avanço de parágrafo (tabulação) Início de linha (retrocesso) Carriage Return (CR) Avanço de página Imprime uma barra invertida Imprime o caracter apóstrofe Imprime o caracter aspas Modelagem e Programação Orientada a Objetos Curso Superior em Tecnologia de Sistemas para Internet

15 Símbolos especiais Comando: System. out. println(“linha de cima n linha de baixo”); Saída:

15 Símbolos especiais Comando: System. out. println(“linha de cima n linha de baixo”); Saída: linha de cima linha de baixo Comando: System. out. println(“Java vai entre aspas assim: ”Java”. “); Saída: Java vai entre aspas assim: ”Java”. Modelagem e Programação Orientada a Objetos Curso Superior em Tecnologia de Sistemas para Internet

16 Estrutura de condição if([condição]) { [comando 1] // Executado se a condição for

16 Estrutura de condição if([condição]) { [comando 1] // Executado se a condição for true } else { [comando 2] // Executado se a condição for false } Modelagem e Programação Orientada a Objetos Curso Superior em Tecnologia de Sistemas para Internet

17 Operadores lógicos Operador Significado Exemplo == Igual x == y != Diferente x

17 Operadores lógicos Operador Significado Exemplo == Igual x == y != Diferente x != y ! NÃO lógico (NOT) && E lógico x == y && s == t II OU lógico x == y II s == t > Maior que x>y >= Maior ou igual que x >= y < Menor que x<y <= Menor ou igual que x <= y Modelagem e Programação Orientada a Objetos Curso Superior em Tecnologia de Sistemas para Internet

18 Operadores Aritméticos Operador Significado Exemplo Resultado ( se x=7 e y=2) + adição

18 Operadores Aritméticos Operador Significado Exemplo Resultado ( se x=7 e y=2) + adição x+y 9 - subtração x–y 5 * multiplicação x*y 14 / divisão x/y 3 % resto da divisão (módulo) y%y 1 Modelagem e Programação Orientada a Objetos Curso Superior em Tecnologia de Sistemas para Internet

Estrutura condicional seletiva por valores switch([expressão]) { case [constante 1]: [comando 1] break; case

Estrutura condicional seletiva por valores switch([expressão]) { case [constante 1]: [comando 1] break; case [constante 2]: [comando 2] break; . . . case [constante n]: [de comando n] break; default: [comando] } Modelagem e Programação Orientada a Objetos Curso Superior em Tecnologia de Sistemas para Internet 19

20 Laços de iteração �Enquanto/faça: while([condição]) { [comandos] } �Faça/enquanto: do { [comando] }

20 Laços de iteração �Enquanto/faça: while([condição]) { [comandos] } �Faça/enquanto: do { [comando] } while([condição]); Modelagem e Programação Orientada a Objetos Curso Superior em Tecnologia de Sistemas para Internet

21 Laços de iteração �Com contagem: for ([expressão 1]; [condição]; [expressão 2]) { [comando]

21 Laços de iteração �Com contagem: for ([expressão 1]; [condição]; [expressão 2]) { [comando] } Modelagem e Programação Orientada a Objetos Curso Superior em Tecnologia de Sistemas para Internet

22 Tratamento de exceções(erros) �Exceções em Java referem-se aos erros que podem ser gerados

22 Tratamento de exceções(erros) �Exceções em Java referem-se aos erros que podem ser gerados durante a execução de um programa; �Esses erros podem e devem ser tratados dentro do programa. try { <bloco de instruções> } catch ( <Tipo da exceção> <argumento> ) { <bloco de instruções> } Modelagem e Programação Orientada a Objetos Curso Superior em Tecnologia de Sistemas para Internet

23 Tratamento de exceções(erros) try { //gera uma exceção em tempo de execução int

23 Tratamento de exceções(erros) try { //gera uma exceção em tempo de execução int x = 10 / 0; } catch ( Exception erro ) { //mostra a mensagem de erro System. out. println( erro. get. Message() ); //mostra a exceção e a linha onde ocorreu o erro. print. Stack. Trace(); } Nota: erro é um objeto da classe Exception passado como parâmetro no catch. Nele está instanciado informações sobre o erro gerado em tempo de execução. Modelagem e Programação Orientada a Objetos Curso Superior em Tecnologia de Sistemas para Internet

24 Conversão de tipo de dado public class Some{ public static void main (String

24 Conversão de tipo de dado public class Some{ public static void main (String args[]) { int soma = Integer. parse. Int( args[0] ) + Integer. parse. Int( args[1] ); System. out. println(soma); } } Existem os métodos estáticos para outras classes como: Float. parse. Float(String S) Float. to. String(float f) Byte. parse. Byte(String S) Modelagem e Programação Orientada a Objetos Curso Superior em Tecnologia de Sistemas para Internet

25 Entrada de dados via teclado import java. io. IOException; public class Entrada. Pelo.

25 Entrada de dados via teclado import java. io. IOException; public class Entrada. Pelo. Teclado { public static void main (String args[]) { byte entrada[] = new byte[20]; try { System. in. read(entrada); } catch ( IOException e ) { System. out. println(“Erro na entrada de dados”); } String str = new String(entrada); } } Modelagem e Programação Orientada a Objetos Curso Superior em Tecnologia de Sistemas para Internet