Âmera, Ação!
Luz, C
Luz, câmera, ação...
• CamelCase
– É a denominação em inglês para a
prática de escrever palavras compostas
ou frases, onde cada palavra é iniciada
com Maiúsculas e unidas sem espaços.
É um padrão largamente utilizado em
diversas linguagens de programação,
como Java, Ruby, PHP e Python,
principalmente nas definições de
Classes e Objetos.
Luz, câmera, ação...
Pela convenção JavaBeans standard
camelCase é obrigatório não apenas uma
recomendação(http://www.coderanch.com)
Luz, câmera, ação...
• Tipos
– Tipos de valores que podem ser
armazenados e manipulados.
boolean
: valor (
true
or
false
).
int
: Integer (0, 1, -47).
double
: Real number (3.14, 1.0, -2.1).
Luz, câmera, ação...
• Variáveis
– Chamada local que armazena um valor de um
tipo particular.
Forma:
• Tipo Nome;
Examplo:
• Atribuição
– Use “=” para dar valor as variáveis.
Examplo:
String nome;
nome = “Felippe Lima”;
• Pode ser combinado com a declaração da
variável
Examplo:
double pi = 3.14;
boolean chovendo = true;
Luz, câmera, ação...
class MeuTerceiroPrograma
{
public static void
main
(
String
[]
args
){
String nome
=
"Felippe"
;
System
.
out
.
println
(
nome
);
nome
=
"joaozinho"
;
System
.
out
.
println
(
nome
);
}
•
Operadores
Símbolos que realizar cálculos simples:
Atribuição: =
Adição: +
Subtração:
-Multiplicação: *
Divisão: /
•
Ordem dos Operadores
1. Parenteses
2. Multiplicação e divisão
3. Adição e subtração
class FacaAConta
{
public static void
main
(
String
[]
arguments
){
double
score
=
1.0
+
2.0
*
3.0
;
System
.
out
.
println
(
score
);
score
=
score
/
2.0
;
System
.
out
.
println
(
score
);
}
class FacaAConta2 {
public static void
main
(
String
[ ]
arguments
){
double
score
=
1.0
+
2.0
*
3.0
;
System
.
out
.
println
(
score
);
double
copy
=
score
;
copy
=
copy
/
2.0
;
System
.
out
.
println
(
copy
);
System
.
out
.
println
(
score
);
}
}
•
String Concatenação (+)
String text
=
"hello"
+
" world"
;
text
=
text
+
" number "
+
5
;
// text = "hello world number 5"
• Na empresa onde trabalhamos, há tabelas com o quanto foi gasto em cada mês. Para fechar o balanço do primeiro
trimestre, precisamos somar o gasto total. Sabendo que, em Janeiro, foram gastos 15000 reais, em Fevereiro, 23000 reais e em Março, 17000 reais, faça um programa que calcule e imprima o gasto total no trimestre. Siga esses passos:
a) Crie uma classe chamada BalancoTrimestral com um bloco main, como nos exemplos anteriores;
b) Dentro do main (o miolo do programa), declare uma variável inteira chamada gastosJaneiro e inicialize-a com 15000;
c) Crie também as variáveis gastosFevereiro e gastosMarco, inicializando-as com 23000 e 17000, respectivamente, utilize uma linha para cada declaração;
Cont.
d) Crie uma variável chamada gastosTrimestre e
inicialize-a com a soma das outras 3 variáveis:
int gastosTrimestre = gastosJaneiro + gastosFevereiro +
gastosMarco;
e) Imprima os valores gastos para cada mês.(Exemplo:
Janeiro: 15000 reais)
2. Altere o código do programa para imprimir também
o "Valor total do trimestre:"
• Divisão
Divisão (“/”) calcula de forma diferentes entre integers e
doubles!
Examplo:
– double a = 5.0 / 2.0; // a = 2.5
– Intb = 4 / 2; // b = 2
– int c = 5 / 2; // c = 2
– double d = 5 / 2; // d = 2.0
•
Precedência como na Matemática
Esquerda para a Direita
Lado direito da “=” avaliada em primeiro lugar
Parêntese aumentar precedência
double x = 3 / 2 + 1; // x = 2.0
double y = 3 / (2 + 1); // y = 1.0
• Tipos incompatíveis
Java sempre verifica se os tipos
coincidem ,ou seja, se eles são
compatíveis:
String five = 5;
// ERROR!
test.java.2: incompatible types found: int
required: java.lang.String
String five = 5;
• Conversão por casting
inta = 2; // a = 2
double a = 2; // a = 2.0 (Implícito)
int a = 18.7; // ERROR
int a = (int)18.7; // a = 18
double a = 2/3; // a = 0.0
double a = (double)2/3; // a = 0.6666…
• Metodos
public static void main(String[] args) {
System.out.println(
“Olá”
);
}
• Adicionando Metodo
public static void nomeDoMetodo() {
comandos...
}
Para chamar um método:
nomeDoMetodo();
class NewLine {
public static void newLine() { System.out.println(""); }
public static void threeLines() {
newLine(); newLine(); newLine(); }
public static void main(String[] arguments){ System.out.println("Line 1");
threeLines();
System.out.println("Line 2");
• Parametros
public static void nomeMetodo(Tipo variavel){
comandos...
}
Para chamar:
nomeMedoto(expressão);
class Square {
public static void printSquare(int x){
System.out.println(x*x);
}
public static void main(String[] args){
int value = 2;
printSquare(value);
printSquare(3);
printSquare(value*2);
class Square2 {
public static void printSquare(int x){
System.out.println(x*x);
}
public static void main(String[] arguments){
printSquare("hello");
printSquare(5.5);
}
}
O que aconteceu de errado?
Luz, câmera, ação...
• Tipo de Retorno
public static TIPO nome() {
comandos...
return EXPRESSÃO;
}
class Square3 {
public static void printSquare(double x){
System.out.println(x*x);
}
public static void main(String[] args){
printSquare(5);
}
}
class Square4 {
public static double square(double x){
return x*x;
}
public static void main(String[] args){
System.out.println(square(5));
System.out.println(square(2));
}
●
Escopo das Variáveis
- Variáveis têm existência dentro do bloco({})
onde elas foram definidas (escopo)
- Variáveis definidas dentro de parênteses da
assinatura do método são como novas
variáveis definidas no método.
●
Exemplo:
Public Double soma(Double valor1,Double valor2){
Return valor1 + valor2;
}
class SquareChange {
public static void printSquare(int x){
System.out.println("printSquare x = " + x); x = x * x;
System.out.println("printSquare x = " + x); }
public static void main(String[] arguments){ int x = 5;
System.out.println("main x = " + x); printSquare(x);
System.out.println("main x = " + x);
class Scope {
public static void main(String[] arguments){ int x = 5; if (x == 5){ int x = 6; int y = 72; System.out.println("x = " + x + " y = " + y); } System.out.println("x = " + x + " y = " + y); } }
●
Métodos: Construindo Blocos
1.Grandes programas são feitos de pequenos
métodos
2.Métodos podem ser desenvolvidos individualmente,
testados e reutilizados.
3.O usuário de um método na precisa saber como ele
funciona
4.Em ciência da Computação essa característica é
conhecida por “Abstração”
Luz, câmera, ação...
●Funções Matemática
Pacote java.lang;
●Math.sin(x)
●Math.cos(Math.PI /2)
●Math.pow(2, 3)
●Math.log(Math.log(x + y))
●
Condicionais
Comando if
if (Condição) {
comandos...
}
public static void test(int x){
if (x > 5){
System.out.println(x + " is > 5");
}
}
public static void main(String[] args){
test(6);
test(5);
test(4);
}
●
Operadores de Comparação
x > y: x é maior que y
x < y: x é menor y
x >= y: x é maior ou igual a x
x <= y: x é menor ou igual a y
x == y: x igual y
( igualdade: “==” ; atribuição: “=” )
●
Operadores Boleanos
&&: igual ao “AND“
||: igual ao “OR”
if (x > 6) { if ( x > 6 && x < 9) {
if (x < 9) { ...
… }
}
}
●
Eles
if (condição) {
comandos...
} else {
Outros comandos....
}
public static void test(int x){ if (x > 5){ System.out.println(x + " is > 5"); } else { System.out.println(x + " is not > 5"); } }
public static void main(String[] args){ test(6);
test(5); test(4); }
public static void test(int x){ if (x > 5){ System.out.println(x + " is > 5"); } else if (x == 5){ System.out.println(x + " equals 5"); } else { System.out.println(x + " is < 5"); } }
public static void main(String[] args){
●
Conversão por método
- int to String:
String five = 5; // ERROR!
String five = Integer.toString (5);
String five = “” + 5; // five = “5”
- String to int:
int foo = “18”; // ERROR!
int foo = Integer.parseInt (“18”);
●
Operadores de Comparação
double a = 3.0; double b = 0.0; Double x = 3.0;
Double w = new Double(3.0); Double y = 5.0;
System.out.println( a == b); // retorna false System.out.println( a == x); // retorna true System.out.println( x == y ); // retorna false System.out.println( x == w ); // retorna false System.out.println( x.equals(a)); // retorna true
Exercício:
Método para imprimir e pagar com base no salário
base e horas trabalhadas
Horas extras: Mais de 40 horas, paga 1,5 vezes o
salário base
Salário Mínimo: R$ 8.00/hora
Máximo horas de trabalho: 60 horas por semana
Escreva seu próprio código
class PagamentoSemanal {
public static void main(String[] args) { Pagamento(7.5, 35);
Pagamento(8.2, 47); pagamento(10.0, 73); }
public static void pagamento(double valorHora, int horas) { if (valorHora < 8.0) {
System.out.println("Valor mínimo pago R$ 8.00/horas"); } else if (horas > 60) {
System.out.println("Não pode ser pago mais de 60 horas"); } else { int horaExtra = 0; if (horas > 40) { horaExtra = horas -40; horas = 40; }
double pagamento = valorHora * horas;
pagamento += horaExtra * valorHora * 1.5;
System.out.println("Pagamento do empregado R$" + pagamento); }
}
●
Loops
Operadores de Loop permitem dar voltas em um bloco
de código
Existem alguns operadores de loop em Java
while (condição) { comandos }
int i= 0;
while(i < 3) {
System.out.println(“valor da variável i: “ + i);
●
Loops
for (inicialização;condição;incremento){
Comandos
}
for (int i = 0; i <3; i=i+1){
System.out.println(“
valor da variável i:“ + i);
}
Note: i = i+1 pode ser escrito assim: i++
●
“break” finaliza um laço(Loop) for ou while
for (int i=0; i<100; i++) {
if(i == 50) {
Break;
}
System.out.println(“O valor de i:” + i);
}
●
Loops encadeados
for (int i = 0; i < 3; i++) {
for (int j = 2; j < 4; j++) {
System.out.println (i + “ “ + j);
}
}
●
Arrays(Vetores)
1. Um array é uma lista indexada de valores.
2. Você pode ter uma array de qualquer tipo de objetos: int, double, String, etc..
3. Mas, todos os elementos de um array devem ser do mesmo tipo
Exemplo: double [ n ]
...
Luz, câmera, ação...
●
Arrays
Para criar um array de um dado tamanho use o
operador “new”:
int[] vetorDeValores = new int[5];
Ou use uma variável par especificar o tamanho:
int tamanho = 12;
int[] vetorDeValores = new int[tamanho];
Chaves Também podem ser utilizadas:
int[] vetorDeValores = { 12, 24, -23, 47 };
Luz, câmera, ação...
●
Arrays
Para acessar os elementos de um array use:
vetorDeValores[index]
Examplos:
int[] vetorDeValores = { 12, 24, -23, 47 };
VetorDeValores[3] = 18; //novos valores {12,24,-23,18}
int x = vetorDeValores[1] + 3; // x será 27
●
Arrays
Cada array tem uma variável length, que armazena o tamanho do array.
int[] values = new int[12];
int size = values.length; // 12
int[] values2 = {1,2,3,4,5}
int size2 = values2.length; // 5
●
Loops e Arrays
Dando uma volta num vetor:
Exemplo 1:
int[] values = new int[5];
for (int i=0; i<values.length; i++) {
values[i] = i;
int y = values[i] * values[i];
System.out.println(y);
}
Luz, câmera, ação...
●
Loops e Arrays
Dando uma volta num vetor:
Exemplo 2:
int[] values = new int[5];
int i = 0;
while (i < values.length) {
values[i] = i;
int y = values[i] * values[i];
System.out.println(y);
I++;
}
●
Boas Práticas em estilo de programação
O objetivo de um bom estilo é fazer seu código ser
legível para você e para os outros.
String a1; // Ruim!! int a2; // Ruim!! double b; // Ruim!! String primeiroNome; // BOM String ultimoNome; // BOM int temperatura; // BOM
●
Boas Práticas em estilo de programação
Use indentação:
public static void main (String[] args) { int x = 5;
x = x * x; if (x > 20) {
System.out.println(x + “ is greater than 20.”); }
double y = 3.4; }
●
Boas Práticas em estilo de programação
Dê o espaçamento necessário entre suas expressões:
// RUIM!!
double cel=fahr*42.0/(13.0-7.0); // BOM
double cel = fahr * 42.0 / (13.0 -7.0);
●
Boas Práticas em estilo de programação
Linhas em branco aumentam a legibilidade
: public static void main (String[] arguments) {int x = 5; x = x * x;
if (x > 20) {
System.out.println(x + “ é > 20.”);
}
double y = 3.4;
}
●