• Nenhum resultado encontrado

Luz, C Âmera, Ação! Introdução ao Java Cont.

N/A
N/A
Protected

Academic year: 2021

Share "Luz, C Âmera, Ação! Introdução ao Java Cont."

Copied!
62
0
0

Texto

(1)

Âmera, Ação!

Luz, C

(2)

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.

(3)

Luz, câmera, ação...

Pela convenção JavaBeans standard

camelCase é obrigatório não apenas uma

recomendação(http://www.coderanch.com)

(4)

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).

(5)

Luz, câmera, ação...

• Variáveis

– Chamada local que armazena um valor de um

tipo particular.

Forma:

• Tipo Nome;

Examplo:

(6)

• Atribuição

– Use “=” para dar valor as variáveis.

Examplo:

String nome;

nome = “Felippe Lima”;

(7)

• Pode ser combinado com a declaração da

variável

Examplo:

double pi = 3.14;

boolean chovendo = true;

(8)

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

);

}

(9)

Operadores

Símbolos que realizar cálculos simples:

Atribuição: =

Adição: +

Subtração:

-Multiplicação: *

Divisão: /

(10)

Ordem dos Operadores

1. Parenteses

2. Multiplicação e divisão

3. Adição e subtração

(11)

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

);

}

(12)

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

);

}

}

(13)

String Concatenação (+)

String text

=

"hello"

+

" world"

;

text

=

text

+

" number "

+

5

;

// text = "hello world number 5"

(14)

• 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;

(15)

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)

(16)

2. Altere o código do programa para imprimir também

o "Valor total do trimestre:"

(17)

• 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

(18)

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

(19)

• 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;

(20)

• 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…

(21)

• Metodos

public static void main(String[] args) {

System.out.println(

“Olá”

);

}

(22)

• Adicionando Metodo

public static void nomeDoMetodo() {

comandos...

}

Para chamar um método:

nomeDoMetodo();

(23)

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");

 

(24)

• Parametros

public static void nomeMetodo(Tipo variavel){

comandos...

}

Para chamar:

nomeMedoto(expressão);

(25)

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);

(26)

 

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?

(27)

Luz, câmera, ação...

• Tipo de Retorno

public static TIPO nome() {

comandos...

return EXPRESSÃO;

}

(28)

class Square3 {

public static void printSquare(double x){

System.out.println(x*x);

}

public static void main(String[] args){

printSquare(5);

}

}

(29)

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));

}

(30)

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;

}

(31)

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);

(32)

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); } }

(33)

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”

(34)

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))

(35)

Condicionais

Comando if

if (Condição) {

comandos...

}

(36)

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);

}

(37)

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: “=” )

(38)

Operadores Boleanos

&&: igual ao “AND“

||: igual ao “OR”

if (x > 6) { if ( x > 6 && x < 9) {

if (x < 9) { ...

… }

}

}

(39)

Eles

if (condição) {

comandos...

} else {

Outros comandos....

}

(40)

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); }

(41)

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){

(42)

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”);

(43)

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

(44)

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

(45)

class PagamentoSemanal {

public static void main(String[] args) { Pagamento(7.5, 35);

Pagamento(8.2, 47); pagamento(10.0, 73); }

(46)

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); }

}

(47)

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);

(48)

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++

(49)

“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);

}

(50)

Loops encadeados

for (int i = 0; i < 3; i++) {

for (int j = 2; j < 4; j++) {

System.out.println (i + “ “ + j);

}

}

(51)

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...

(52)

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 };

(53)

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

(54)

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

(55)

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);

}

(56)

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++;

}

(57)

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

(58)

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; }

(59)

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);

(60)

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;

}

(61)

Boas Práticas em estilo de programação

Não duplique os testes

:

if (valorHora < 8.0) {

...

} else if (horas > 60) {

...

} else if (valorHora >= 8.0 && horas <= 60) {

...

}

(62)

• OpenCourseWare -

6.092 Introduction to Programming in

Java

(

http://web.mit.edu)

MIT- MASSACHUSETTS INSTITUTE OF TECHNOLOGY

Referências

Documentos relacionados