Upload
felipe-bressan
View
247
Download
0
Embed Size (px)
Citation preview
7/21/2019 A02 - Introdu_o a linguagem Java.pdf
1/46
Introduo a linguagem Java
Parte 1
7/21/2019 A02 - Introdu_o a linguagem Java.pdf
2/46
7/21/2019 A02 - Introdu_o a linguagem Java.pdf
3/46
Lgica, Sintaxe e Semntica
A Lgicacontm as tarefas que um programadeve fazer
Nada tem a ver com linguagem de
programao Pensar na lgica pensar quais as sequencias
de passos que ser realizada para atingir umobjetivo. estruturar seu raciocnio paraentender o que o programa deve fazer
Uma lgica bem feita garante que o programafuncione corretamente
7/21/2019 A02 - Introdu_o a linguagem Java.pdf
4/46
Lgica, Sintaxe e Semntica
Sintaxe a estrutura do cdigo. como asinstrues so escritas
Sintaxe est relacionada com a compilao do cdigo
Se a sintaxe no estiver correta, o cdigo no compila,e no ser possvel gerar o arquivo .class (em Java)
Cada linguagem de programao tem umasintaxe, ou seja uma forma de escrever a lgicade programao Em cada linguagem a lgica a mesma, o que muda
a sintaxe
7/21/2019 A02 - Introdu_o a linguagem Java.pdf
5/46
Lgica, Sintaxe e Semntica
Por exemplo, blocos de programao soescritos de formas diferentes em algumaslinguagens programao:
Java{
// fazer alguma tarefa}
Pascalbegin
// fazer alguma tarefaend
7/21/2019 A02 - Introdu_o a linguagem Java.pdf
6/46
Lgica, Sintaxe e Semntica
Semntica o significadodo programa e dasinstrues que voc escreveu A semntica est relacionada com a execuo do
programa
Se o programa executado, a sintaxe est correta. Ouseja, no h erros na estrutura do programa Entretanto, isso no significa que o programa vai
realizar o que voc planejou. Erros de semntica esto relacionados com a lgica
que voc elaborou. Se a lgica no estiver correta, a semntica tambm
estar errada e o programa vai se comportar de formainesperada
7/21/2019 A02 - Introdu_o a linguagem Java.pdf
7/46
Caractersticas da linguagem Java
Java uma linguagem de programao de alto nvel,criada com sob o conceito de Write once, runanywhere.
Ou seja, uma vez escrito o programa em Java, ele podeser executado em qualquer computador, independenteda arquitetura de hardware e software.
O nico pr-requisito que haja uma mquina virtualjava no computador. Existem diversas verses demquinas virtuais para diferentes arquiteturas.
A mquina virtual Java responsvel por executar osprogramas Java.
7/21/2019 A02 - Introdu_o a linguagem Java.pdf
8/46
Caractersticas da linguagem Java
A mquina virtual Java responsvel porexecutar os programas Java.
Dois softwares principais
Java Development Kit (JDK): plataforma paradesenvolvimento
Java Runtime Enviroment (JRE): plataforma de
execuo
7/21/2019 A02 - Introdu_o a linguagem Java.pdf
9/46
Caractersticas da linguagem Java
JDK e JRE
Na verso atual, vem em um s pacote
http://java.com/en/download/index.jsp
Editor de textos ou IDE
Notepad, Notepad++, Eclipse, Netbeans
Para testes, pode-se utilizar uma ferramentaonline
http://www.compileonline.com/compile_java_online.php
http://java.com/en/download/index.jsphttp://www.compileonline.com/compile_java_online.phphttp://www.compileonline.com/compile_java_online.phphttp://www.compileonline.com/compile_java_online.phphttp://www.compileonline.com/compile_java_online.phphttp://java.com/en/download/index.jsp7/21/2019 A02 - Introdu_o a linguagem Java.pdf
10/46
Caractersticas da linguagem Java
Linguagem largamente utilizada para desenvolversistemas desktop, sistemas web, plugins,aplicativos mveis, firmwares, sistemas de TV,etc.
Java uma linguagem de programao orientadaa objeto. QUASEtudo em Java um objeto
Objeto uma abstrao do mundo real Um carro, uma casa, uma pessoa, um nmero Neste curso no veremos programao Orientada
o Objeto (OO). Mas para programar em Java,temos que conhecer pelo menos o bsico
7/21/2019 A02 - Introdu_o a linguagem Java.pdf
11/46
Caractersticas da linguagem Java
Atualmente, Java encontra-se na verso 7 Porque importante saber a verso atual do Java
e a verso que voc est trabalhando?
Existem alteraes significativas entre umaverso e outra, o que pode fazer com que umprograma escrito em uma verso mais antiga daJDK no execute na plataforma mais nova da JRE,e vice-versa
Existem situaes em que o programa escritocompila, mas no executa, por algum problemaentre as verses utilizadas para programar e paraexecutar.
7/21/2019 A02 - Introdu_o a linguagem Java.pdf
12/46
Caractersticas da linguagem Java
Java tem uma caracterstica especial. Ela compilada e interpretada
O programador escreve o cdigo em
linguagem Java e salva um arquivo comextenso .java
Um programa em Java um arquivo de texto, que
o computador ainda no entende Este programa deve ser compilado para gerar
um arquivo binrio (.class), que o
programador no entende.
7/21/2019 A02 - Introdu_o a linguagem Java.pdf
13/46
Caractersticas da linguagem Java
Este arquivo .class ainda no entendido peloSO do computador, mas sim pela mquinavirtual java (JVM)
A execuo do arquivo .class pela mquinavirtual feita linha a linha. Ou seja, interpretado.
Essa caracterstica possibilita que seja criado
um programa binrio (onde o cdigo dedifcil leitura por seres humanos), mas no qual possvel rastrear erros em tempo de
execuo
7/21/2019 A02 - Introdu_o a linguagem Java.pdf
14/46
O programa Java
Um programa java pode ser composto por vriosarquivos
Cada arquivo corresponde a uma classe, ou seja
uma estrutura de dados que encapsula uma sriede caractersticas e comportamentos
Neste curso utilizaremos apenas uma classe, e
consequentemente, 1 arquivo Mas vamos ver alguns exemplos para entender o
que uma classe...
7/21/2019 A02 - Introdu_o a linguagem Java.pdf
15/46
Classes em Java
Suponha que vamos escrever jogo de corrida decarros
Quais objetos conseguimos enxergar nesta imagem?
7/21/2019 A02 - Introdu_o a linguagem Java.pdf
16/46
Classes em Java
Vamos pegar o exemplo do Carro. Quais as caractersticas de um Carro?
7/21/2019 A02 - Introdu_o a linguagem Java.pdf
17/46
Classes em Java
Vamos pegar o exemplo do Carro. Quais as caractersticas de um Carro?
Cor
Nome Modelo
Marca
7/21/2019 A02 - Introdu_o a linguagem Java.pdf
18/46
Classes em Java
Vamos pegar o exemplo do Carro. Quais as caractersticas de um Carro?
Cor
Nome Modelo
Marca
Quais os comportamentos de um Carro?
7/21/2019 A02 - Introdu_o a linguagem Java.pdf
19/46
Classes em Java
Vamos pegar o exemplo do Carro. Quais as caractersticas de um Carro?
Cor
Nome Modelo
Marca
Quais os comportamentos de um Carro?
Acelerar
Frear
Virar
7/21/2019 A02 - Introdu_o a linguagem Java.pdf
20/46
Classes em Java
Em java podemos representar um Carro (ou qualqueroutro objeto do mundo real) como uma classe. Ouseja, as caractersticas e comportamentos destecarro estaro dentro de um nico arquivo
/* Carro.java */
public class Carro {
String cor; String nome;
public bool acelerar (double x) {...}
}
7/21/2019 A02 - Introdu_o a linguagem Java.pdf
21/46
Voltando s caractersticas...
Relembrando, nesta disciplina vamos utilizar apenasuma classe e consequentemente apenas um arquivopara escrever nossos programas
Em java, o nome da classe sempredever ser omesmo nome do arquivo
Se a classe chama-se Carro, o nome do arquivo dever serCarro.java
O nome do arquivo deve ser idnticoao da classe,considerando maisculas e minsculas
Mas onde est o nome da classe?
7/21/2019 A02 - Introdu_o a linguagem Java.pdf
22/46
package nomeDoAluno;import caminhoENomeDoPacote;
public class NomeDoPrograma{
public static void main ( String args [ ] ) {
}}
Qual deve ser o nome do arquivo neste exemplo?
Estrutura bsica
7/21/2019 A02 - Introdu_o a linguagem Java.pdf
23/46
Explorando a estrutura bsica
Para escrever uma classe em Java precisoseguir algumas regras
Temos que escrever o programa na sintaxe correta
para que ele possa ser compilado
Vamos ver quais as regras para escrever aestrutura bsica
7/21/2019 A02 - Introdu_o a linguagem Java.pdf
24/46
package nomeDoAluno;
package informa qual pacote um arquivo Java
pertence Um pacote uma pasta dentro do seu projeto que
agrupa um conjunto de classes
Inserido apenas uma vez por arquivo
No obrigatrio. Porm, quando inserido nocdigo, deve ser a primeira linha escrita
Estrutura bsica - Pacote
7/21/2019 A02 - Introdu_o a linguagem Java.pdf
25/46
import caminhoENomeDoPacote;
importinforma uma biblioteca ou classe Java que a classeatual vai utilizar.
Pode ser inserido mais de uma vez no arquivo, um para cadabiblioteca ou classe importada
No obrigatrio. Porm, quando inserido no cdigo, deve virapspackage, quando este existir, ou ser a primeira linha no
arquivo. Todas as importaes devem vir antes da declaraoda classe.
Ex.: importjava.io.*Biblioteca para trabalhar comarquivos
Estrutura bsica - Import
7/21/2019 A02 - Introdu_o a linguagem Java.pdf
26/46
public class NomeDoPrograma{...
}
Declarao da classe. A palavra reservada class
identifica que a estrutura ser uma classe Deve vir logo aps import, quando este existir, oupackage, quando este existir. Caso nenhum dos dois
existam, ser a primeira linha do arquivo
Elemento obrigatrio no arquivo. O nome do arquivodeve ser o mesmo da classe (NomeDoPrograma .java)
As chaves {} identificam o corpo da classe, e soelementos obrigatrios para identificar onde a classeinicia e acaba.
Estrutura bsica - Classe
7/21/2019 A02 - Introdu_o a linguagem Java.pdf
27/46
public static void main ( String args [ ] ) {...
}
Uma classe pode conter um ou mais mtodos.Mtodos so regies do cdigo que definem ocomportamento do se programa
Em java existe um mtodo especial chamadomain.
Este mtodo informa o ponto de incio do seuprograma
Cada programa deve ter apenas uma classe com omtodomain
Estrutura bsica - Mtodos
7/21/2019 A02 - Introdu_o a linguagem Java.pdf
28/46
Modificadores
Modificadores so palavras reservadas da linguagemJava que modificam as caractersticas de classes emtodos em Java
Nesta disciplina no estudaremos os modificadores,mas eles estaro presentes em nossos programas
Por hora, devemos saber que: A classe ter o modificadorpublic, e deve ser a primeira
palavra na declarao da classe
Os mtodos tero os modificadorespublic staticvoid, e devem vir nessa ordem, antes do nome domtodo
7/21/2019 A02 - Introdu_o a linguagem Java.pdf
29/46
Smbolos Especiais em Java
Ao fim de uma instruo, usa-se ;(ponto e vrgula) Blocos de instrues so demarcados com { } (chaves)
Inclui classes e mtodos
Aps as chaves no se usa ;
Comentrios no cdigo-fonte: // ou /* */ Linha com comentrio:
// comentrio na linha
bloco de linhas com comentrios:
/* primeira linha com comentrios . . .
ltima linha comentada */ Comentrios no so considerados como parte da lgica do
programa, e podem ser inseridos em qualquer parte do seu cdigo
7/21/2019 A02 - Introdu_o a linguagem Java.pdf
30/46
Palavras chave reservadas
So palavras identificadas pelo compilador para executartarefas especficas no cdigo executvel
No podem ser utilizadas como identificadores dentro doseu programa (nome de classe, mtodos e variveis)
7/21/2019 A02 - Introdu_o a linguagem Java.pdf
31/46
Falando de identificadores e variveis...
Identificadores so os nomes que os programadoresdo para classes, mtodos e variveis
public class Carro{}
public int soma(int a, int b) {} int $numero; String palavra; char_letra;
7/21/2019 A02 - Introdu_o a linguagem Java.pdf
32/46
Mais regras...
Identificadores em Java podem conter apenas
caracteres unicode (letras), nmeros, cifro ($) eunderscore (_), com as seguintes regras:
Devem comear com uma letra, $ ou _
Nopodem comear com nmeros
Aps o primeiro caractere pode-se utilizar qualquercombinao de letras, nmeros, $ e _
No se pode utilizar palavras reservadas
Os identificadores, assim como toda a linguagem Java, socase-sensitive. Aluno e aluno so identificadores diferentes
No h limite de caracteres para identificadores
7/21/2019 A02 - Introdu_o a linguagem Java.pdf
33/46
Mais regras...
Caso essas regras no sejam seguidas, pode causar
Erro de sintaxe
Se comear com nmero
Se utilizar palavras reservadas
Trocar maisculas por minsculas Erro de semntica
Trocar maisculas por minsculas
7/21/2019 A02 - Introdu_o a linguagem Java.pdf
34/46
Exerccios
Relembrando:
O que ocorre se o programa tiver erros de sintaxe?
O que ocorre se o programa tiver erros de
semntica?
7/21/2019 A02 - Introdu_o a linguagem Java.pdf
35/46
Exerccios1) Quais das opes abaixo so identificadores vlidos em Java?
$metodo
_private
NOMEPESSOA
NomeMetodo
numero
_Classenome_aluno
_variavel_a_
enum
$enum
_______a
a________
_
$variavel
$ClasseNome
$nomeAluno
metodo
Classe
Metodo_nome
aluno1Variavel8
*aluno
nome^aluno
$nome$aluno$
$
Char
char
$$$$$
&nome
cONTINUE
$_$_$_$
nomeClasse
1$
$2_2
_$nome
8variavel
______
$nome_aluno$
new_
nomePessoa
1_2
Classe23
identificador
Variavel
13
$_1000
mome-aluno#hashtag
metodo@adiciona
nomeAluno3
$$$adiciona$$
$_nome
_nome$aluno_
private
(aluno)
$identificador_com_nome_grande_e_caracteres_especiais_100
7/21/2019 A02 - Introdu_o a linguagem Java.pdf
36/46
Variveis
Variveis so estruturas que armazenam valoresdentro do seu programa
So quase que indispensveis para implementar sua
lgica Podem armazenar qualquer tipo de dado que a
linguagem suporta
Nmeros, palavras e objetos complexos
As variveis em Java tem um tipo definido, epermanecem com esse tipo at serem descartadas
Inteiros, palavras, decimais, objetos complexos
7/21/2019 A02 - Introdu_o a linguagem Java.pdf
37/46
Declarao de Variveis
Forma geral (em java):tipoDoDado nomeDaVariavel ; // comentrio
Exemplos:int valor; // varivel que guarda valor inteiro
double area; // nmero real de preciso dupla
char letra; // guarda um caractere
String frase; // guarda uma cadeia de caracteres
boolean aceso; // guarda verdadeiro/falso
Observe:nome de varivel inicia com letra minscula!
7/21/2019 A02 - Introdu_o a linguagem Java.pdf
38/46
Tipos de Dados Primitivos em Java
Os tipos de dados que mais usaremos so:
int(nmeros inteiros)
double(nmeros reais, com preciso dupla)
boolean(tipo lgico; vale trueou false) char(caractere)
byte, short, long (inteiros com outros tamanhos)
float(nmeros reais com preciso simples)
Observe: todas as letras minsculasnesses tipos Lembrando que Java diferencia minsculas de maisculas
7/21/2019 A02 - Introdu_o a linguagem Java.pdf
39/46
Tipos de Dados Primitivos em Java
Tipo Tamanho Intervalo
boolean 1 bit false e true
byte 8 bits -128 a +127
char 16 bits \u0000 a \uFFFF
short 16 bits -32.768 a +32.767
int 32 bits -2.147.483.648 a -2.147.483.647
float 32 bits 1.4e-45
a 3.4e38
double 64 bits 4.9e-324 a 1.7e308
long 64 bits -9.223.372.036.854.775.808 a-9.223.372.036.854.775.807
7/21/2019 A02 - Introdu_o a linguagem Java.pdf
40/46
Tipos de Dados Compostos em Java
Os tipos de dados compostos sero desenvolvidos nadisciplina de Linguagem de Programao II
De incio, usaremos apenas um tipo composto jdefinido na Java:
o tipo cadeia de caracteres: String
observe: S maisculo
7/21/2019 A02 - Introdu_o a linguagem Java.pdf
41/46
Operadores - Atribuio
As variveis em um programa Java podem, edevem, receber valores
A atribuio server para que a varivelarmazene algum valor
Operador de atribuio: =int nota = 3; // LEIA-SE: varivel nota recebe3
7/21/2019 A02 - Introdu_o a linguagem Java.pdf
42/46
Sada de dados
Quando estamos escrevendo um programa, porvezes queremos que este mostre alguma informao
Podemos ento mostrar a sada de dados no console
Java possui alguns mtodo para isso// mostra Ol na tela
System.out.print(Ol);
// mostra Ol na tela e pela uma linha
System.out.println(Ol);
7/21/2019 A02 - Introdu_o a linguagem Java.pdf
43/46
Sada de dados
Podemos imprimir tambm valores devariveis// define uma variavel x com valor 1
int x = 1;
// imprime o valor de x
System.out.println(x);
7/21/2019 A02 - Introdu_o a linguagem Java.pdf
44/46
Colocando tudo isso em um programa
Vamos fazer um programa que mostre na telaa mensagem Ol Mundo
Ainda se lembram tudo que tem que fazer
para fazer um programa em Java?
Vamos fazer de duas formas. Utilizando obloco de notas e depois o Eclipse
7/21/2019 A02 - Introdu_o a linguagem Java.pdf
45/46
Colocando tudo isso em um programa
1) Abra o bloco de notas
2) Escreva o nome da classe: OlaMundo
3) Declare o mtodo principal (main0
4) Imprima a mensagem Ol mundoutilizando o mtodo que acabamos de ver
7/21/2019 A02 - Introdu_o a linguagem Java.pdf
46/46
Exerccios
2) Vamos criar outro programa que declare umavarivel x, atribua o valor 2 para essa varivel eimprima este valor.