Introdução à Linguagem Java

24
Introdução à Linguagem Java Modelagem e Programação Orientada a Objetos Curso Superior de Tecnologia em Sistemas para Internet Prof. Cristiano Stüpp Nunes [email protected]

description

Introdução à Linguagem Java. Modelagem e Programação Orientada a Objetos Curso Superior de Tecnologia em Sistemas para Internet Prof. Cristiano Stüpp Nunes [email protected]. Java. Linguagem de programação orientada a objetos; - PowerPoint PPT Presentation

Transcript of Introdução à Linguagem Java

Page 1: Introdução à Linguagem Java

Introdução à Linguagem Java

Modelagem e Programação

Orientada a ObjetosCurso Superior de Tecnologia em Sistemas para Internet

Prof. Cristiano Stüpp Nunes

[email protected]

Page 2: Introdução à Linguagem Java

Modelagem e Programação Orientada a ObjetosCurso Superior em Tecnologia de Sistemas para Internet

2

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:» WebServices

» Enterprise JavaBeans (EJB)

» Java Servlets

» JavaServer Pages (JSP)

Java

Page 3: Introdução à Linguagem Java

Modelagem e Programação Orientada a ObjetosCurso Superior em Tecnologia de Sistemas para Internet

3

Distribuições:» J2SE (Standard Edition): Para desenvolvimento de

aplicações desktop, cliente/servidor;

» J2ME (Micro Edition): Para desenvolvimento de aplicativos para celulares e PDAs;

» J2EE (Enterprise Edition): Para desenvolvimento de aplicações distribuídas, multicamadas e WEB.

Java

Page 4: Introdução à Linguagem Java

Modelagem e Programação Orientada a ObjetosCurso Superior em Tecnologia de Sistemas para Internet

4

class HelloWorldApp {

//Comentário de linha

public static void main(String[] args)

{

System.out.println("Hello World!");

}

/* Comentário

de bloco */

}

Hello World

Page 5: Introdução à Linguagem Java

Modelagem e Programação Orientada a ObjetosCurso Superior em Tecnologia de Sistemas para Internet

5

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: HelloWorldApp.java

» Compilar o código fonte para que seja gerado o .class, da seguinte maneira: javac HelloWorldApp.java

» Executar o aplicativo usando apenas o nome da classe: java HelloWorldApp

Importante: a linguagem Java é case-sensitive, ou seja, diferencia entre maiúsculas e minúsculas.

Hello World

Page 6: Introdução à Linguagem Java

Modelagem e Programação Orientada a ObjetosCurso Superior em Tecnologia de Sistemas para Internet

6

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 HelloWorldApp 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.

HelloWorldApp revisitado

Page 7: Introdução à Linguagem Java

Modelagem e Programação Orientada a ObjetosCurso Superior em Tecnologia de Sistemas para Internet

7

Como o Java é executado

Código Fonte HelloWorldApp.java

Java Byte Code

javac HelloWorldApp.java

HelloWorldApp.class

java HelloWorldApp

JVM JVMJVM Existem uma JVM (Java Virtual Machine) para cada tipo de sistema operacional.

Page 8: Introdução à Linguagem Java

Modelagem e Programação Orientada a ObjetosCurso Superior em Tecnologia de Sistemas para Internet

8

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

Tipos de dados (Tipos Primitivos)

Page 9: Introdução à Linguagem Java

Modelagem e Programação Orientada a ObjetosCurso Superior em Tecnologia de Sistemas para Internet

9

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.40239846e-46 e o maior é 3.40282347e+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.94065645841246544e-324 e o maior é 1.7976931348623157e+308

Tipos de dados (Tipos Primitivos)

Page 10: Introdução à Linguagem Java

Modelagem e Programação Orientada a ObjetosCurso Superior em Tecnologia de Sistemas para Internet

10

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

Declaração de variáveis

Page 11: Introdução à Linguagem Java

Modelagem e Programação Orientada a ObjetosCurso Superior em Tecnologia de Sistemas para Internet

11

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

Arrays (vetores ou matrizes)

Page 12: Introdução à Linguagem Java

Modelagem e Programação Orientada a ObjetosCurso Superior em Tecnologia de Sistemas para Internet

12

//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 };

//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[];

Declaração e atribuição de arrays

Page 13: Introdução à Linguagem Java

Modelagem e Programação Orientada a ObjetosCurso Superior em Tecnologia de Sistemas para Internet

13

\n Avanço de linha (LF) (imprime na próxima linha)

\t Avanço de parágrafo (tabulação)

\b Início de linha (retrocesso)

\r Carriage Return (CR)

\f Avanço de página

\\ Imprime uma barra invertida

\’ Imprime o caracter apóstrofe

\” Imprime o caracter aspas

Símbolos especiais

Page 14: Introdução à Linguagem Java

Modelagem e Programação Orientada a ObjetosCurso Superior em Tecnologia de Sistemas para Internet

14

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”.

Símbolos especiais

Page 15: Introdução à Linguagem Java

Modelagem e Programação Orientada a ObjetosCurso Superior em Tecnologia de Sistemas para Internet

15

if([condição]) {

[comando 1] // Executado se a condição for true

}

else {

[comando 2] // Executado se a condição for false

}

Estrutura de condição

Page 16: Introdução à Linguagem Java

Modelagem e Programação Orientada a ObjetosCurso Superior em Tecnologia de Sistemas para Internet

16

Operadores lógicos

Operador Significado Exemplo== Igual x == y!= Diferente x != y! NÃO lógico (NOT)

&& E lógico x == y && s == tII 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

Page 17: Introdução à Linguagem Java

Modelagem e Programação Orientada a ObjetosCurso Superior em Tecnologia de Sistemas para Internet

17

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

Page 18: Introdução à Linguagem Java

Modelagem e Programação Orientada a ObjetosCurso Superior em Tecnologia de Sistemas para Internet

18

switch([expressão]) {

case [constante 1]:

[comando 1]

break;

case [constante 2]:

[comando 2]

break;

.

.

.

case [constante n]:

[de comando n]

break;

default:

[comando]

}

Estrutura condicional seletiva por valores

Page 19: Introdução à Linguagem Java

Modelagem e Programação Orientada a ObjetosCurso Superior em Tecnologia de Sistemas para Internet

19

Enquanto/faça:

while([condição]) {

[comandos]

}

Faça/enquanto:do {

[comando]

} while([condição]);

Laços de iteração

Page 20: Introdução à Linguagem Java

Modelagem e Programação Orientada a ObjetosCurso Superior em Tecnologia de Sistemas para Internet

20

Com contagem:

for ([expressão 1]; [condição]; [expressão 2]) {

[comando]

}

Laços de iteração

Page 21: Introdução à Linguagem Java

Modelagem e Programação Orientada a ObjetosCurso Superior em Tecnologia de Sistemas para Internet

21

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>

}

Tratamento de exceções(erros)

Page 22: Introdução à Linguagem Java

Modelagem e Programação Orientada a ObjetosCurso Superior em Tecnologia de Sistemas para Internet

22

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.getMessage() ); //mostra a

exceção e a linha onde ocorreu o erro

erro.printStackTrace();

}

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.

Tratamento de exceções(erros)

Page 23: Introdução à Linguagem Java

Modelagem e Programação Orientada a ObjetosCurso Superior em Tecnologia de Sistemas para Internet

23

import java.io.IOException;

public class EntradaPeloTeclado {

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

}

}

Entrada de dados via teclado

Page 24: Introdução à Linguagem Java

Modelagem e Programação Orientada a ObjetosCurso Superior em Tecnologia de Sistemas para Internet

24

public class Some{

public static void main (String args[]) {

int soma = Integer.parseInt( args[0] ) +

Integer.parseInt( args[1] );

System.out.println(soma);

}

}

Existem os métodos estáticos para outras classes como:

Float.parseFloat(String S)

Float.toString(float f)

Byte.parseByte(String S)

Conversão de tipo de dado