0% acharam este documento útil (0 voto)
37 visualizações39 páginas

2024 Si tp1 Intro

Este documento fornece uma introdução básica à linguagem de programação Java, incluindo como escrever o primeiro programa em Java, compilá-lo e executá-lo, usar variáveis e tipos de dados primitivos como inteiros e reais, e escrever no console.
Direitos autorais
© © All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato PDF, TXT ou leia on-line no Scribd
0% acharam este documento útil (0 voto)
37 visualizações39 páginas

2024 Si tp1 Intro

Este documento fornece uma introdução básica à linguagem de programação Java, incluindo como escrever o primeiro programa em Java, compilá-lo e executá-lo, usar variáveis e tipos de dados primitivos como inteiros e reais, e escrever no console.
Direitos autorais
© © All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato PDF, TXT ou leia on-line no Scribd
Você está na página 1/ 39

LEB/LEF/MIEBIOM/MIEF

Introdução ao Java

Sistemas Informáticos
[http://www.oracle.com/technetwork/java]

1
O meu 1º programa

LEB/LEF/MIEBIOM/MIEF
public class FirstProgram
{
public static void main(String[] args)
{

Sistemas Informáticos
System.out.print("Hello, 2 + 3 = ");
System.out.println(2 + 3);
System.out.println("Goodbye");
}
}

2
FirstProgram.java Nome do programa.
Deve ser igual ao nome
do ficheiro.

LEB/LEF/MIEBIOM/MIEF
public class FirstProgram
{
public static void main(String[] args)
{

Sistemas Informáticos
System.out.print("Hello, 2 + 3 = ");
System.out.println(2 + 3);
System.out.println("Goodbye");
}
}

Código do programa
(zona vermelha) 3
Compilação & Execução

LEB/LEF/MIEBIOM/MIEF
FirstProgram.java FirstProgram.class Saída:

Código Hello, 2 + 3 = 5
Java Correr
Fonte Compilar Goodbye
bytecode
Java javac java

Sistemas Informáticos
4
Uma solução mais amigável:
Eclipse IDE for Java Developers

LEB/LEF/MIEBIOM/MIEF
Sistemas Informáticos
5
Escrever no ecrã/consola

LEB/LEF/MIEBIOM/MIEF
System.out.print("Hello, 2 + 3 = "); Mostra uma String
System.out.println(2 + 3);
System.out.println("Goodbye"); Mostra o valor da soma

Sistemas Informáticos
• Com exceção de instruções especiais, cada instrução termina
com ponto e vírgula.

• System.out refere-se (por defeito) ao ecrã do computador e


print é uma instrução para imprimir algo no ecrã.
6
print vs. println

LEB/LEF/MIEBIOM/MIEF
Código Saída
System.out.println("hello"); hello
System.out.println("there"); there

Sistemas Informáticos
System.out.print("one "); one two three
System.out.print("two "); four five
System.out.println("three ");
System.out.print("four ");
System.out.println("five ");

7
Variáveis em Java

LEB/LEF/MIEBIOM/MIEF
• Java é uma linguagem estaticamente tipada à O tipo de
dados de cada variável deve ser definido explicitamente

• Java é também uma linguagem fortemente tipada à O tipo


de uma variável permanece o mesmo até ser removido da

Sistemas Informáticos
memória

• Declaração de variáveis (sem atribuição de valor)


• int alunos;
• Declara uma variável com nome alunos, que conterá valores inteiros
• Existem outros tipos disponíveis, como float (real)
• O tipo de dados da variável é indicado apenas uma vez, ao
8
declarar a variável
Atribuição de valores a variáveis

LEB/LEF/MIEBIOM/MIEF
• Atribuição de um valor a uma variável: VariableName = expression;
• Esta instrução leva o computador a :
1) Calcular o valor da expressão
2) Armazene o novo valor na variável indicada, substituindo o valor anterior

Sistemas Informáticos
int alunos = 240; alunos 240
alunos = 210;
alunos = 210;

alunos 210 9
Exemplo

LEB/LEF/MIEBIOM/MIEF
Código:
float saldo;
float ganho;
float taxa;

Sistemas Informáticos
saldo = 1000;
taxa = 0.09;
ganho = taxa * saldo;
saldo = saldo + ganho;

saldo ganho taxa


Memória:
1000
1090 90 0.09 10
Atribuição de valores

LEB/LEF/MIEBIOM/MIEF
int n;
n = 10;
8 + 1 = n;
n + 1 = n;

Sistemas Informáticos
• O que está errado no Código anterior?

11
Atribuição de valores

LEB/LEF/MIEBIOM/MIEF
int n;
n = 10;
8 + 1 = n;
n + 1 = n;

Sistemas Informáticos
• O que está errado no Código anterior?

• A sintaxe para atribuir valor a uma variável é sempre:


nomevariável = expressão;

• A forma inversa está gramaticalmente incorreta


12
Variáveis em Java: Exemplo

LEB/LEF/MIEBIOM/MIEF
• Para referenciar uma variável, use p seu identificador (nome).
O valor atual da variável é usado.

Sistemas Informáticos
public class VarExemplo
{
public static void main(String args[])
{
int alunos = 20;
System.out.println(alunos);
alunos = 10;
System.out.println(alunos);
}
}
13
Tipos de dados

LEB/LEF/MIEBIOM/MIEF
• Tipos básicos

• The Java language has eight predefined data types, often called
basic (primitive) data types

Sistemas Informáticos
Inteiros: byte, int, short, long
Reals: float, double
Caracter: char
Booleanos: boolean

14
Tipos de dados

LEB/LEF/MIEBIOM/MIEF
Tipo primitivo Tamanho (bit)
(Tamanho em bytes)
boolean 1
char 16 (2 byte)

Sistemas Informáticos
byte 8 (1 byte)
short 16 (2 byte)
int 32 (4 byte)
long 64 (8 byte)
float 32 (4 byte)
double 64 (8 byte)

15
Tipos de dados para inteiros

LEB/LEF/MIEBIOM/MIEF
Espaço
Tipo em Valor mínimo Valor máximo
memória

Sistemas Informáticos
byte 8 bit -128 127
short 16 bit -32768 32767
int 32 bit -2 147 483 648 2 147 483 647
long 64 bit -9 223 372 036 854 775 808 9 223 372 036 854 775 807

int inteiro = 5;

16
Tipos de dados para reais

LEB/LEF/MIEBIOM/MIEF
• Números de virgula flutuante
• Valores com parte fracionária

Espaço

Sistemas Informáticos
Tipo em Valor mínimo Valor máximo
memória
float 32bit -3.4 x 10^38 3.4 x 10^38
double 64bit -1.7 x 10^308 1.7 x 10^308

double numero = 5.6; 17


Valores de virgula flutuante

LEB/LEF/MIEBIOM/MIEF
• Exemplos: 0.09 -0.034 345.6 .00

• Também pode ser escrito em notação científica, por exemplo:

Sistemas Informáticos
• 2.0e2 (200.0)
• -7.321e-3 (-0.007321)

18
Em Java double é assumido por
defeito

LEB/LEF/MIEBIOM/MIEF
• Uma constante de virgula flutuante é de precisão dupla por
padrão.
• Por examplo, o Código seguinte gera um erro de compilação:
• float rate = 0.09;
• Para forçar uma constante numérica a ser float em vez de

Sistemas Informáticos
double, use o sufixo f:
• float rate = 0.09f;
• Quais das seguintes constantes numéricas são aceitáveis em
código Java?
• 9,87
• 0
• 3.57*E2
• 3.57E+2 19
Tipo Boolean

LEB/LEF/MIEBIOM/MIEF
• Uma variável do tipo boolean só pode assumir um de dois
valores: true or false

Sistemas Informáticos
Espaço em
Tipo Valor
memória
boolean 1bit true ou false

boolean val = true; 20


Tipo Caracter

LEB/LEF/MIEBIOM/MIEF
• Java usa um conjunto de caracteres chamado Unicode, que é
uma extensão do código ASCII.

• Inclui todos os caracteres de um teclado normal, bem como


caracteres de controlo (por exemplo, tabulação, mudança de

Sistemas Informáticos
lina,…)

Espaço em
Tipo Valor
memória
char 16bit Any Unicode

• Os caracteres são definidos entre apóstrofos:


21
char teste = 'c';
Tipos de dados: Strings

LEB/LEF/MIEBIOM/MIEF
• Uma variável do tipo String pode conter uma cadeia de caracteres.

• Não é mais um tipo primitivo (por exemplo, int, double), o que na


prática significa que possui métodos associados (ou seja, funções)
que lhe permitem realizar operações complexas.

Sistemas Informáticos
• Strings são definidas entre aspas e podem ser concatenadas usando
o sinal +

• String str1 = "hello";


• String str2 = "world!";
• String str3 = str1 + str2;

• É possível concatenar uma String com um número (como resultado é 22


obtida uma String)
Strings: Exemplo básico

LEB/LEF/MIEBIOM/MIEF
public class ExemploStrings
{
public static void main(String[] args)
{
System.out.println("ola!"); // prints ola!

String cumprimento = "ola!";

Sistemas Informáticos
System.out.println(cumprimento); // prints ola!

int alunos = 20;


System.out.println("Eng. Física tem" + alunos + "alunos");
alunos = 10;
System.out.println("Eng. Biomédica tem" + alunos + "alunos");
}
}

23
Constantes em Java

LEB/LEF/MIEBIOM/MIEF
• Uma constante armazena um valor que não pode ser alterado.

• Exemplo:
final int MAX_STUDENTS = 300;

Sistemas Informáticos
24
Constantes em Java

LEB/LEF/MIEBIOM/MIEF
• Uma constante armazena um valor que não pode ser alterado.
• Exemplo:
final int MAX_STUDENTS = 300;

MAX_STUDENTS = 400 Erro!

Sistemas Informáticos
• A constante MAX_STUDENTS com o valor 300 é declarada

• A palavra reservada final indica que é uma constante

• Deve ser definido com todos os caracteres em maiúsculas.

• Use constantes para tornar os programas mais legíveis e fáceis de 25


manter.
Comentários

LEB/LEF/MIEBIOM/MIEF
• Um comentário é uma observação/nota em um programa
para esclarecer algo a um leitor humano.
• Os comentários são ignorados pelo compilador.
• Duas maneiras de indicar comentários:

Sistemas Informáticos
• Double slash: tudo até o final da linha é ignorado.
• /* and */: tudo entre /* e */ é ignorado.

int num; // the number of students

/* this is a comment 26
still a comment */
Expressões aritméticas em Java

LEB/LEF/MIEBIOM/MIEF
• Operadores: ( ) * / % + -

Exemplo: 5 * (2 + 3) + 7 = 32

Sistemas Informáticos
• O operador % retorna o resto da divisão:
• 13 % 4 à 1
• 8.6 % 2.0 à 0.6

27
Precedências

LEB/LEF/MIEBIOM/MIEF
• Regras usuais de precedência da aritmética (* e / têm
precedência maior que + e -)

• Os parênteses têm maior precedência.

Sistemas Informáticos
• Quando os operadores têm a mesma precedência, a
expressão deve ser avaliada da esquerda para a direita.

• Avalie as seguintes expressões Java:


• 1+4/4=
• 2 * (1 + 2) / 3 =
28
• 5%3%2=
Precedências

LEB/LEF/MIEBIOM/MIEF
• Regras usuais de precedência da aritmética (* e / têm
precedência maior que + e -)

• Os parênteses têm maior precedência.

Sistemas Informáticos
• Quando os operadores têm a mesma precedência, a
expressão deve ser avaliada da esquerda para a direita.

• Avalie as seguintes expressões Java:


• 1+4/4=2
• 2 * (1 + 2) / 3 = 2
29
• 5%3%2=0
Como evitar divisões inteiras

LEB/LEF/MIEBIOM/MIEF
• Como em outras linguagens o operador divisão (/) dá:
• Resultados inteiros se usado com operandos inteiros (exemplo: 7/4
dá 1)
• Resultados reais se pelo menos um dos operandos for real
(exemplo: 7.0/4 dá 1.75)

Sistemas Informáticos
• Para evitar isso, podemos usar um operador casting e converter um
número inteiro em double ou float, por exemplo.

double x;
x = 5 / 2; // x is 2.0
x = (float) 5 / 2; // x is 2.5
x = 5 / (double) 2; // x is 2.5

30
• Alternativamente, podemos multiplicar um dos operandos inteiros
por 1.0
Expressões Booleanas

LEB/LEF/MIEBIOM/MIEF
• São avaliadas como true ou false

• Podem ser construídas com operadores relacionais e lógicos

• Operadores relacionais (podem ser usados com todos os tipos


primitivos, incluindo char):

Sistemas Informáticos
• < “menor que”
• <= “menor ou igual que”
• > “maior que”
• > = “maior ou igual que”
• == “igual a”
• ! = “diferente de”

• Exemplo:
• 5 > 6 à false 31
• 7 == 7 à true
Expressões Booleanas

LEB/LEF/MIEBIOM/MIEF
• Operadores lógicos
• ! NÃO (¬)
• && E (Ù)

Sistemas Informáticos
• || OU (Ú)

• Exemplos:
• (10 > 5) à true
• (10 > 5 && 3 != 3) à false

32
Operatores lógicos

LEB/LEF/MIEBIOM/MIEF
P Q !P P && Q P || Q
False False True False False

Sistemas Informáticos
False True True False True
True False False False True
True True False True True

33
Exemplo

LEB/LEF/MIEBIOM/MIEF
int a = 1;
int b = 4;
int c = 2;
boolean resultado = true;
resultado = (b * b) < (4 * a * c); Verdadeiro / Falso?

Sistemas Informáticos
• É possível imprimir o valor de um booleano!

System.out.println(resultado);
System.out.println(2 * 2 == 4); // ß Imprime true

34
Precedências

LEB/LEF/MIEBIOM/MIEF
Operador Descrição
Baixa precedência || Disjunção
&& Conjunção

Sistemas Informáticos
! Negação
<, <=, >, >=, !=, == Comparações
+, - Adição e Subtração
Produto, Divisão e Resto
*, /, %
da divisão
Alta precedência () Parêntesis

35
Operadores de Incremento e
Decremento

LEB/LEF/MIEBIOM/MIEF
• O operador de incremento (++) é uma forma abreviada de
aumentar uma variável em 1, por exemplo:
• c++; // equivalente a c = c + 1
• O operador de decremento (--) é uma forma abreviada de diminuir
uma variável em 1.

Sistemas Informáticos
• x--; // equivalente a x = x – 1
• Esses operadores podem ser usados para aumentar ou diminuir
antes ou depois do valor ser usado, por exemplo:
• a = b++;// copiar o valor de “b” para “a”, e depois incrementar “b”
• a = ++b;// incrementar b, e depois atribuir o valor de “b” a “a”
• ++ e -- have higher têm maior precedência que os operadores 36
aritméticos
Qual o resultado?
public class DataTypes

LEB/LEF/MIEBIOM/MIEF
{
public static void main(String[] args)
{
int j, k, m;
int d= 122;
j = d++; // j=122, d=123
System.out.println("j= " + j); //j=122

Sistemas Informáticos
k = ++d; //d=124, k=124
System.out.println("k= " + k); //k=124
m = --d; //d=123, m=123
System.out.println("m= " + m); //m=123
m = k % j; //m=124%122, =2
System.out.println("m= " + m);
j = 5;
k = 3;
m = j/k; //m=5/3, =1
37
System.out.println("m= " + m);
}
}
Incremento/Decremento (2)

LEB/LEF/MIEBIOM/MIEF
• O operador de incremento (++) é uma forma abreviada de
aumentar uma variável em 1, de outra forma:
• x+=1; // igual a x = x + 1 ou x++
• O operador de decremento (--) é uma forma abreviada de

Sistemas Informáticos
diminuir uma variável em 1, de outra forma:
• x-=1; // igual a c = c - 1 or c--

• Forma geral:
• x+=y
• x-=y
38
Mais em …

LEB/LEF/MIEBIOM/MIEF
• The Java Tutorials – Language Basics
• http://docs.oracle.com/javase/tutorial/java/nutsandbolts/index.html

Sistemas Informáticos
39

Você também pode gostar

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy