Introdução à Linguagem Java
description
Transcript of 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
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
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
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
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
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
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.
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)
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)
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
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)
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
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
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
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
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
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
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
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
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
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)
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)
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
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