Você está na página 1de 26

Introdução a

Linguagem Java
Prof. Sidney Cunha
Faculdade Estácio
Histórico
• A linguagem Java surgiu em 1991 quando cientistas da
Sun, liderados por Patrick Naughton e James Gosling,
projetaram uma linguagem pequena para ser utilizada
em eletrodomésticos em geral.
• O projeto se chamava “Green”. Como o pessoal da Sun
vinha de uma geração UNIX, eles basearam a linguagem
em C++ e ela foi chamada originalmente de “Oak”. Oak é
um tipo de árvore a qual Gosling gostava de apreciar, e
que podia ser vista da janela de sua sala na Sun.
• A linguagem Oak já existia, por isso foi rebatizada de
Java.
Histórico
• O projeto Green passou os anos de 1993 e 1994
procurando uma empresa que quisesse comprar a sua
tecnologia, mas não encontraram ninguém.
• Paralelamente a World Wide Web crescia mais e mais, e
para mostrar o poder de Java, Patrick Naughton e
Jonathan Payne construíram o browser HotJava. Este
browser reconhecia applets e, por isso, tinha uma
máquina virtual Java embutida em si.
• Em 1995, a Netscape decidiu tornar a próxima versão do
seu browser (versão 2.0) apta a reconhecer applets Java.
A partir de então, todas as versões posteriores do
Netscape, inclusive do Internet Explorer, reconhecem
Java
Características da Linguagem
Java
• Parecida com C, C++:
• A sintaxe da linguagem Java é muito semelhante a da linguagem C
ou de C++, mas a sintaxe de Java fornece uma versão mais limpa
do que C++. Em Java não existe aritmética de ponteiros,
estruturas, uniões e etc.
• Orientada a Objetos:
• Java é uma linguagem voltada para a programação orientada a
objetos e, por isso, todo o código está contido dentro de classes.
Java suporta herança simples, mas não herança múltipla. A
ausência de herança múltipla pode ser compensada pelo uso de
herança e interfaces, onde uma classe herda o comportamento
de sua superclasse além de oferecer uma implementação para
uma ou mais interfaces.
Características da Linguagem
Java
• Segura:
• A presença de coleta automática de lixo (Garbage Collection)
evita erros comuns que os programadores cometem quando são
obrigados a gerenciar diretamente a memória (C, C++, Pascal).
• A eliminação do uso de ponteiros, em favor do uso de vetores,
objetos e outras estruturas substitutivas, traz benefícios em
termos de segurança.
• O programador é proibido de obter acesso à memória que não
pertence ao seu programa, além de não ter chances de cometer
erros comuns tais como uso indevido de aritmética de ponteiros.
Características da Linguagem
Java
• Suporta concorrência:
• Java suporta Multithreading que é a capacidade de um
programa fazer mais de uma coisa ao mesmo tempo
como, por exemplo, imprimir enquanto lê um fax.
• A linguagem permite a criação, de maneira fácil, de
vários “threads” de execução, que eliminam o período
de inatividade do processador executando
concorrentemente ou tomando vantagem da execução
paralela real em sistemas multiprocessadores
Características da Linguagem
Java
• Compilada e Interpretada:
• Um programa em Java é compilado para um código
composto por instruções chamadas de “bytecode”. O
“bytecode” é um código de uma máquina virtual,
chamada Máquina Virtual Java (Java Virtual Machine -
JVM), idealizada pelos criadores da linguagem. Os
bytecodes são independentes de plataforma e são
interpretados pela JVM para serem executados no
computador.
• O código Java é compilado uma única vez, porém o
programa é interpretado toda vez que for executado.
Esse processo pode ser mais bem visualizado na figura
a seguir
Características da Linguagem
Java
A Máquina Virtual Java
• Quando trabalhamos com Java, um dos termos que mais
ouvimos é “Maquina Virtual Java” (MVJ) (ou Java Virtual
Machine, em inglês).
• A Máquina Virtual Java é um computador abstrato definido
por uma especificação. Para executar um programa Java,
precisamos de uma implementação desta máquina virtual.
• Quando uma aplicação Java inicia a sua execução, uma
instância runtime da MVJ nasce. Ela morre no momento em
que a aplicação completa a sua execução.
• Se nós executarmos três aplicações Java iguais, usando a mesma
implementação de MVJ e na mesma máquina, nós teremos 3
instâncias de MJV executando. Cada aplicação Java irá executar
na sua própria MVJ
Java – Algumas Siglas
• J2SE (Java 2 Standard Edition) é uma ferramenta de
desenvolvimento para a plataforma Java que contém todo o
ambiente necessário para a criação e execução de aplicações
Java, incluindo a máquina virtual Java (JVM), o compilador
Java, as APIs do Java e outras ferramentas utilitárias.

• J2EE (Java 2 Enterprise Edition) inclui toda a funcionalidade


existente na plataforma Java SE mais todas as funcionalidades
necessárias para o desenvolvimento e execução de aplicações
em um ambiente corporativo, adicionando de bibliotecas que
fornecem funcionalidade para implementar software Java
distribuído, tolerante a falhas e multi-camada, baseada
amplamente em componentes modulares executando em um
servidor de aplicações.
Java – Algumas Siglas
• J2ME (Java 2 Micro Edition) é uma tecnologia
que possibilita o desenvolvimento de software
para sistemas e aplicações embarcadas, ou
seja, toda aquela que roda em um dispositivo
de propósito específico, desempenhando
alguma tarefa que seja útil para o dispositivo.
É a plataforma Java para dispositivos
compactos, como celulares, PDAs, controles
remotos, e uma outra gama de dispositivos.
Java ME é uma coleção de APIs do Java
definidas através da JCP (Java Community
Proccess).
O que Java pode fazer?
• Applets

• Servlets

• Aplicações

• Aplicações cliente/servidor

• Aplicações para a Internet


A Linguagem Java
• Comentários:
• /* texto */
O compilador ignora tudo entre /* e */
• /** documentacao */
indica um comentário para documentação.
Utilizado pela ferramenta javadoc
• // texto
O compilador ignora todos os caracteres de // até o
final da linha
Linguagem Java
• Variáveis:Tipos de dados primitivos

• O padrão de declaração é idêntico ao da linguagem C


Linguagem Java
• Nomes de variáveis
• Segundo a convenção para identificadores Java, os métodos e
variáveis devem ser nomeados com letras minúsculas. No caso do
identificador ser formado por mais de um termo, o segundo
termo e os termos seguintes devem iniciar com letra maiúscula.
As variáveis são compostas por substantivos e adjetivos,
enquanto que os nomes de métodos começam sempre com um
verbo
• Não pode ser palavra chave
• Não pode ser nome de outra variável ou classe
Linguagem Java
• Exemplos de declaração e inicialização de
variáveis:
float x, z;
int i = 10;
char c;
c = „X‟;
• Variáveis finais (não mudam de valor)
final float pi = 3.14159;
Linguagem Java
• Operadores

• Atribuição: =

• Aritméticos: + - * / % (resto)

• Unários (Incremento e Decremento): ++ --

• Aritméticos de Atribuição: += -= *= /=

• Lógicos: == != < > <= >=


Linguagem Java – Primeiro
Programa
• TODO PROGRAMA EM JAVA DEVE CONTER PELO
MENOS UMA ESTRUTURA DO TIPO CLASS
• Estrutura Geral - Exemplo
class HelloWorld
{
public static void main(String[] args)
{
System.out.println( “Hello World!” );
}
}
• Quando o interpretador Java executa uma aplicação, ele começa
chamando o método main
• O método main então chama todos os outros métodos
necessários para executar a aplicação
Linguagem Java – Analisando
Passo a Passo
• public class HelloWorld
• Esta linha utiliza a palavra reservada class para declarar que uma
nova classe será definida aqui. HelloWorld é o nome usado para
identificar a classe. Toda a definição da classe, inclusive todo o
código e os dados, estará entre a chave de abertura “{“ e a chave
final “}”
• public static void main (String args[ ])
• Linha que contém a declaração do método main. O método main
é simplesmente um ponto de partida para o interpretador Java. É
por onde será iniciada a execução. O método main deverá
sempre ser declarado na forma acima.
• System.out.println (“Hello, World!”)
• Esta linha executa o método println do objeto out. Este método
imprime na tela uma mensagem texto, no caso, “Hello, World!”.
Linguagem Java
• Após digitar o código-fonte, você deve nomear o arquivo.
• Os arquivos que contém o código-fonte Java devem sempre
ter a terminação “.java”.
• Geralmente, em Java, coloca-se uma classe dentro de cada
arquivo. O arquivo conterá o mesmo nome da classe.
• Cuidado, o compilador Java diferencia letras maiúsculas de
minúsculas, por isso, preste atenção quando for nomear o
arquivo.
• Se você utilizar o modificador public para a classe, por exemplo,
public class HelloWorld, o arquivo deve possuir o mesmo nome
que a classe. Caso não utilize public, o arquivo pode ter outro
nome.
Comando Básico de Saída
• O comando de saída básico que utilizaremos
inicialmente será o System.out.println(valor)
• Ex.1:
public class Println1{
public static void main (String args [ ]) {
System.out.println ("TESTE DO PRINTLN");
}
}
Escreve na tela: TESTE DO PRINTLN
Comando Básico de Saída
• Ex.2: Escrevendo valores de tipos diferentes
public class Println1{
public static void main (String args [ ]) {
int x = 10;
float y=2.34;
System.out.println ("ABC "+ 123 + " "+ x + " " + y);
}
}
Escreve na tela: ABC 123 10 2.34
Criando Objetos
• O comando que permite que uma instância de
uma classe seja criada, ou seja, um objeto, é o
comando new.
• Sintaxe:
• Classe Objeto = new Classe(lista_de_parametros)
Comando Básico de Entrada
• O comando básico de entrada que vamos descrever
inicialmente é o que pode ser utilizado a partir da classe
Scanner (import java.util.Scanner).
• Ex.: Scanner console = new Scanner(System.in);
• Quando executada, a linha acima provocará uma pausa
na aplicação para que o usuário possa digitar qualquer
sequência de valores que ele desejar, finalizados com um
clique na tecla ENTER.
• Os valores digitados poderão ser acessados através do
objeto de nome console
Comando de Entrada Básico
• Para acessarmos, por exemplo, o primeiro valor digitado
podemos digitar:
• String s = console.next();
• Esta linha atribuirá à string “s” o texto do primeiro
valor digitado
• Temos as seguintes opções:
• next(): Retorna a próxima string
• nextInt(): Retorna o próximo inteiro
• nextBoolean(): Retorna o próximo boolean
• nextFloat,: Retorna o próximo valor real float
• nextDouble(): Retorna o próximo valor real double
Exemplos (Entrada e Saída)
// Classe que solicita um valor e escreve o seu quadrado

public class InOut1 {


public static void main (String args [ ]) {
int x;
System.out.println("Digite um valor:");
Scanner entrada = new Scanner(System.in);
x = entrada.nextInt();
System.out.println("Valor ao quadrado:"+Math.pow(x, 2));
}
}

Você também pode gostar