You are on page 1of 39

VARIVEIS, TIPOS E CONSTANTES

Operadores
Operadores Aritmticos: ( + ) Soma; ( - ) Subtrao; ( * ) Multiplicao; ( / ) Diviso; ( % ) Resto da Diviso

Operadores de Atribuio: ( = ) Principal operador de atribuio; ( += ) a += b equivale a = a + b; ( -= ) a = b equivale a = a b; ( *= ) a *= b equivale a = a * b; ( /= ) a /= b equivale a = a / b; ( %= ) a %= b equivale a = a % b;

VARIVEIS, TIPOS E CONSTANTES


Operadores
Operadores Unrios: ( + ) Sinal positivo; ( - ) Sinal negativo (mudana de sinal). Operadores de Incremento e Decremento: ( ++ ) Incrementa a varivel em uma unidade; ( -- ) Decrementa a varivel em uma unidade. Exemplo de Ps-Fixado: int a = 4; int b = a++; // b=4; a=5; int c = a--; // c=5; a=4; Exemplo de Pr-Fixado: int a = 4; int b = ++a; // a=5; b=5; int c = --a; // a=4; c=4;

VARIVEIS, TIPOS E CONSTANTES


Jogo rpido...

int a = 5, b = 0; b = a++ + a + ++a; int c = 4, d = 0; d = ++c + c + c++; int e = 6, f = 0; f = e-- + --e + e;

Qual o valor de b, c e f aps a realizao das expresses?

VARIVEIS, TIPOS E CONSTANTES


Operadores
Operadores de Comparao (devolvem sempre um valor lgico): ( > ) - Maior que; ( < ) - Menor que; ( == ) - Igual; ( != ) - Diferente; ( >= ) - Maior ou igual que; ( <= ) - Menor ou igual que. Operadores Lgicos: ( & ) - devolve true se ambos operandos forem true, avaliando ambos. ( | ) - devolve true se um dos operandos for true, avaliando ambos; ( ! ) - Negao; ( && ) - devolve true se ambos operandos forem true; ( || ) - devolve true se algum dos operandos for true.

VARIVEIS, TIPOS E CONSTANTES


Vamos pensar um pouco mais... Qual o resultado das expresses abaixo? int a = 4, b = 0; b = a++ + ++a + a; int c = 3, d = 0; d = ++c + c++ + ++c; a = ? b = ? c = ? d = ?

int e = 6, f = 0, g = 0; g = e-- - --e - e + ++f + f++; e = ? f = ? g = ?


int h = 8, i = 2; h += 4; h *= i; h %= 5;

h = ?

VARIVEIS, TIPOS E CONSTANTES


Vamos treinar?
5. Escreva um programa que imprima o resultado das expresses abaixo: 321+2+1+3 2+63/7x9 2x34x5 3%48

VARIVEIS, TIPOS E CONSTANTES


Vocs sentiram falta de algum tipo de dados?

VARIVEIS, TIPOS E CONSTANTES


Cadeias de caracteres: String Em Java, cadeias de caracteres (String) NO so tipos primitivos!!!

Exemplos:
Literais: NINJA, Universidade, POO-Java, Declarao: String nome = Marcos; Concatenao: Hello + World HelloWorld Converso implcita: Hello + 2010 Hello2010 Comparao de Strings: nome.equals(Marcos);
(retorna boolean)

Tamanho de String: nome.length();


(retorna inteiro)

VARIVEIS, TIPOS E CONSTANTES

VARIVEIS, TIPOS E CONSTANTES


String: mtodos teis length retorna o tamanho da String String disc = POO e Java"; System.out.print("tamanho = " + disc.length() ); charAt(p) retorna o caractere na posio p System.out.println("disciplina: " + disc); System.out.print("primeiro caractere: "); System.out.println(disc.charAt(0)); // P System.out.print("segundo caractere: "); System.out.println(disc.charAt(1)); //O System.out.print("ultimo caractere: "); System.out.println(disc.charAt(disc.length()-1));//a

Obs: Uma String inicia com ndice 0 e termina em tamanho-1.

VARIVEIS, TIPOS E CONSTANTES


Vamos treinar?
6. Escreva um programa que concatene as strings Tpicos, de e Linguagens e imprima o resultado final com o tamanho da String resultante pela concatenao. 7. Escreva um programa que declare uma String com o seu nome completo e imprima todas as iniciais utilizando charAt.

DVIDAS?

04

CURSO DE POO COM JAVA


Exibindo e Lendo Dados

PROF. MARCOS VINICIUS


E-mail: marcos.engsoft@gmail.com

EXIBINDO E LENDO DADOS


Exibindo dados Para escrever dados na sada padro (monitor), use: System.out.print(dados); ou System.out.println(dados); Obs: o println salta a linha aps a impresso. O comando acima pode ser usado tambm com variveis: int x = 20; System.out.println( x ); Pode-se concatenar Strings com variveis: System.out.println( x = + x ); x = 20

EXIBINDO E LENDO DADOS


Exibindo dados Escrevendo mais de um dado: int x = 20; int y = 30; System.out.print( x = + x + e y = + y ); Sada: x = 20 e y = 30 Escrevendo mais de um dado de outra maneira (printf): Use System.out.printf com o % e o tipo do dado a ser impresso. %d decimal inteiro %tamanho.precisao f ponto-flutuante %s String %c caractere %b booleano

EXIBINDO E LENDO DADOS


Exibindo dados Exemplo com printf:

int i = 10; String s = "formatacao" double d = 123.456; char c = 'a'; boolean b = true; double d2 = 789; System.out.printf( "dados: %d - %s - %7.3f - %c - %b \n", i, s, d, c, b );
Sada: dados: 10 - formatacao - 123,456 - a - true

EXIBINDO E LENDO DADOS


Lendo dados

Para ler dados da entrada padro, faa como descrito abaixo:


import java.util.*; public class Leitura { public static void main(String args[ ]) { // crie a varivel de leitura dos dados Scanner s = new Scanner ( System.in ); // use os mtodos de leitura especficos do // tipo desejado System.out.print( "digite uma linha: " ); String linha = s.nextLine() ; // l a linha System.out.print( "digite um numero: " ); int i = s.nextInt() ; // l um inteiro System.out.print( "digite um numero: " ); double d = s.nextDouble() ; // l um pontoflutuante ...

EXIBINDO E LENDO DADOS


Vamos treinar? 8. Implementar um programa para calcular a rea de um trapzio, onde: h = altura, b = base menor, bMaior = base maior area = (h * (b + bMaior)) / 2. Voc deve ler do teclado os valores da altura e das duas bases e imprimir a rea calculada. 9. Escreva um programa que leia uma frase do teclado e imprima: Seu tamanho O primeiro e o ltimo caractere A palavra que comea na posio 3 e termina na posio 9, inclusive.

05

CURSO DE POO COM JAVA


Conceitos Iniciais de OO: Classe e Objeto

PROF. MARCOS VINICIUS


E-mail: marcos.engsoft@gmail.com

CONCEITOS INICIAIS DE OO: CLASSE E OBJETO


Paradigma da OO O paradigma da orientao a objetos surgiu no fim dos anos 60. Hoje em dia, praticamente suplantou o paradigma anterior, o paradigma estruturado. Alan Kay, um dos pais do paradigma da orientao a objetos, formulou a chamada analogia biolgica. Como seria um sistema de software que funcionasse como um ser vivo?"

CONCEITOS INICIAIS DE OO: CLASSE E OBJETO


O que um paradigma?

Um paradigma uma forma de abordar um problema.

CONCEITOS INICIAIS DE OO: CLASSE E OBJETO


O paradigma da orientao a objetos visualiza um sistema de software como uma coleo de agentes interconectados chamados objetos. Cada objeto responsvel por realizar tarefas especficas. atravs da interao entre objetos que uma tarefa computacional realizada.

CONCEITOS INICIAIS DE OO: CLASSE E OBJETO


PE vs. POO Comparando a forma de pensar Orientada a Objetos (focada nos dados) com a Estruturada/Procedural (focada nas funes).)
Paradigma Procedural Sistema de Biblioteca Paradigma O.O. Catlogo Sistema de Biblioteca

Livro
Bibliotecrio Biblioteca

Registrar emprstimo Adicionar livros

Pesquisar catlogo

CONCEITOS INICIAIS DE OO: CLASSE E OBJETO


Princpios da OO 1. 2. Qualquer coisa um objeto. Objetos realizam tarefas atravs da requisio de servios a outros objetos. Cada objeto pertence a uma determinada classe. Uma classe agrupa objetos similares.

3.

4.

A classe um repositrio para comportamento associado ao objeto.


Classes so organizadas em hierarquias.

5.

CONCEITOS INICIAIS DE OO: CLASSE E OBJETO


Caractersticas da OO Hierarquizao:
aps dividir um computador em gabinete, vdeo e teclado, possvel subdividir o gabinete em memrias RAM, ROM, disco, processador, etc. possvel fazer o mesmo com sistemas aplicativos, hierarquizando-os via diviso em subsistemas.

Classificao:
enquadramento dos objetos em categorias (classes), conforme suas caractersticas e suas funes. mamfero que mia gato, que late cachorro. uma bicicleta e um automvel so meios de transporte, tendo em vista sua funcionalidade.

CONCEITOS INICIAIS DE OO: CLASSE E OBJETO


Caractersticas da OO Encapsulamento:
Consiste em separar os aspectos externos de um objeto, que so acessveis para outros objetos, dos detalhes internos de implementao do objeto [Rumbaugh] forma de esconder detalhes de armazenamento dos dados e implementao de operaes, protegendo-os contra acesso indevido. possibilita o uso de algo sem que se conhea como foi construdo ou implementado. usa-se carro com injeo eletrnica sem necessitar saber detalhes de implementao da mesma.

CONCEITOS INICIAIS DE OO: CLASSE E OBJETO


Classes e Objetos Objeto: um objeto uma entidade que possui um
estado e um conjunto definido de operaes definidas para funcionar nesse estado. O estado representado como um conjunto de atributos de objeto. As operaes associadas ao objeto fornecem servios a outros objetos (clientes) que solicitam esses servios quando alguma computao necessria.

Classe: os objetos so criados de acordo com uma


definio de classe de objeto. Uma definio de classe de objeto funciona tanto como uma especificao quanto como um modelo (template) para criao de objetos. Essa definio inclui declaraes de todos os atributos e operaes que devem ser associados a um objeto dessa classe.

CONCEITOS INICIAIS DE OO: CLASSE E OBJETO


Classes e Objetos Os objetos se comunicam por meio da solicitao de servios de outros objetos e, se necessrio, por meio da troca de informaes para o fornecimento do servio. As cpias das informaes necessrias para executar o servio e os resultados da execuo do servio so passados como parmetros.

CONCEITOS INICIAIS DE OO: CLASSE E OBJETO


Os dados e os mtodos de cada objeto esto definidos na classe.

como se a classe servisse de molde para a formao dos seus objetos.

A classe dita as propriedades e comportamento que seus objetos devem ter.

CONCEITOS INICIAIS DE OO: CLASSE E OBJETO


Classes vs. Objetos Com base na planta de uma casa, diversas casas podem ser construdas; Cada casa construda ter seu endereo, sua cor, seu proprietrio, ... Propriedades; A planta representa a Classe;

As casas representam os

Objetos.

CONCEITOS INICIAIS DE OO: CLASSE E OBJETO


Classes vs. Objetos

Instanciao Classificao

Classe

Objetos

CONCEITOS INICIAIS DE OO: CLASSE E OBJETO


Definindo classes em Java Suponha que precisamos trabalhar com um tipo de dados diferente dos tipos de dados primitivos j existentes em Java, data, por exemplo. Suponha tambm que no exista esse tipo de dados em Java. Precisamos, ento, defini-lo.

Mas antes de trabalharmos com variveis do tipo Data, precisamos primeiro definir esse novo tipo de dados, conhecido como Tipo Agredado de Dados.

CONCEITOS INICIAIS DE OO: CLASSE E OBJETO


Definindo classes em Java Vamos criar o novo Tipo Agregado de Dados com os seguintes campos: dia, mes e ano.

Mos a obra!!!

public class Data { int dia; int mes; int ano; }

CONCEITOS INICIAIS DE OO: CLASSE E OBJETO


Definindo classes em Java A classe Data que acabamos de criar , inicialmente, o que chamamos de Tipo Agregado de Dados, ou Tipo Estruturado de Dados, ou ainda Registro. O Tipo Agregado de Dados um tipo de dados definido pelo programador. A maioria das linguagens de programao suporta a definio de Tipos Agregados de Dados.

CONCEITOS INICIAIS DE OO: CLASSE E OBJETO


Declarando variveis em Java

Para declarar a varivel hoje do novo tipo recm criado Data, faa:
Data hoje;

Porm, importante saber que tipos primitivos em Java alocam espao na memria quando so declarados.
Por outro lado, objetos NO alocam espao em memria quando so declarados. Variveis declaradas do tipo agregado no contm o dado e sim uma referncia (ponteiro) para o dado.

CONCEITOS INICIAIS DE OO: CLASSE E OBJETO


Declarando variveis em Java Aps declarada a varivel, a mesma no referencia nenhum lugar. Nesse caso, diz-se que ela tem referncia nula. Para representar o nulo, usamos a palavra reservada null. Como a memria no foi alocada na declarao da varivel, preciso fazer isso usando o operador new: hoje = new Data(); O operador new realmente cria o objeto.

CONCEITOS INICIAIS DE OO: CLASSE E OBJETO


Declarando variveis em Java Depois disso, a memria est alocada e diz-se que o objeto foi criado. Criar um objeto = instanciar um objeto. A atribuio anterior lida da seguinte maneira: A varivel hoje referencia o objeto recm criado.

A varivel hoje chamada varivel de referncia, pois referencia o objeto.


importante fazer a distino entre varivel e objeto.

CONCEITOS INICIAIS DE OO: CLASSE E OBJETO


Declarando variveis vs. Criando objetos

Data hoje;
hoje null

hoje = new Data();

0x172BC73 dia = 0 mes = 0 ano = 0

CONCEITOS INICIAIS DE OO: CLASSE E OBJETO


Declarando variveis vs. Criando objetos As propriedades de um objeto so chamadas de variveis de instncia, pois cada instncia tem seus prprios valores para suas variveis de instncia. Como acessar as variveis de instncia do objeto? Resposta: por meio do operador ., como pode ser visto no trecho de cdigo abaixo:

Data hoje; hoje = new hoje.dia = hoje.mes = hoje.ano =

Data(); 12; 10; 2011;

You might also like