Organização de programas em Java. Vanessa Braganholo vanessa@ic.uff.br



Documentos relacionados
Organização de programas em Python. Vanessa Braganholo

Organização de programas em Java

Organização de programas em Java

Organização de programas em Java

Java - Introdução. Professor: Vilson Heck Junior. vilson.junior@ifsc.edu.br

Algoritmos I Aula 13 Java: Tipos básicos, variáveis, atribuições e expressões

2 Orientação a objetos na prática

Programação online em Java

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

Criar a classe Aula.java com o seguinte código: Compilar e Executar

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

Universidade da Beira Interior Cursos: Matemática /Informática e Ensino da Informática

ESQUEMA AULA PRÁTICA 1 Familiarização com o Ambiente de Desenvolvimento NetBeans Introdução à Linguagem de Programação JAVA

ESQUEMA AULA PRÁTICA 1 Familiarização com o Ambiente de Desenvolvimento Eclipse Introdução à Linguagem de Programação JAVA

Java Laboratório Aula 1. Divisões da Plataforma. Introdução a Plataforma Java. Visão geral da arquitetura da

CURSO DE PROGRAMAÇÃO EM JAVA

A Linguagem Java. Alberto Costa Neto DComp - UFS

Sintaxe Básica de Java Parte 1

Componentes da linguagem C++

Para desenvolver a atividade a atividade desta aula utilizaremos o ambiente de desenvolvimento integrado NetBeans.

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

Algoritmia e Programação APROG. Linguagem JAVA. Básico. Nelson Freire (ISEP DEI-APROG 2012/13) 1/31

Aula 04 Operadores e Entrada de Dados. Disciplina: Fundamentos de Lógica e Algoritmos Prof. Bruno Gomes

JSP - ORIENTADO A OBJETOS

Organização de programas em Pascal

AULA Uma linguagem de programação orientada a objetos

Linguagens de. Aula 02. Profa Cristiane Koehler

BC0501 Linguagens de Programação

NetBeans. Conhecendo um pouco da IDE

Noções sobre Objetos e Classes

Orientação a Objetos

Programação de Computadores. Professor Ilaim Costa Junior

MC102 Algoritmos e programação de computadores Aula 3: Variáveis

Introdução à Programação

Java. Marcio de Carvalho Victorino

Introdução ao FORTRAN (Parte I)

Desenvolvimento OO com Java 3 Estruturas de Controle e Programação Básica

LINGUAGEM ORIENTADA A OBJETOS

Algoritmos e Programação (Prática) Profa. Andreza Leite andreza.leite@univasf.edu.br

Processamento da Informação Teoria. Algoritmos e Tipos de dados

Estrutura Condicional em Java

Linguagem de Programação JAVA. Técnico em Informática Professora Michelle Nery

Introdução a conceitos e a prática de programação

Lógica de Programação

INSTITUTO FEDERAL DE EDUCAÇÃO CIÊNCIA E TECNOLOGIA DE ALAGOAS CURSO TÉCNICO EM INFORMÁTICA DISCIPLINA:

Java Como Programar, 8/E

PROGRAMAÇÃO JAVA. Parte 1

Aula 09 Introdução à Java. Disciplina: Fundamentos de Lógica e Algoritmos Prof. Bruno Gomes

Linguagem de Programação JAVA. Técnico em Informática Professora Michelle Nery

Organização de programas em Python. Vanessa Braganholo

Introdução ao IDE Netbeans (Programação Java)

INF 1005 Programação I

Tutorial de instalação do Java 7 no Windows 7.

Capítulo 2: Introdução à Linguagem C

Um pouco do Java. Prof. Eduardo

INTRODUÇÃO AO JAVA PARA PROGRAMADORES C

TCC 00308: Programação de Computadores I Organização de programas em Python

Resumo da Matéria de Linguagem de Programação. Linguagem C

Comandos de repetição For (inicialização; condição de execução; incremento/decremento) { //Código }

2ª LISTA DE EXERCÍCIOS CLASSES E JAVA Disciplina: PC-II. public double getgeracaoatual() {return geracaoatual;}

Primeiro programa em Java (compilação e execução)

Curso Adonai QUESTÕES Disciplina Linguagem JAVA

LP II Estrutura de Dados. Introdução e Linguagem C. Prof. José Honorato F. Nunes honorato.nunes@ifbaiano.bonfim.edu.br

Aula 2. Objetivos Conceitos; Instalação do Text Pad; Entendendo o código java do AloMundo1 Codificação do AloMundo2,AloMundo3 e AloMundo4.

Algoritmos e Programação de Computadores

Introdução a Java. Hélder Nunes

Slides_Java_1 !"$ % & $ ' ' Output: Run java. Compile javac. Name of program. Must be the same as name of file. Java source code.

insfcanceof new public switch transient while byte continue extends for int null

Prof. Esp. Adriano Carvalho

Projeto de Software Orientado a Objeto

2. OPERADORES ALGORITMOS, FLUXOGRAMAS E PROGRAMAS FUNÇÕES... 10

Introdução à Lógica de Programação

Implementando uma Classe e Criando Objetos a partir dela

INTRODUÇÃO À PROGRAMAÇÃO

Faculdade de Ciências Universidade Agostinho Neto Departamento de Matemática e Engenharia Geográfica Ciências da Computação

A lógica de programação ajuda a facilitar o desenvolvimento dos futuros programas que você desenvolverá.

ESTRUTURA BÁSICA DE UM PROGRAMA JAVA

Prof. Esp. Adriano Carvalho

Curso de Java. Orientação a objetos e a Linguagem JAVA. TodososdireitosreservadosKlais

IFTO LÓGICA DE PROGRAMAÇÃO AULA 01

LÓGICA DE PROGRAMAÇÃO PARA ENGENHARIA INTRODUÇÃO À ORGANIZAÇÃO DE COMPUTADORES

Linguagem C Tipos de Dados. void; escalares; sizeof Vectores; strings em C Estruturas Introdução ao pré-processador

Algoritmos com VisuAlg

UNIVERSIDADE FEDERAL DO PARANÁ

UNIVERSIDADE FEDERAL DO RIO GRANDE DO SUL INSTITUTO DE INFORMÁTICA INFORMÁTICA APLICADA

Aula 1. // exemplo1.cpp /* Incluímos a biblioteca C++ padrão de entrada e saída */ #include <iostream>

ÇÃO COM OBJECTOS PROGRAMAÇÃ. Programação com Objectos. Programação com Objectos TUDO É UM OBJECTO TUDO É UM OBJECTO ÍNDICE.

AULA 12 CLASSES DA API JAVA. Disciplina: Programação Orientada a Objetos Professora: Alba Lopes alba.lopes@ifrn.edu.br

Resolução de problemas e desenvolvimento de algoritmos

Aula teórica 3. Tema 3.Computadores e linguagens Linguagens de Programação Compilação e linkagem LP Java. Preparado por eng.

Laboratório I Aula 2

Curso: Ciência da Computação Disciplina: Construção de Compiladores Período: Prof. Dr. Raimundo Moura

Algoritmos e Programação II. Sobrecarga

CURSO BÁSICO DE PROGRAMAÇÃO AULA 9. Introdução a linguagem C Estruturas de decisão

AULA 2: INTRODUÇÃO A LINGUAGEM DE C. Curso: Ciência da Computação Profª.: Luciana Balieiro Cosme

Barra de ferramentas padrão. Barra de formatação. Barra de desenho Painel de Tarefas

Faculdade Instituto Educare - FIED Curso: Sistemas de Informação Disciplina: Linguagem de Programação I Prof.: Rhyan Ximenes rxbrito@gmail.

Aula 3 Desvio Condicional

Especialização em desenvolvimento para web com interfaces ricas. Tratamento de exceções em Java Prof. Fabrízzio A. A. M. N. Soares

Transcrição:

Organização de programas em Java Vanessa Braganholo vanessa@ic.uff.br

Vamos programar em Java! Mas... } Como um programa é organizado? } Quais são os tipos de dados disponíveis? } Como variáveis podem ser declaradas? } Como atribuir valores às variáveis? } Como entrada e saída básica de dados podem ser feitas? Vamos começar com um exemplo... 2

Primeiro passo: escrever o programa! AloMundo.java 3

Mas o computador não conhece Java!!! } O computador só entende binário } Linguagem de zeros e uns } 010010011101010101001010101, entendeu? } Precisamos traduzir o programa de Java para binário } Esse processo é conhecido como compilação 4

Instalação do JDK } Download do JDK } http://www.oracle.com/technetwork/java/javase/downloads/ index.html } Versão mais recente para plataforma Java SE } Programas principais } javac (compilador) } java (máquina virtual) 5

Compilação Programa em Linguagem de alto nível Compilador Programa em Linguagem de Máquina class AloMundo { } public static void main(string[] args) { System.out.println("Alo Mundo!"); } javac Bytecode 0010111001111010 0101100001101001 1100011010 6

Compilação 7

Execução Programa em Linguagem de Máquina Interpretador máquina virtual à máquina real Bytecode 00101110011110 10010110000110 10011100011010 Computador java 8

Execução 9

Notepad x IDE } Dificuldades do Notepad } Editor básico, sem ajuda para programar } Compilação externa } Execução externa } Integrated Development Environment (IDE) 10

Instalação do NetBeans } Usaremos o NetBeans nas aulas, mas os alunos podem optar por qualquer outra IDE ou editor } Download do NetBeans para quem já tem JDK } http://netbeans.org/downloads } Download do JDK com NetBeans } http://www.oracle.com/technetwork/java/javase/downloads/ index.html } Versão mais recente para plataforma Java SE 11

Criando o projeto no NetBeans... Clicar neste ícone para criar um novo projeto 12

Criando o projeto no NetBeans... Selecionar categoria Java e projeto do tipo Java Application, e clicar em Next ao final 13

Criando o projeto no NetBeans... Definir o nome do projeto e da classe principal, e clicar em Finish ao final 14

Criando o projeto no NetBeans... Geração automática do esqueleto do programa 15

Escrevendo e compilando o programa no NetBeans... Compilação automática durante a edição do código e avisos sobre erros 16

Executando o programa no NetBeans... Clicar neste ícone para executar o programa No painel inferior ocorrerá a entrada e saída de dados 17

Escrevendo, compilando e executando o programa no NetBeans... 18

Organização geral de um programa Java } Nesse momento, abstrairemos Orientação a Objetos } Depois veremos como isso funciona } Agora o foco é em um programa estruturado (sequência, decisão e repetição) import PACOTE EXTERNO; class NOME DO PROGRAMA { public static void main(string[] args) { CÓDIGO DO PROGRAMA } } 19

Regras básicas 20

Comentários } Comentários são trechos do programa voltados para a leitura por humanos, e ignorados pelo interpretador } Existem diferentes formas de escrever comentário } /* COMENTÁRIO */ } Conhecido como comentário de bloco } Tudo entre /* e */ é ignorado pelo interpretador } // COMENTÁRIO } Conhecido como comentário de linha } Tudo na linha após // é ignorado pelo interpretador 21

Exemplo de programa em Java import java.util.scanner; /* Este programa calcula a área de um triangulo retângulo */ class Triangulo { public static void main(string[] args) { Scanner teclado = new Scanner(System.in); //Leitor do teclado int altura, base; //Dados de entrada float area; //Dados de saida } } System.out.print("Informe a altura: "); altura = teclado.nextint(); System.out.print("Informe a base: "); base = teclado.nextint(); area = 0.5f * altura * base; System.out.println("Área: " + area); 22

Quais são os tipos de dados disponíveis? } Em Java, toda variável tem que ter um tipo } Com isso, o computador pode reservar o espaço correto de memória } Os tipos básicos podem ser divididos em dois grupos } Tipos numéricos (inteiro e real) } Tipos não numéricos (caractere e booleano) } Também existe texto como tipo complexo } String 23

Números inteiros } byte } 8-bits (aceita valores de -128 a 127) } short } 16-bits (aceita valores de -32.768 a 32.767) } int } 32-bits (aceita valores de -2.147.483.648 a 2.147.483.647) } long } 64-bit (aceita valores de -9.223.372.036.854.775.808 a 9.223.372.036.854.775.807) } Por padrão, qq número inteiro é do tipo int } Para forçar long, deve-se adicionar L ou l ao final (ex. 123L) 24

Exemplos de números inteiros } byte } -5 } 10 } 120 } short } -1234 } 10 } 29090 } int } -12312312 } 10 } 345092834 } long } -12343212 } 10 } 45323565432L 25

Números reais } float } Precisão simples 32-bits (IEEE 754 SPFP) } Precisão de 7 casas decimais com magnitude de 10 38 } double } Precisão dupla 64-bits (IEEE 754 DPFP) } Precisão de 15 casas decimais com magnitude de 10 308 } Por padrão, qq número real é do tipo double } Para forçar float, deve adicionar F ou f ao final (ex. 0.5f) } Notação científica pode ser utilizada (ex. 0.5e3) 26

Exemplos de números reais } float } -21.4f } 0.0000034f } 123456.0f } 0.6023e24f } 0.4e-3f } -0.5E2f } 15f } 15F } double } 0.23e-94 } 0.54336543454323e-7 } 0.0000034 } 0.4e-3 } 0.4E-3d } 12345d } 15d } 15D 27

Outros tipos de dados } char } Caractere 16-bit (Unicode) } String } Texto de tamanho variável } boolean } Tipo lógico, com valores true ou false 28

Exemplos de outros tipos de dados } char } A } b } 4 } String } } Olá mundo! } 4 } boolean } true } false 29

Valores padrão } Algumas linguagens não limpam o espaço de memória ao alocar uma nova variável } Java toma esse cuidado para nós } Tipos numéricos são inicializados com 0 } Tipo booleano é inicializado com false } De qualquer forma, sempre inicialize as suas variáveis por precaução 30

Declaração de variáveis } Para serem usadas, as variáveis precisam ser declaradas (criadas) } Toda variável é declarada da seguinte forma: TIPO NOME = VALOR INICIAL; ou TIPO NOME1, NOME2,...; 31

Declaração de variáveis } Os tipos são os que já vimos, assim como os valores iniciais possíveis } Os nomes devem respeitar algumas regras } São sensíveis a caixa } Podem ter tamanho ilimitado (mas evite abusos) } Devem começar com letra, seguida de letras ou números } Não podem ter espaço nem acentos } Não podem ser uma palavra reservada da linguagem } Usualmente nomes de variáveis seguem a notação Camel Case iniciando com minúsculas, com conectores (de, e, ou, etc.) omitidos 32

Declaração de variáveis } Um caso especial é referente a variáveis que nunca trocam de valor } Mais conhecidas como constantes } Em java, constantes são identificadas com o modificador final antes do tipo } Usualmente, os nomes de constantes são em maiúsculas com as palavras separadas por underscore (_) 33

Atribuição de valores } Em Java, o operador de igualdade (=) é usado para atribuir valores às variáveis } É equivalente ao símbolo de atribuição (ß ) que usávamos no pseudocódigo } Sempre na forma: variável = valor ou expressão } A expressão do lado direito é processada } O valor gerado é atribuído à variável 34

Como variáveis podem ser declaradas? (exemplos) } int idade = 15; } int minutos = horas * 60; } final float ACELERACAO_GRAVIDADE = 9.80665f; } final double PI = 3.14159265358979; } String melhortimefutebol = Flamengo ; } boolean gostoprog1 = true; } String nome, endereco, telefone; } int ano, mes, dia; } char sexo; 35

Entrada de dados } Para entrada de dados, é necessário usar uma classe externa responsável por interpretar o que foi escrito } java.util.scanner } Para não ter que escrever o nome completo da classe a cada uso, é possível importar a classe para o seu programa } import java.util.scanner; } A partir desse momento, a máquina virtual Java sabe onde encontrar a classe (no pacote java.util), e nós podemos chamála somente pelo nome Scanner 36

Entrada de dados } Além de importar a classe Scanner, é necessário criar uma variável que permita acessá-lo } Scanner teclado = new Scanner(System.in); } A partir desse ponto, a variável teclado pode ser usada para ler o que foi digitado } O Scanner permite leitura individualizada para diferentes tipos de dados } A leitura só ocorre de fato após o usuário teclar Enter 37

Entrada de dados Tipo de dado a ser lido byte short int long float double boolean String Método Scanner.nextByte() Scanner.nextShort() Scanner.nextInt() Scanner.nextLong() Scanner.nextFloat() Scanner.nextDouble() Scanner.nextBoolean() Scanner.next() Scanner.nextLine() 38

Saída de dados } A saída de dados é mais simples, acessando direto a classe que representa o sistema } java.lang.system } O pacote java.lang não precisa ser importado, pois é visível automaticamente a todos os programas } A partir da classe System, é possível escrever qualquer tipo de dados X } System.out.print(X) } System.out.println(X) 39

Exemplo de entrada e saída de dados } int nota = teclado.nextint(); } nome = teclado.nextline(); } altura = teclado.nextfloat(); } System.out.print( Prog 1 é muito legal! ) } System.out.println(123); } System.out.println(teclado.nextLine()); 40

Voltando ao exemplo de programa em Java import java.util.scanner; /* Este programa calcula a área de um triangulo retângulo */ class Triangulo { public static void main(string[] args) { Scanner teclado = new Scanner(System.in); //Leitor do teclado int altura, base; //Dados de entrada float area; //Dados de saida } } System.out.print("Informe a altura: "); altura = teclado.nextint(); System.out.print("Informe a base: "); base = teclado.nextint(); area = 0.5f * altura * base; System.out.println("Área: " + area); 41

Exercícios } Qual a saída do programa abaixo? class Atribuicoes { public static void main(string[] args) { float x = 1.0f; float y = 2.0f; float z = 3.0f; } } 42 x = -x; y = y - 1; z = z + x; z = z + x - y; System.out.println("x = +x+", y = +y+", z = +z);

Exercícios } Faça um programa que leia o nome, a idade, a altura, o peso e a nacionalidade do usuário e escreva essas informações na forma de um parágrafo de apresentação } Faça um programa que exiba o perímetro de uma circunferência a partir do seu raio } Faça um programa que leia dois pontos num espaço bidimensional e calcule a distância entre esses pontos 43

Exercícios } Faça um programa que informe a distância em quilômetros de um raio para o observador } O observador deve informar o tempo (em segundos) transcorrido entre ver o raio e ouvir o trovão } Assuma que a velocidade do som seja 340 m/s 44

Exercícios } Faça um programa para, a partir de um valor informado em centavos, indicar a menor quantidade de moedas que representa esse valor } Considere moedas de 1, 5, 10, 25 e 50 centavos, e 1 real } Exemplo: para o valor 290 centavos, a menor quantidade de moedas é 2 moedas de 1 real, 1 moeda de 50 centavos, 1 moeda de 25 centavos, 1 moeda de 10 centavos e 1 moeda de 5 centavos 45

Referências } Slides de Leonardo Murta 46

Organização de programas em Java Vanessa Braganholo vanessa@ic.uff.br