Sie sind auf Seite 1von 50

Introdução à Linguagem Java

Profa. Cristiane Imamura

1
Importância de Programação Orientada a
Objetos

 Orientação a objetos não é apenas moda.


 Está sendo utilizada e é previsto que seja cada vez
mais utilizada em se tratando de análise, projeto e
programação.

 Promove ao programador a capacidade de


otimizar a sua produtividade.
 Principalmente sobre reutilização de código.
 Torna o projeto “mais limpo” facilitando sua
manutenção.

2
Importância da linguagem Java

 Uma das principais linguagens de


programação utilizadas pelas grandes
empresas do mundo.

 Considerada a linguagem padrão para


desenvolvimento de novos sistemas pelos
órgãos do Governo Federal Brasileiro.

 Grande parte das aplicações Web são


implementadas em Java.

 É crescente a procura pelos profissionais que


tenham conhecimento de Programação
Orientada a Objetos e Java.

3
História do Java (1/2)

 Em 1991, SUN Microsytems financia o projeto Green

 Criação de dispositivos eletrônicos inteligentes.

 James Gosling cria uma linguagem orientada a objetos e


que executasse em diferentes plataformas e a denomina
de Oak (carvalho).

 Desenvolvimento do *7, controle remoto com uma


interface gráfica touchscreen.

 Já existia linguagem com nome Oak. O nome Java


é atribuído pelo apreço dos autores ao café.
4
História do Java (2/2)

 Em 1993, a popularidade da World Wide Web


aumenta.

 Interesse em desenvolver aplicativos Web baseado em


Java.

 Em 1995, em uma conferência Java é formalmente


apresentada e desperta interesse pelo seu uso em
criar páginas Web com conteúdo dinâmico.

5
Principais Características da Linguagem Java

 Orientada a Objetos.

 Portável.
 Independência de plataforma - " write once run
anywhere! "

 Vasto Recursos de Rede.


 Possui extensa biblioteca de rotinas que facilitam a
cooperação com protocolos TCP/IP, e outros.

 Segura.
 Sintaxe similar a Linguagem C/C++.
 Coleta automática de lixo.

6
Linguagem Compilada X Linguagem Interpretada

 Linguagem Compilada.
 Compilador traduz o código fonte uma vez para o
código executável.

 Linguagem Interpretada.
 O interpretador, durante toda a execução do
programa, faz a tradução simultânea linha a linha.

7
Java: Compilado e Interpretado (1/2)

 Java é uma linguagem compilada e


interpretada.

 O código fonte (.java) é compilado e


produz-se um código intermediário (.class)
que corresponde a um arquivo binário que
não é executável direto. Esse arquivo é
conhecido como bytecode.

 O bytecode são instruções de máquina a


serem interpretadas por uma máquina virtual
(JVM)

8
Java: Compilado e Interpretado (2/2)

Inst 001

Código
Fonte Compilador Bytecode Interpretador Inst 002

....
.java .class Instruções
de máquina

9
A portabilidade do Java (1/2)

 Uma vez que o código fonte seja escrito, é


necessário que se compile apenas uma vez.

 O bytecode gerado pode ser interpretado


em diferentes plataformas, basta que se
tenha uma Java Virtual Machine (JVM) para
o sistema operacional em questão.

10
A portabilidade do Java (2/2)

Código
fonte JVM
para
Windows

Compilador bytecode

11
A Plataforma de
Desenvolvimento Java

J2SE
Java 2 Standard Edition
ferramentas e APIs essenciais para qualquer
aplicação Java.
J2EE
Java 2 Enterprise Edition
ferramentas e APIs para o desenvolvimento de
aplicações distribuídas.
J2ME
Java 2 Micro Edition
ferramentas e APIs para o desenvolvimento de
aplicações para aparelhos portáteis.

12
Java 2 Standard
Development Kit - JDK (1/2)

 Composto por:
 Ferramentas para desenvolvimento:
Compilador (javac.exe),
Debugger (jdb.exe),
Gerador de documentação (javadoc.exe),
Ferramenta para execução (java.exe)

 Ambiente de execução – Java Runtime Environment

 APIs –Application Programming Interface


Conjunto de classes padronizadas Java que oferecem
funções específicas e podem ser utilizadas pelo
desenvolvedor.

13
Java 2 Standard
Development Kit – JDK (2/2)

 Composto por:

 Código-fonte das classes.

 Demonstrações de uso das APIs

O download do JDK pode ser feito a partir de:


http://java.sun.com

14
Compilação e Execução

 Via linha de comando:


Compilação:
javac NomePrograma.java

Execução:
java NomePrograma

15
Algumas IDEs

 O JDK não é uma ambiente com interfaces


gráficas.

 Para facilitar o desenvolvimento, pode-se


contar com algumas IDEs (Integrated
Development Environment):
NetBeans (java.sun.com)
Eclipse (www.eclipse.org)
JBuilder (www.borland.com)
JEdit (www.jedit.org)
JDeveloper(www.oracle.com)

16
Primeiro Programa

public class Programa1{


public static void main(String[]args){
System.out.printf(“Olá Mundo!”);
}
}

17
Considerações sobre o Programa1 (1/5)

 Todo o programa em Java é representado por


uma ou mais classes.

 Os métodos devem ser declarados dentro de uma


classe. E isso inclui a main.

 A declaração de uma classe é feita com uso da


palavra reservada class.

18
Considerações sobre o Programa1 (2/5)

 Por convenção o nome da classe é iniciado com


letra maiúscula.
 Exemplo:
public class Cliente

 Se o nome da classe for composto por 2 ou mais


nomes, cada um desses deve ser iniciado por letra
maiúscula.
 Exemplo:
public class ClienteFisico

19
Considerações sobre o Programa1 (3/5)

 A main deve ser definida como:


public static void main(String [] args)

 String [] args é usado, por exemplo, quando


na execução via linha de comando são
passados valores a serem considerados como
argumentos de entrada para o programa.

 Exemplo: java Programa1 teste

 Caso o Programa1 seja executado com a linha


acima, a palavra teste será armazenada em args[0].

20
Considerações sobre o Programa1 (4/5)

 A instrução System.out é conhecida como


objeto de saída padrão.

 Em geral, é usada para fazer impressão em


um prompt ou shell.

 O método System.out.printf exibe uma


mensagem.

 A mensagem a ser impressa é delimitada por “


”.
21
Considerações sobre o Programa1 (5/5)

 O programa deve ser salvo com o mesmo


nome da classe e extensão .java

 Neste caso, o nosso exemplo deveria ser


salvo com nome Programa1.java

 O Java é case sensitive, portanto,


Programa1.java é diferente de
programa1.java

22
Comandos para impressão de mensagens (1/2)

 Em Java, podemos usar os comandos:


 System.out.printf(“mensagem”);
ou
 System.out.println(“mensagem”)

 A primeira opção System.out.printf() tem as


mesmas regras de uso que o comando
printf() da linguagem C.
 Portanto, para impressão do conteúdo das
variáveis, você deve utilizar os especificadores de
tipos, como “%d”, “%s”, etc.

23
Comandos para impressão de mensagens (2/2)

 A segunda opção System.out.println()


imprime a mensagem passada como
argumento e, ao final da impressão, move o
cursor para a linha seguinte.

 O println() não utiliza qualquer especificador


de tipo.
 Para separar as informações a serem
impressas, deve ser utilizado o operador +

24
Exemplo do uso do println

public class ExemploPrintln{

public static void main (String[]args){

int nota = 10;


String nome = “Carlos”;

System.out.println(nome + “obteve ”+ nota+


“em LTPIII”);
}
}

25
Palavras reservadas

 Algumas palavras que não podem ser


usadas como identificadores, para nomes de
variáveis, ou classes ou métodos:

const
abstract
double
boolean else
break for
byte new
case super
this
catch
try ......
char
class

26
Caracteres especiais

 \n
 Posiciona o cursor no inicio da próxima linha
 \t
 Tabulação horizontal
 \r
 Posiciona o cursor no inicio da linha atual
 \\
 Imprime um \
 \“
 Imprime um “

27
Exercício 1

 Faça um programa em Java para imprimir o


seu respectivo nome e RA

Exemplo:
nome: Luiza
Ra: 123456

28
Comentários

 //
 Comentário de uma única linha.

 /* */
 Comentário de múltiplas linhas.

 /** */
 Mesma característica do comentário de múltiplas
linhas, mas é utilizado para gerar a documentação
a partir do javadoc
 Algumas tags
@author
@revision
@return

29
Variáveis (1/3)

 Sintaxe para declaração das variáveis


 tipoVariavel nomeVariavel;

 Por padrão o nome da variável é escrita em


minúsculo. Se for composto por mais que uma
palavra, cada palavra a partir da segunda deve ser
iniciada pela letra em maiúsculo.

 Tipos primitivos
 inteiros:
byte -128 a 127 1 byte
short -32.768 a 32.767 2 bytes
int -2.147.483.648 a 2.147.483.647 4 bytes
long -922.337.203.685.475.808 a
922.337.203.685.475.807 8 bytes
30
Variáveis (2/3)

 Tipos primitivos:
 Números com ponto flutuante
float 1.4 e-45 a 3.4 e38 4 bytes
double 4.9 e-324 a 1.7 e308 8bytes

 Literais
char, no Java segue o padrão Unicode que
possibilita representar caracteres japoneses,
chineses, entre outros.

31
Variáveis (3/3)

 Tipos primitivos:
 Booleanos
boolean
Podem representar apenas dois valores: true
e false.
Ocupam 1 bit

 String
 Classe que possibilita a manipulação de um
conjunto de caracteres.

32
Programa Exemplo

public class Programa2{


public static void main(String [] args) {

int i = 10;
int in = (int) 7.8;
byte b =124;
float f = 10.8f;
double d = 125654845.0;
char c = ‘a’;
boolean bo = true;
String s = “java”;

System.out.printf(" i = %d", i );
System.out.printf("\n in = %d", in );
System.out.printf("\n b= %d \n f= %f",b,f);
System.out.printf("\n d= %f \n c= %c",d,c);
System.out.printf("\n bo= %s \n s =%s ",bo,s);
}
33
}
Leitura a partir do console

import java.util.Scanner;

public class Programa3{


public static void main(String [] args){
Scanner leitor = new Scanner(System.in);
String dado;
int n;
float m;
System.out.printf("Digite um numero inteiro:");
n = leitor.nextInt();
System.out.printf("Digite um numero de ponto flutuante:");
m = leitor.nextFloat();
System.out.printf("Digite uma palavra:");
dado = leitor.next();
System.out.printf(" Numero inteiro= %d \n Numero real = %f \n Palavra =%s", n, m,
dado );
}
} 34
Sobre o Programa3 (1/2)

 Um dos meios de se fazer a leitura de dados em


Java é através do uso da classe Scanner.

A Scanner leitor = new


instrução
Scanner(System.in) cria um objeto leitor com
o qual podemos fazer a leitura de dados com a
chamada de métodos como next(), nextInt(),
nextFloat(), etc.

 A instrução leitor.nextInt(); faz com que o leitor


execute o método nextInt() para ler uma entrada e
retornar o número inteiro correspondente.

35
Sobre o Programa3 (2/2)

 O método next() lê uma entrada e retorna a String


correspondente.

 Para ler uma entrada diferente de String, o nome do


tipo deve ser concatenado ao nome do método
next.
 Exemplo: nextFloat(), nextByte(), etc

 Para fazer a manipulação de entrada de dados


através de Scanner temos que importar o pacote
java.util
 Por enquanto incluímos import java.util. Scanner no cabeçalho

36
Exercício

 Faça um programa que leia o nome e o ano


de nascimento de uma pessoa e os imprima.

37
Operadores

 Aritméticos
+, -, *, /, %, --, ++

 Relacionais O operador + pode ser


usado para concatenar
==, !=, >, >=, <, <= Strings, ou para fazer a
adição de números
 Lógicos
O operador – pode ser usado
&&, ||, ! para subtração, ou para modificar
o sinal de um operando
 Atribuição
= , +=, -=, *=

38
Exemplo

public class Aritmetica{


public static void main(String[] args) {
int a = -5;
int b = 10;
String c = “ciência”;
String d= “computação”;

System.out.printf(" a =%d",a);
System.out.printf("\n -a = %d",(-a));
System.out.printf("\n a+b=%d",(a+b));
System.out.printf(c+d);
}
}
39
Exercício

 Faça um programa que leia o nome de um


aluno e suas duas notas nota1 e nota2.
Seu programa deve imprimir o nome do
aluno e a sua média sabendo-se que a
nota1 tem peso 4 e a nota2 tem peso 6.

40
Estruturas Condicionais

 As estruturas condicionais são:

 if/else •switch/case

switch(variavel){
if(condição){
case valor1:
instruções
}
else{ instruções;
instruções break;
} case valor2:
instruções
break;
default:

instruções;
};

41
Exemplo
import java.util.Scanner;
public class Media{
public static void main(String []args){
String nome;
double nota1, nota2, media;

Scanner entrada = new Scanner(System.in);

System.out.printf(“Nome:”);
nome = entrada.next();

System.out.printf(“Informe as duas notas:”);

nota1 = entrada.nextDouble();
nota2 = entrada.nextDouble();

media = nota1*0.4 +nota2*0.6;

if (media >=5){
System.out.printf(nome + “ foi aprovado! ”);
}
else{
System.out.printf(nome +” foi reprovado!”);
}
}
} 42
O operador ternário ?

 Além de utilizarmos o if/else, podemos fazer uso do


operador ? para testar se uma condição será
satisfeita ou não.

 Sintaxe:
(condição a ser avaliada) ? ValorSeVerdadeira:ValorSeFalsa;

Nesta instrução está sendo testado se b>c.


Exemplo: Caso a condição b>c for verdadeira, então a
receberá b
int a = 2; Caso a condição b>c for falsa, então a receberá
int b = 3; c.
Esta instrução equivale à:
int c = 4; if(b>c){
a =b;
a = (b>c)? b:c; }
else{
a =c;
}
43
Exemplo de uso do operador ternário
import java.util.Scanner;
public class Media{
public static void main(String []args){
String nome;
double nota1, nota2, media;

Scanner entrada = new Scanner(System.in);

System.out.printf(“Nome:”);
nome = entrada.next();

System.out.printf(“Informe as duas notas:”);

nota1 = entrada.nextDouble();
nota2 = entrada.nextDouble();

media = nota1*0.4 +nota2*0.6;

//Verificando se o aluno foi aprovado

String resultado = (media>=5)? “aprovado”:”reprovado”;

// Impressão do resultado se o aluno foi aprovado ou não


System.out.printf(nome + “ foi ” +resultado +”!”);

} 44
}
Exercício

Faça um programa que leia três


números inteiros e imprima o maior.

Faça um programa que leia um


número e imprima o nome do mês
correspondente.

45
Estruturas de Repetição (1/2)

 As estruturas de repetição são:


 for
for(inicialização;condição; incremento) {
instruções;
}

 while
while(condição) {
instruções;
}

 do while
do {
Instruções;
} while(condição);

46
Estruturas de Repetição (2/2)

for(int a = 0; a<10; a++) {


System.out.printf(“\n%d”,a);
}

int a=0;
while (a<10) {
System.out.printf(“n%d”,a);
a++;
}

int a = 0;
do {
System.out.printf(“\n%d”,a);
a++;
} while(a<10);

47
Exercícios

 Faça um programa que leia 10 números de


ponto flutuante e imprima qual é o menor e
qual é o maior.

 Faça um programa que leia uma seqüência


de números inteiros e calcule a média. A
leitura termina quando o número for
negativo.

48
Exercício

Faça um programa para contabilizar o total a ser pago em


acesso à Internet por uma determinada pessoa.
Para isso seu programa deve ler múltiplas entradas
compostas do horário de inicio e horário final do uso da
linha ( o horário deve ser composto uma variável para
hora e uma variável para minutos).

A leitura deve terminar quando o valor da hora de início for


negativa.

Para realizar o cálculo, deve ser considerado que:


 das 06:00h até 18:00h será cobrado R$0,06 por minuto
 das 18:01 até 22:00h será cobrado R$0,03 por minuto
 das 22:01 até 05:59h será cobrado R$0,01 por minuto
 um acesso nunca dura mais que 24 horas, mas pode ter
trechos com diferentes taxas.
 Exemplo: inicio às 17:00 e fim às 19:00

49
Referências

 Livros da bibliografia

 DEITEL, H. M. & DEITEL, P. J., LISBOA, C. A . L. Java,


como programar. 6ª Ed. São Paulo: Pearson,
2005.
 HORSTMANN, C. & CORNELL, G.; Core Java 2, V.
1 – Fundamentos, Alta Books, 2005.

50

Das könnte Ihnen auch gefallen