Java: aspectos básicos
Programação Orientada a Objeto (1COP009)
Prof. Bruno Bogaz Zarpelão
Objetivo
• Aprender estruturas básicas da linguagem Java:
– compilação usando linha de comando;
– método main;
– declaração de variáveis;
– tipos primitivos;
– operadores;
– estruturas de controle;
2
Compilação e execução em Java
• Os programas em Java são executados por uma
máquina virtual, a JVM (Java Virtual Machine).
• Para entender melhor esse processo, vamos compilar e
executar um programa Java fora do IDE.
3
Imprimindo uma linha de texto em Java
// Fig. 2.1: Welcome1.java
// Text-printing program.
public class Welcome1
{
// main method begins execution of Java application
public static void main(String[] args)
{
System.out.println("Welcome to Java Programming!");
} // end method main
} // end class Welcome1
4
Elementos do código
• Declaração da classe:
– Palavra-chave (ou palavra reservada) “class” indica que uma
classe está sendo declarada.
– Palavras-chave em Java sempre têm todas as letras
minúsculas.
– A questão da palavra chave “public” será explicada
posteriormente no curso.
5
Elementos do código
• Nomes e identificadores da classe:
– Nomes de classe, por convenção, tem a primeira letra maiúscula.
– As letras restantes são minúsculas se pertencerem à mesma
palavra.
– Quando uma palavra nova se inicia, usamos uma letra maiúscula
para indicar.
– Exemplo: SampleClass.
– O nome da classe é um identificador, portanto não pode começar
com número ou conter espaços.
– Java é case sensitive.
6
Elementos do código
• Arquivo para a classe:
– O arquivo onde a classe será salva deve ter o mesmo nome
da classe seguido da extensão “.java”.
• Corpo de classe:
– As chaves determinam o início e o fim de um escopo no
Java. No caso da classe, o seu corpo é definido por estes
caracteres.
7
Elementos do código
• Declaração do método
– Chaves definem o corpo da declaração do método.
– Prestar atenção nas palavras-chave public, void, static e nos
parâmetros em parênteses.
8
Método main
• O main é um método especial que serve como ponto
de partida da execução do programa em Java.
• O main precisa ser public, static, void e ter um
vetor de strings como parâmetro.
9
Método main
static public void main (String args[])
public static void main (String[] args)
public static void main (String args[])
public static void main(String[] params)
10
Elementos do código
• Gerando a saída com System.out.println:
– O comando imprime a string entre aspas;
– System.out é um objeto pré-definido do Java, que define a
saída padrão;
– println é o método e o argumento do método é a String a ser
impressa;
– Observe que a instrução é finalizada com ponto e vírgula;
11
Compilando o aplicativo Java
• Compilando o código fonte:
– javac <Caminho do arquivo>/Welcome1.java
• Será gerado um arquivo Welcome1.class
• Executando o programa:
– java Welcome1
12
Modificações no primeiro programa
public class Welcome2
{
// main method begins execution of Java application
public static void main(String[] args)
{
System.out.print("Welcome to ");
System.out.println("Java Programming!");
} // end method main
} // end class Welcome2
13
Modificações no primeiro programa
public class Welcome3
{
// main method begins execution of Java application
public static void main(String[] args)
{
System.out.println("Welcome\nto\nJava\nProgramming!");
} // end method main
} // end class Welcome3
14
Modificações no primeiro programa
public class Welcome4
{
// main method begins execution of Java application
public static void main(String[] args)
{
System.out.printf("%s%n%s%n",
"Welcome to", "Java Programming!");
} // end method main
} // end class Welcome4
15
Outro exemplo
import java.util.Scanner; // program uses class Scanner
public class Addition
{
// main method begins execution of Java application
public static void main(String[] args)
{
// create a Scanner to obtain input from the command window
Scanner input = new Scanner(System.in);
int number1; // first number to add
int number2; // second number to add
int sum; // sum of number1 and number2
System.out.print("Enter first integer: "); // prompt
number1 = input.nextInt(); // read first number from user
System.out.print("Enter second integer: "); // prompt
number2 = input.nextInt(); // read second number from user
sum = number1 + number2; // add numbers, then store total in sum
System.out.printf("Sum is %d%n", sum); // display sum
} // end method main
} // end class Addition
16
Ler input do teclado
• Utilizar a classe Scanner do pacote java.util:
public static void main(String[] args)
{
int a;
float b;
String c;
Scanner sc = new Scanner(System.in);
System.out.println("Inteiro:");
a = sc.nextInt();
System.out.println("Float");
b = sc.nextFloat();
System.out.println("String");
c = sc.next();
System.out.println("Mostrando inputs:“);
System.out.println("\tInteiro: " + a);
System.out.println("\tFloat: " + b);
System.out.println("\tString: " + c);
}
17
Variáveis
• Variáveis podem guardar dados de vários tipos:
números, textos, booleanos, referências a objetos, etc.
• Declaração de variável em Java:
– Definir nome, tipo e escopo.
18
Variáveis
int numeroDaConta;
int numeroDoDoc = 0;
double precoDoProduto;
Observem as convenções para
nomear variáveis em Java: primeira
letra minúscula e sem caracteres
especiais (_, $, etc.)
19
Variáveis
• Se declararmos duas variáveis com o mesmo nome em
um mesmo bloco (escopo), o código não compilará.
• A variável deve ser inicializada antes de sua primeira
utilização.
20
Tipos primitivos
Tipo Descrição Tamanho
byte Valor inteiro entre -128 e 127 1 byte
(inclusivo)
short Valor inteiro entre -32.768 e 32.767 2 bytes
(inclusivo)
int Valor inteiro entre -2.147.483.648 e 4 bytes
2.147.483.647 (inclusivo)
long Valor inteiro entre - 8 bytes
9.223.372.036.854.775.808 e
9.223.372.036.854.775.807
(inclusivo)
21
Tipos primitivos
Tipo Descrição Tamanho
float Valor com ponto flutuante entre 4 bytes
1,40129846432481707x
10-45 e 3,40282346638528860x 1038
(positivo ou negativo)
double Valor com ponto flutuante entre 8 bytes
4,94065645841246544x
10-324 e 1,79769313486231570x 10308
(positivo ou negativo)
boolean true ou false 1 bit
char Um único caractere Unicode de 16 bits. 2 bytes
22
Tipos primitivos
• Para armazenar texto, deve-se recorrer ao “tipo”
String.
• Importante: String não é um tipo primitivo!
23
Operadores aritméticos
• Soma: +
• Subtração: –
• Multiplicação: *
• Divisão: /
• Resto da divisão: %
24
Operadores de atribuição
• Simples: =
• Incremental: +=
• Decremental: -=
• Multiplicativa: *=
• Divisória: /=
• Modular: %=
25
Operadores de atribuição
int valor = 1; //valor == 1 int valor = 1; //valor == 1
valor += 2; //valor == 3 valor = valor + 2; //valor == 3
valor -= 1; //valor == 2 valor = valor - 1; //valor == 2
valor *= 2; //valor == 4 valor = valor*2; //valor == 4
valor /= 2; //valor == 2 valor = valor/2; //valor == 2
valor %= 2; //valor == 0 valor = valor%2; //valor == 0
26
Operadores relacionais
• Igualdade: ==
• Diferença: !=
• Menor: <
• Menor ou igual: <=
• Maior: >
• Maior ou igual: >=
27
Operadores lógicos
• “E” lógico: &&
• “OU” lógico: ||
28
Se...então
if (preco < 0){
System.out.println(“O preço do produto não pode ser negativo”);
} else {
System.out.println(“Produto cadastrado com sucesso”);
}
29
Enquanto...faça
int contador = 0;
while(contador < 100){
System.out.println(“Bom dia!”);
contador++;
}
30
Para...
for (int contador = 0; contador < 100; contador++){
System.out.println(“Bom dia!”);
}
31
Parâmetros do método main
• Os parâmetros do método main são passados na linha
de comando da execução do programa:
class Programa{
public static void main (String args[]){
for (int i = 0; i<args.length; i++){
System.out.println(args[i]);
}
}
}
java Programa Parametro1 Parametro2 Parametro3
32