Universidade Federal de Uberlândia Faculdade de Computação GGI030 Programação Orientada a Objetos 1o. Semestre de 2017 Prof.

Documentos relacionados
Roteiro 1: Dados, variáveis, operadores e precedência

Linguagem de Programação JAVA. Tiago Alves de Oliveira

AULA 02 DADOS PRIMITIVOS E EXERCÍCIOS

Tipos primitivos de Java Entrada de Dados Formatação da Saída. Aula 03

Ambientação com a Sintaxe de Java: parte 1

Linguagem Java. Introdução. Rosemary Silveira Filgueiras Melo

ESQUEMA AULA PRÁTICA 0 Familiarização com o Ambiente de Desenvolvimento NetBeans Construção do primeiro programa em java.

Sistemas Operacionais e Introdução à Programação. Programação com linguagem C

Módulo Lógica Programação com aplicações em Java. Projeto khouse Profissionalizante Profª Larissa Brandão

Linguagem de Programação III

ALGORITMOS. Professor: Diego Oliveira. Aula 06 - Tipos Primitivos de Dados

PROGRAMAÇÃO I E N T R A DA E S A Í DA D E DA D O S

PROGRAMAÇÃO I A LINGUAGEM DE PROGRAMAÇÃO JAVA I

RESULUÇÃO DOS EXERCÍCIOS E INSTRUÇÕES DE DECISÃO (if{} e else{}) Profº André Aparecido da Silva Disponível em:

Organização de programas em Java

Algoritmos II prof. Daniel Oliveira

Estruturas da linguagem C. 1. Identificadores, tipos primitivos, variáveis e constantes, operadores e expressões.

PROGRAMAÇÃO I A LINGUAGEM DE PROGRAMAÇÃO JAVA II

Programação Orientada a Objetos II Java Segunda aula. Prof. Rogério Albuquerque de Almeida

Objetivos do Capítulo

Organização de programas em Java

LÓGICA DE PROGRAMAÇÃO (JAVA) VARIÁVEIS. Professor Carlos Muniz

Unidade Acadêmica: Faculdade de Computação FACOM Disciplina: Programação Orientada a Objetos I Professor: Fabiano Azevedo Dorça Prática 01

Sintaxe da linguagem Java

Aula 3 Constantes e funções de E/S

Introdução a JAVA. Variaveis, tipos, expressões, comandos e blocos

Java Variáveis e Controle Fluxo

Faculdade de Computação

Linguagem de programação Java

Organização de programas em Java

Seleção Múltipla Laços (while, do-while, for) AULA 05

LINGUAGEM DE PROGRAMAÇÃO C AULA 2. Professor: Rodrigo Rocha

CONCEITOS BÁSICOS DE ORIENTAÇÃO A OBJETOS PROF. ME. HÉLIO ESPERIDIÃO

Array em Java. Figura 1 - Exemplo de um array de inteiros

Sintaxe Básica do Java. João Paulo Q. dos Santos

Introdução à Linguagem de Programação Java 1 INTRODUÇÃO À LINGUAGEM DE PROGRAMAÇÃO JAVA

Arrays em Java. Prof. Renato Pimentel. GGI030 Programação Orientada a Objetos. Universidade Federal de Uberlândia Faculdade de Computação

Operadores Lógicos e Relacionais Comandos condicionais (if-else) Casting AULA 04

Introdução a JAVA. Variáveis, tipos, expressões, comandos e blocos

Classes, instâncias e métodos de acesso. prática

Bacharelado em Ciência e Tecnologia Processamento da Informação. Equivalência Portugol Java. Linguagem Java

Programação de Computadores para GI

1 Da aula teórica ao Java

Orientação a Objetos e Java

Laboratório de Programação II

Introdução a classes e objetos. Prof. Marcelo Roberto Zorzan Prof a. Rachel Reis

Elementos Básicos. C# - Elementos básicos. Primeiro programa Tipos de dados Variáveis Constantes Expressões e operadores Controlo de fluxo Tabelas

ESQUEMA AULA PRÁTICA 1

Estrutura de Programas e Tipos de Dados Simples

Noçõ linguagem Java. Profs. Marcel Hugo e Jomi Fred Hübner. Departamento de Sistemas e Computação Universidade Regional de Blumenau - FURB

3. Linguagem de Programação C

Mais sobre Ponteiros em C

Universidade Federal do Espírito Santo. Programação I Tipos de Dados Básicos - C Professora: Norminda Luiza

Tipos de dados e comandos POO

Algoritmos e Estruturas de Dados I (DCC/003) Estruturas Básicas. Aula Tópico 2

ESQUEMA AULA PRÁTICA 1

Aula 2 POO 1 Prática. Profa. Elaine Faria UFU

Classes o Objetos. Classes, objetos, métodos e variáveis de instância

Universidade de Mogi das Cruzes Implementação Orientada a Objetos - Profª. Danielle Martin. Guia da Sintaxe do Java

Análise de Programação

Tipos, Literais, Operadores

Tipos, Literais, Operadores

Algoritmos I Aula 13 Linguagem de Programação Java

CMP Técnicas de Programação 2 a Lista de Exercícios - Passagem de parâmetros por referência e ponteiros Max Gontijo de Oliveira

Tipos de Dados, Variáveis e Entrada e Saída em C. DCC 120 Laboratório de Programação

A Linguagem C. A forma de um programa em C

Linguagens de Programação

Computação para Informática - Prof. Adriano Joaquim de Oliveira Cruz Segunda Aula Prática - 3 de setembro de 2010

Introdução a classes e objetos. Prof. Marcelo Roberto Zorzan

Estruturas de Dados. Módulo 2 Expressões. 9/8/2005 (c) Marco A. Casanova - PUC-Rio 1

AULA 6 - ARRAYS. Array de 10 elementos

Revisões de PG. Programação Orientada por Objetos (POO) Centro de Cálculo Instituto Superior de Engenharia de Lisboa

Cap. 2 Expressões na linguagem C

CIT Aula 02 Variáveis e Estruturas de desvio condicional. Autor: Max Rodrigues Marques Carga Horária: 2 h 22/07/15 1

Lição 4 Fundamentos da programação

Conceitos básicos de programação

Aula 02. Prof. Diemesleno Souza Carvalho

Variáveis, Tipos de Dados e Operadores

IO.println(a+" * "+b+" = "+produto); } }

Computação para Informática - Prof. Adriano Joaquim de Oliveira Cruz Segunda Aula Prática - 29 de agosto de 2008

Tópicos de hoje: Cap. 2 Expressões na linguagem C. Bits, Bytes e Palavras. Variáveis e Constantes. Números inteiros num Byte

Programação com Acesso a BD. Programação com OO Acesso em Java

Algoritmos e Programação 2. Objetos e Classes em Java. Classes. Revisão. Definições de classes incluem (geralmente):

Funções de Entrada e Saída

Variáveis e Operadores em C

Disciplina: Introdução à Engenharia da Computação

AULA TEÓRICA 3 Tema 2. Introdução a programação em Java (JVM, JDK)

Unidade 8: Sobrecarga de Funções e Vetores e Matrizes (Arrays) Prof. Daniel Caetano

Programação Orientada a Objetos II

Algoritmos e Programação

Criando a Classe Pessoa Exemplo: Crie e modele uma classe que receba o nome, idade e peso de uma Pessoa. Ao final mostre os dados na tela.

Algoritmos e Estruturas de Dados I (DCC/003) 2013/1. Estruturas Básicas. Aula Tópico 4

Estrutura de Dados. Introduc a o e Alocac a o de Memo ria. Vilson Heck Junior. Instituto Federal de Santa Catarina

ECT1203 Linguagem de Programação

Introdução a Linguagem C. Prof. Me. Hélio Esperidião

Variáveis primitivas e Controle de fluxo

Linguagem de Programação C

PROGRAMAÇÃO ESTRUTURADA E ORIENTADA A OBJETOS

Transcrição:

Universidade Federal de Uberlândia Faculdade de Computação GGI030 Programação Orientada a Objetos 1o. Semestre de 2017 Prof. Renato Pimentel Prática 02 Java básico Atividade individual. Crie um novo projeto no NetBeans para este exercício contendo uma classe principal para teste (sugestão: Teste). No método main(), crie duas variáveis de cada tipo primitivo do Java: byte, short, int, long, float, double, char e boolean; 1 public static void main ( String [] args ) { 2 java. util. Scanner sc = new java. util. Scanner ( System. in ); 3 byte byte1, byte2 ; 4 short short1, short2 ; 5 int int1, int2 ; 6 long long1, long2 ; 7 float float1, float2 ; 8 double double1, double2 ; 9 char char1, char2 ; 10 boolean A, B; 11... 12 } Adicione linhas para exibir cada uma das variáveis criadas usando o método printf() (imprime formatado), conforme descrito no exemplo do quadro ao início da próxima página. Tente executar o código e veja que uma mensagem de erro é exibida dizendo que a variável pode não ter sido inicializada (repare que as variáveis estão sublinhadas pelo NetBeans). Algumas maneiras de se inicializar variáveis no Java são: Na própria declaração, adicionando um = e o valor inicial após o nome da variável; Antes da primeira utilização, atribuindo-se um valor qualquer com uma declaração do tipo variável = <valor>; 1

Lendo um valor do console através de um objeto java.util.scanner, utilizando o método apropriado para cada tipo (nextint(), nextfloat (), etc.); Lendo dados da interface visual usando as bibliotecas Swing ou AWT (a ser visto em aula). 1... 2 System. out. printf (" Variaveis byte : %d e %d\n", byte1, byte2 ); 3 /* " String ^ ^ ", par â metros 4 Má scara dos par â metros 5... Siga o exemplo para os demais tipos de acordo com a tabela : 6 Usando a mascara para formatar dados, sempre come cando com %: 7 % d -- decimal inteiro % u -- inteiro positivo 8 % f -- real formato xxx. yyyyyy % E -- real cient í fico x. yyyyyye + zzz 9 % c -- caractere % X -- % d em hexadecimal mai ú sculo 10 %s -- String %x -- %d em hexadecimal min ú sculo 11 %b -- booleano %o -- %d em octal 12 13 Modificadores : 14 %[ -][+][0 - N ][.0-9][ ll ][ dxxuofeeggcs ] 15 16 +- formato ( veja tabela acima ) 17 +----- modificador long, ignorado 18 +----------- nú mero de casas decimais ap ós o. 19 +---------------- largura do campo (N caracteres ) 20 +------------------- mostra '+' para nú meros positivos 21 + - - - - - - - - - - - - - - - - - - - - - - alinha a esq. 22 +----------------------- inicia formata cão 23 */ Veja os exemplos abaixo e inicialize todas as variáveis com valores apropriados, apresentados na Tabela 1, em seguida tente executar novamente o programa. 1 short short1 = 100, short2 = 200; // na pró pria declara cão 2 byte1 = -2; byte2 = 3 ; // depois da declara cão 3 float1 = sc. nextfloat () ; // o programa aguardar á entrada de dado 4... 2

Tipo Tabela 1: Tipos de dados em Java Tamanho Valores (bits) Valor padrão Descrição byte 8 128 a 127 ( 2 7 a +2 7 1) 0 short 16 32768 a +32767 ( 2 15 a 2 15 1) 0 int 32 2.147.483.648 a +2.147.483.647 0 ( 2 31 a 2 31 1) long 64 2 63 a +2 63 1 0 float 32 3, 4E+38 a 1, 4E-45; +1, 4E-45 a +3, 4E+38; ±inf; NaN double 64 1, 8E+308 a 4, 9E-324; +4, 9E-324 a +1, 8E+308; ±inf; NaN boolean 1 false ou true false char 16 '\u0000' a '\uffff' (0 a 65535) '\u0000' (conj. caracteres Unicode ISO) 0.0 ponto utuante (IEEE754) 0.0 ponto utuante (IEEE754) No mesmo programa, adicione ao nal as seguintes instruções e observe os resultados ao tentar executar: 1... 2 short1 = byte1 ; short2 = int2 ; 3 int1 = short1 ; int2 = double2 ; 4 float1 = int1 ; float2 = double2 ; 5 System. out. printf (" Variaveis short : %d e %d\n", short1, short2 ); 6 System. out. printf (" Variaveis inteiras : %d e %d\n", int1, int2 ); 7 System. out. printf (" Variaveis float : %f e %f\n", float1, float2 ); O NetBeans avisa sobre uma possível perda de precisão, sublinhando as ocorrências. Type casting permite alterar o tipo do resultado da operação subsequente, antes de atribuir a outra variável. Tente novamente fazendo uso do recurso type casting, como dado no exemplo: 1 short2 = ( short ) int2 ; 2 int2 = ( int ) double2 ; 3 float2 = ( float ) double2 ; 3

Execute as seguintes operações e exiba os resultados usando printf(). 1 int resultado1 = ( int1 + short1 + byte1 ) *3; 2 System. out. printf (" Resultado : %d\n", resultado1 ); 3 int resultado2 = ( int )( double1 + float1 ) %5; 4 System. out. printf (" Resultado : %d\n", resultado2 ); 5 double resultado3 = ( int1 + short1 + byte1 ) /9; 6 System. out. printf (" Resultado : %f\n", resultado3 ); Note se houve perda de precisão no resultado3, zerando a parte fracionária (XX.00000). Como corrigir o problema? Utilize as duas variáveis booleanas, A e B, para vericar os operadores lógicos apresentados nas tabelas abaixo. 1 A = false, B= true ; // Alterne os valores e verifique as tabelas 2 System. out. printf ("%b && %b = %b\n", A, B, A && B); // A e B 3 System. out. printf ("%b %b = %b\n", A, B, A B); // A ou B 4 System. out. printf ("%b ^ %b = %b\n", A, B, A ^ B); // A Xou B 5 System. out. printf ("%b == %b = %b\n", A, B, A == B); // A = B? 6 System. out. printf ("%b!= %b = %b\n", A, B, A!= B); // A!= B? Finalmente vamos utilizar uma variável to tipo String para formatar a saída em uma tabela com largura de coluna xa. Siga o exemplo abaixo para as demais linhas. 1 String tipo = " short "; 2 System. out. printf (" %7 s: %6 d %6 d\n", tipo, short1, short2 ); 3 tipo = " int "; 4 System. out. printf (" %7 s: %6 d %6 d\n", tipo, int1, int2 ); 5 tipo = " float "; 6 System. out. printf (" %7 s: %6.1 f %6.1 f\n", tipo, float1, float2 ); 7 tipo = " double "; 8 System. out. printf (" %7 s: %6.1 f %6.1 f\n", tipo, double1, double2 ); 9 tipo = " char "; 10 System. out. printf (" %7 s: %6 c %6 c\n", tipo, char1, char2 ); 11 tipo = " boolean "; 12 System. out. printf (" %7 s: %6 b %6 b\n", tipo, char1, char2 ); Dados numéricos de diversos tipos podem adicionados a uma String, estes são automaticamente convertidos para texto usando o formato padrão, caso não especicado: 1 System. out. printf ("\ nvari á veis \n"); 2 System. out. printf (" char : %c e %c\n", char1, char2 ); 3 System. out. printf (" int : %d e %d\n", int1, int2 ); 4 System. out. printf (" float : %f e %f\n", float1, float2 ); 5 // Pode ser exibido alternativamente da forma 4

6 String string1 = "\ nvari á veis \ nchar : " + char1 + " e " + char2 7 + "\ nint : " + int1 + " e " + int2 8 + "\ nfloat : " + float1 + " e " + float2 ; 9 System. out. printf (" String : %s\n", string1 ); Para podermos denir o formato numérico a ser exibido na String, utilizamos o método format() da classe String, como segue: 1 String string2 = String. format ("\ nvari á veis " + 2 "\n %7 s :%6 c e %6 c" + 3 "\n %7 s :%6 d e %6 d" + 4 "\n %7 s :%6.1 f e %6.1 f" + 5 "\n %7 s :%6.1 f e %6.1 f", 6 " char ", char1, char2, 7 " int ", int1, int2, 8 " float ", float1, float2, 9 " double ", double1, double2 ); 10 System. out. println ( string2 ); Exercícios 1. Utilizando seu programa, descreva o que acontece quando atribuímos valores fora dos limites apresentados na Tabela 1 para cada tipo de variável. 2. Qual a regra geral quando atribuímos o valor de uma variável de um tipo a outro? Quando devemos usar Type cast? 3. Ocorre arredondamento ao passarmos uma variável de precisão maior para uma de precisão menor, como de double para int? 4. Como resolver o problema de perda de precisão no resultado3? 5. O que acontece na operação double trezquartos = 3/4? Por quê? Como corrigir? 6. Qual a diferença entre os operadores lógicos ^ (ou exclusivo) e!= (diferente) para variáveis booleanas? 7. A nota nal de um aluno é composta por: 2 provas com peso 3 (cada uma), 1 trabalho com peso 2 e 2 listas de exercícios com peso 1 (cada 5

uma). Escreva um programa para calcular a média nal do aluno. Faça a entrada de dados utilizando a classe Scanner do Java. Adicionalmente, o programa deve apresentar na janela Output, as notas parciais do aluno em linhas diferentes e na última linha a seguinte mensagem "A média do aluno éy" (onde Y é o resultado). Imprima o valor da média utilizando saída formatada. 8. Escreva um programa que leia dois números inteiros usando a classe Scanner, sendo os mesmos base e altura, e calcule a área de um retângulo. No resultado, o programa deve apresentar o título "Calculo da Área de um Retângulo", e na linha de baixo apresentar o calculo realizado e o resultado do valor calculado, utilizando saída formatada. 6