• 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

Ainda com relação à delimitação de fronteiras entre História e Literatura, Hayden White (1994, p.. Dessa forma, alguns historiadores sentiram-se ameaçados em seu fazer escritural e

Assim sendo, este trabalho tem por objetivo a avaliação das propriedades químicas e tecnológicas de argilas da região meio norte do Brasil como potencial na utilização

Diferentemente das demais células renais, as células do túbulo coletor não apresentam bombas transportadoras na membrana luminal, apenas canais: de água que, estimulados pelo

Embora Alexander Crummell e Edward Wilmot Blyden tenham ocupado lugar de destaque na evolução do pensamento pan-africano ao apontarem a religião como um caminho

Para obter mais informações sobre como ativar os perfis do Device Link utilizando as Configurações de cor para especialistas no driver da impressora Integrated Fiery Color

Em muitos sistemas operacionais, todas as informações sobre cada processo, além do conteúdo de seu próprio espaço de endereçamento, são armazenadas em uma tabela do

Este estudo apresenta como tema central a análise sobre os processos de inclusão social de jovens e adultos com deficiência, alunos da APAE , assim, percorrendo

A proposta deste trabalho é refletir acerca da educação profissional para pessoa com deficiência e suas contribuições na inserção no mercado de trabalho, onde