Módulo Básico. Rua Valorbe, 123 Lauzane Paulista Cep São Paulo SP
|
|
- Eduardo Belém Deluca
- 8 Há anos
- Visualizações:
Transcrição
1 Módulo Básico Rua Valorbe, 123 Lauzane Paulista Cep São Paulo SP
2 ÍNDICE JAVA MÓDULO BÁSICO 01. JAVA UMA VISÃO GERAL JAVA E A ORIENTAÇÃO A OBJETOS ABSTRAÇÃO OS TRÊS PRINCÍPIOS DA ORIENTAÇÃO A OBJETOS ENCAPSULAMENTO HERANÇA POLIMORFISMO POLIMORFISMO, ENCAPSULAMENTO E HERANÇA JUNTOS EXEMPLO POLIMORFISMO/ENCAPSULAMENTO/HERANÇA JUNTOS ANALISANDO NOSSOEXEMPLO.JAVA O COMANDO IF O LOOP FOR SEPARADORES PALAVRAS-CHAVE OS TIPOS SIMPLES CONVERSÕES E USO DE CAST EM JAVA USANDO CAST ENTRE TIPOS INCOMPATÍVEIS ARRAYS ARRAYS MULTIDIMENSIONAIS INTRODUÇÃO A STRINGS OS OPERADORES ARITMÉTICOS OPERADORES RELACIONAIS OPERADORES LÓGICOS BOOLEANOS O OPERADOR? O COMANDO SWITCH Rua Valorbe, 123 Lauzane Paulista Cep São Paulo SP 1
3 26. O COMANDO WHILE O COMANDO DO-WHILE CLASSES EM JAVA VARIÁVEIS DE INSTÂNCIA DECLARANDO OBJETOS DETALHES SOBRE NEW ENTENDENDO AS REFERÊNCIAS ENTENDENDO OS MÉTODOS ACRESCENTANDO UM MÉTODO À CLASSE CAIXA MÉTODOS COM PARÂMETROS CONSTRUTORES CONSTRUTORES PARAMETRIZADOS A PALAVRA-CHAVE THIS A CLASSE PILHA SOBRECARREGANDO MÉTODOS RECURSÃO PUBLIC E PRIVATE A PALAVRA-CHAVE STATIC FINAL CONSTANTES EM JAVA A CLASSE OBJECT APRESENTANDO OS PACKAGES APRESENTANDO CLASSPATH MAIS SOBRE CONTROLE DE ACESSO A PALAVRA-CHAVE IMPORT INTERFACES ACESSO À BANCO DE DABOS USANDO JDBC Rua Valorbe, 123 Lauzane Paulista Cep São Paulo SP 2
4 01. Java uma visão geral Uma das dificuldades no aprendizado de uma nova linguagem de programação está no fato de que os elementos da linguagem não fazem sentido isoladamente. Eles funcionam em conjunto formando a linguagem como um todo. Isso acontece também com a linguagem Java. Essa interdependência pode fazer com que seja difícil descrever um aspecto de Java sem falar de vários outros. Muitas vezes a discussão de uma característica pressupõe o conhecimento prévio de outra. Por este motivo, apresentaremos inicialmente uma rápida visão geral de diversos aspectos básicos de Java. Esta visão proporcionará uma base que permitirá que você escreva e entenda programas simples. Se você tiver dificuldade em entender algum aspecto, não se apavore. Todos os tópicos aqui discutidos serão examinados com maiores detalhes em outras lições. 02. Java e a orientação a objetos Se você é programador como eu, deve estar com os dedos coçando para começar a escrever código em Java. Porém antes disso, precisamos fazer uma breve introdução (ou revisão) de um conceito que é fundamental para a programação em Java: A orientação a objetos. Todos os programas Java são orientados a objetos. Em algumas linguagens, como C++, o programador pode optar por trabalhar ou não com orientação a objetos. Em Java, não existe essa opção. Na verdade, a orientação a objetos é tão importante em Java que é preciso entender seus princípios básicos, para poder escrever qualquer programa em Java, mesmo o mais simples. Por isso, logo no início queremos discutir alguns aspectos teóricos da orientação a objetos. 03. Abstração Um elemento essencial da programação orientada a objetos é a abstração. Nós seres humanos utilizamos a abstração como uma forma de lidar com a complexidade. Por exemplo, ninguém pensa em um carro como um conjunto de dezenas de milhares de peças individuais. Pensamos em um carro como um objeto bem definido e que tem um determinado comportamento. Essa abstração permite que as pessoas utilizem um carro para ir de um lugar para outro, mesmo sem entender nada de mecânica de automóveis. Podemos ignorar os detalhes de como o motor, a transmissão e o sistema de freios funcionam. Ao invés disso, utilizamos o objeto automóvel como um todo. Rua Valorbe, 123 Lauzane Paulista Cep São Paulo SP 3
5 Uma maneira poderosa de lidar com a abstração é usando classificações hierárquicas. Isso permite pensar em sistemas complexos como sendo formados por diversas camadas. Tais camadas representam porções mais compreensíveis. Visto de fora, um carro é um objeto único. Porém, uma vez dentro dele, o carro aparece para nós como consistindo de diversos subsistemas: direção, freios, sistema de som, ar condicionado, e assim por diante. O usuário pode utilizar os vários sistemas do automóvel, mesmo sem entender como eles funcionam. Basta saber que girando o botão ele aumenta o volume do rádio. Ou pisando no pedal de freio, o veículo pára. Ou seja, para usar o sistema basta conhecer a interface. Por sua vez, o técnico que conserta o ar condicionado do carro pode fazer seu trabalho com muita competência, mesmo que não saiba nada sobre como funciona o sistema de freios. Cada um dos subsistemas é formado por unidades mais especializadas. Por exemplo, o sistema de som consiste de rádio, toca-cds, toca-fitas, amplificador e alto-falantes. A idéia é que lidamos com a complexidade do carro, ou de qualquer outro sistema complexo, utilizando abstrações hierárquicas. Abstrações hierárquicas de sistemas complexos também podem ser aplicadas a programas de computador. Podemos usar a abstração para criar objetos a partir dos dados de um programa tradicional orientado para o processo. Uma seqüência de passos de processo pode ser tornar uma coleção de mensagens entre esses objetos. Assim, cada um desses objetos descreve seu próprio comportamento característico. Podemos então tratar esses objetos como entidades concretas que respondem a mensagens que mandam que eles façam alguma coisa. Esta é a essência da programação orientada a objetos. Os conceitos da orientação a objetos formam a base de Java. Na verdade, a orientação a objetos é intuitiva para nós humanos, porque nosso mundo é orientado a objetos. É importante compreender como esses conceitos se traduzem em programas. Como veremos, a programação orientada a objetos é um paradigma poderoso e natural. Os programas desenvolvidos desta forma podem ser modificados posteriormente com facilidade, para acompanhar mudanças nas necessidades do usuário ou da empresa. Uma vez que temos objetos definidos de forma clara, com interfaces limpas e confiáveis, podemos elegantemente modificar ou substituir partes de um sistema já existente sem medo de introduzir erros. Por exemplo, se o fabricante substituir o sistema de direção mecânica de um modelo de automóvel por um sistema de direção hidráulica, o motorista continuará fazendo curvas à esquerda e à direita da mesma forma que antes: girando o volante no sentido desejado. Ou seja, mudou a implementação, mas a interface continuou sendo a mesma. Rua Valorbe, 123 Lauzane Paulista Cep São Paulo SP 4
6 04. Os três princípios da orientação a objetos Linguagens de programação orientadas a objetos são aquelas que proporcionam mecanismos que ajudam a implementar o modelo orientado a objetos. Esses mecanismos são: Encapsulamento Herança Polimorfismo A seguir, examinaremos cada um desses conceitos. 05. Encapsulamento O encapsulamento é o mecanismo que permite agrupar em uma única entidade o código e os dados que esse código manipula. Tais elementos ficam assim protegidos contra interferências externas e utilização inadequada. Uma forma de pensar no encapsulamento é como um envoltório protetor que impede que o código e os dados sejam acessados arbitrariamente por outro trecho de código que esteja definido fora do envoltório. O acesso ao código e aos dados que ficam dentro do envoltório é rigidamente controlado por meio de uma interface bem definida. Para dar um exemplo do mundo real, consideremos a caixa de marchas de um automóvel. Ela encapsula centenas de porções de informações como: Potência do motor Tipo de uso do automóvel Peso máximo do automóvel Número de marchas O motorista tem apenas um método de afetar esse complexo encapsulamento: mudar a posição da alavanca. Não é possível afetar a transmissão mexendo na alavanca do pisca-pisca nem acionando o limpador de pára-brisa. Assim, a alavanca de mudança é uma interface bem definida, e na verdade única, para a transmissão. Por outro lado, o que acontece dentro da transmissão não afeta os objetos que estão fora dela. Por exemplo, uma mudança de marcha não acende os faróis. Pelo fato da caixa de marchas ser encapsulada, cada fabricante pode implementar internamente sua transmissão do jeito que achar melhor. Mas do ponto de vista do motorista, todas elas funcionam da mesma forma. Essa mesma idéia pode ser aplicada à programação. O poder do código encapsulado está no fato de que todo mundo sabe como acessá-lo e por isso pode Rua Valorbe, 123 Lauzane Paulista Cep São Paulo SP 5
7 usá-lo, independentemente dos detalhes de programação e sem medo de efeitos colaterais indesejáveis. Em Java, a base do encapsulamento é a classe. Embora o conceito de classe vá ser examinado detalhadamente em outra lição, apresentamos a seguir uma breve discussão que será suficiente por enquanto. Uma classe define a estrutura e o comportamento (dados e código) que serão comuns a um conjunto de objetos. Cada objeto de uma dada classe contém a estrutura e o comportamento definidos pela classe, como se a classe fosse um molde usado para estampar o formato de cada um deles. Por esse motivo, os objetos são muitas vezes chamados de instâncias de uma classe. Assim, uma classe é uma construção lógica; um objeto é uma realidade física. Voltando ao exemplo do automóvel, o projeto e as especificações do Volkswagen Gol 1000 seriam a classe. Existe apenas uma classe Gol Cada automóvel Gol 1000 é um objeto, ou instância, dessa classe, e existem milhares desses objetos. Quando criamos uma classe, especificamos o código e os dados que a constituem. Coletivamente, esses elementos são chamados membros da classe. Especificamente, os dados definidos pela classe são chamados variáveis membros, ou variáveis de instância. O código que opera sobre os dados forma os chamados métodos membros, ou simplesmente métodos. Para o programadores C/C++, podemos dizer que o que um programador Java chama de método, é aquilo que em C/C++ é chamado de função. Em um programa Java escrito corretamente, os métodos definem como as variáveis membros, podem ser usadas. Isso significa que o comportamento e a interface de uma classe são definidos pelos métodos que operam sobre seus dados de instância. Como o propósito de uma classe é encapsular a complexidade, ela tem mecanismos para ocultar a complexidade da implementação que está dentro da classe. Cada método ou variável de uma classe pode ser marcado como sendo privativo (private) ou público (public). A interface pública de uma classe representa tudo que os usuários externos da classe podem saber, ou precisam saber. Os métodos e dados privativos somente podem ser acessados por código que seja membro da classe. Portanto, qualquer outro código que não seja membro da classe não pode acessar um método privativo ou uma variável privativa. Como os membros privativos de uma classe somente podem ser acessados por outras partes do programa através dos métodos públicos da classe, isso assegura que nenhuma ação inadequada acontecerá. É claro que isso significa que a interface pública precisa ser cuidadosamente projetada para não expôr excessivamente o funcionamento interno da classe. Rua Valorbe, 123 Lauzane Paulista Cep São Paulo SP 6
8 06. Herança A herança é um processo pelo qual um objeto adquire as propriedades de outro objeto. A herança é o que viabiliza o conceito de uma classificação hierárquica. Veja como: Um Pastor Alemão faz parte da classificação Cachorro... que faz parte da classificação Mamífero... que faz parte da classificação Animal. Observe que herança se refere aqui a características e comportamento, e não a bens materiais. No exemplo do Pastor Alemão, estamos falando da herança de características genéticas. Conforme mencionado anteriormente, a maioria dos tipos de conhecimento pode ser gerenciada por classificações hierárquicas de cima para baixo. Sem o uso de hierarquias, cada objeto precisaria definir todas as suas características explicitamente. Contudo, com o uso da herança, um objeto somente precisa definir aquelas qualidades que o tornam único dentro de sua classe. Ele pode herdar seus atributos gerais de sua classe-mãe. Assim, a herança é o mecanismo que torna possível que um objeto seja uma instância específica de um caso mais geral. Vamos dar uma olhada nesse processo mais de perto. As pessoas naturalmente vêem o mundo como sendo formado de objetos que são relacionados entre si de forma hierárquica, como animais, mamíferos e cachorros. Se quiséssemos descrever os animais de uma forma abstrata, diríamos que eles têm alguns atributos como tamanho, inteligência e tipo de esqueleto. Os animais têm também alguns aspectos de comportamento. Eles comem, respiram e dormem. Essa descrição de atributos e comportamento representa a definição de classe para os animais. Se quisermos descrever uma classe mais específica de animais, como os mamíferos, eles terão atributos mais específicos como pelos, tipo de dentes e glândulas mamárias. Os mamíferos são então conhecidos como uma subclasse de animais, e os animais são chamados de uma superclasse de mamíferos. Como os mamíferos são simplesmente animais especificados com mais precisão, eles herdam todos os atributos de animais. Uma subclasse que fica mais abaixo na hierarquia de heranças herda todos os atributos de cada um de seus ancestrais na chamada hierarquia de classes. A herança interage também com o encapsulamento. Se uma dada classe encapsula alguns atributos, então uma subclasse dela terá os mesmos atributos, e mais alguns, que são acrescentados como parte de sua especialização. Esse é o conceito fundamental que permite que os programas orientados a objetos cresçam em complexidade linearmente, e não geometricamente. Uma nova subclasse herda todos os atributos de todos os seus ancestrais. Ela não tem interações imprevisíveis com o restante do código do sistema. Rua Valorbe, 123 Lauzane Paulista Cep São Paulo SP 7
9 07. Polimorfismo Polimorfismo significa muitas formas. Trata-se de uma característica que permite que uma interface seja usada para uma classe genérica de ações, sendo que a ação específica em cada caso é determinada pela exata natureza da situação. Não entendeu? Vamos explicar melhor. Consideremos uma pilha, que é uma lista do tipo último-que-entra, primeiro-que-sai. Podemos ter um programa que requer três tipos de pilhas. Uma pilha é usada para valores inteiros, outra pilha para valores com ponto flutuante, e outra para caracteres. O algoritmo que implementa cada pilha é o mesmo, muito embora os dados sendo armazenados sejam diferentes. Em uma linguagem não orientada a objetos, seria necessário criar três conjuntos diferentes de rotinas de pilha, cada conjunto com um nome diferente. Mas em Java, por causa do polimorfismo, Java podemos especificar um conjunto geral de rotinas de pilha; todas as rotinas compartilhando os mesmos nomes. Mais genericamente, o conceito de polimorfismo é muitas vezes expresso pela frase "uma interface, múltiplos métodos". Isso significa que é possível projetar uma interface genérica que pode ser usada para especificar uma classe geral de ações. Cabe ao compilador selecionar a ação específica (isto é, o método) que se aplica a cada situação. O programador não precisa fazer essa seleção manualmente. Ele apenas precisa lembrar da interface geral. Ampliando a analogia do cachorro, o sentido do olfato do cachorro é polimórfico: Se o cachorro sente o cheiro do dono, ele abana a cauda e corre ao seu encontro. Se o cachorro sente o cheiro de um gato, ele late e corre atrás dele. Se o cachorro sente o cheiro de sua ração, ele começa a salivar e corre para seu prato. O mesmo sentido do olfato funciona de forma diferente nas várias situações. A diferença é o cheiro que está sendo sentido, isto é, o tipo de dados sobre os quais o nariz do cachorro está operando. Esse mesmo conceito geral pode ser implementado em Java, sendo aplicado aos métodos dentro de um programa Java. Rua Valorbe, 123 Lauzane Paulista Cep São Paulo SP 8
10 08. Polimorfismo, encapsulamento e herança juntos O polimorfismo, o encapsulamento e a herança combinam se para produzir um ambiente de programação que dá suporte ao desenvolvimento de programas muito mais robustos e escaláveis do que o modelo orientado a processo. Uma hierarquia de classes bem projetada é a base para a reutilização do código que representa um valioso patrimônio. Afinal de contas, o desenvolvimento de código requer um grande investimento em tempo e esforço. O encapsulamento permite melhorar as implementações com o passar do tempo. Desde que a interface pública das classes seja respeitada, elas poderão continuar sendo utilizadas sem rupturas. O polimorfismo permite criar código limpo, legível, robusto e lógico. Entre os dois exemplos do mundo real que mencionamos, o automóvel ilustra de forma mais completa o poder da orientação a objetos. Pode ser mais divertido pensar em cães do ponto de vista da herança, mas os automóveis são mais parecidos com programas de computador. Todos os motoristas utilizam a herança para dirigir diferentes tipos (subclasses) de veículos. Quer o veículo seja um ônibus escolar, esportivo Porsche ou a perua da família, os motoristas mais ou menos são capazes de encontrar e operar a direção, os freios e o acelerador (geralmente). Depois de arranhar um pouco as marchas, a maioria das pessoas é capaz até mesmo de dominar a diferença entre a mudança automática e a alavanca de mudanças tradicional. Isso porque os motoristas têm o conceito geral da superclasse da caixa de marchas tradicional e da automática, que é a transmissão. Por fim, o polimorfismo, reflete-se na possibilidade que os fabricantes de carros têm de oferecer uma ampla variedade de opções no mesmo veículo básico. Por exemplo, podemos ter sistema de freios anti-travamento ou freios tradicionais, direção hidráulica ou mecânica, motores de 4, 6 ou 8 cilindros. De qualquer forma, ainda pressionamos um pedal para parar, giramos o volante de direção para fazer uma curva e pressionamos o acelerador quando queremos que o carro avance. A mesma interface pode ser usada para controlar uma série de implementações diferentes. Como podemos ver, é através da aplicação do encapsulamento, da herança e do polimorfismo que as partes individuais se transformam em um objeto conhecido como automóvel. O mesmo vale para os programas de computador. Aplicando os princípios da orientação a objetos, as várias partes de um programa complexo podem ser montadas formando um todo robusto, coeso e de fácil manutenção. Conforme mencionamos anteriormente, todo programa em Java é orientado a objetos. Ou, dizendo de forma mais precisa, todo programa em Java envolve encapsulamento, herança e polimorfismo. Rua Valorbe, 123 Lauzane Paulista Cep São Paulo SP 9
11 Embora os pequenos programas didáticos que apresentaremos neste início de curso possam não exibir claramente todas essas características, elas estão presentes mesmo assim. Como veremos, muitos dos recursos fornecidos por Java fazem parte de bibliotecas de classes que acompanham a linguagem. Tais bibliotecas fazem uso intensivo do encapsulamento, da herança e do polimorfismo. 09. Exemplo polimorfismo/encapsulamento/herança juntos Classe Pai: 1 public class Pai { 2 public void i() { 3 System.out.println("Pai"); 4 } 5 } Classe Filho: 1 public class Filho extends Pai { 2 public void i() { 3 System.out.println("Filho"); 4 } 5 } Classe NossoExemplo: 1 // NossoExemplo 2 public class NossoExemplo { 3 // Todo aplicativo Java tem um, e somente 4 // um método main(). 5 // A execução do programa sempre 6 // começa no método main(). 7 public static void main(string args[]) { 8 Pai p = new Filho(); 9 p.i(); 10 } // Fim de main() 11 } // Fim da classe NossoExemplo Rua Valorbe, 123 Lauzane Paulista Cep São Paulo SP 10
12 10. Analisando NossoExemplo.java Embora o programa NossoExemplo.java seja bastante simples, ele inclui diversas características importantes que encontraremos em todos os programas Java. Vamos examinar de perto cada parte do programa. Ele começa da seguinte forma (linha 1): // NossoExemplo.java Isto é um comentário. Como acontece com todas as linguagens de programação, Java permite digitar comentários no código fonte dos programas. O conteúdo de um comentário é ignorado pelo compilador. Um comentário descreve ou explica a operação de um programa para as pessoas que estejam lendo o código fonte. Neste caso, o comentário descreve o nome do programa. Em aplicativos de verdade, os comentários geralmente explicam como alguma parte do programa funciona, ou o que faz um determinado recurso. Java suporta três estilos de comentários. Um comentário de linha única, como o mostrado acima, começa com o par de caracteres // e estende-se até o fim da linha. Outro tipo de comentário é o de múltiplas linhas. Ele começa com o par de caracteres /* e estende-se até o par de caracteres de fechamento */. Geralmente, esses comentários de múltiplas linhas são usados para explicações mais longas, e os comentários de linha única para explicações curtas, linha por linha. A linha seguinte de NossoExemplo.java é a seguinte (linha 2): class NossoExemplo Esta linha utiliza a palavra-chave class para indicar que uma nova classe está sendo definida. A palavra NossoExemplo é o identificador usado como nome da classe. Toda a definição da classe, incluindo seus membros, aparecerá entre a chave de abertura { e a chave de fechamento }. O uso de chaves em Java é idêntico aquele que é feito em C e C++. Por enquanto, não se preocupe muito com os detalhes de uma classe, exceto pelo fato de que em Java, toda atividade do programa ocorre dentro das classes. Isso é conseqüência do fato de que todos os programas Java são orientados a objetos. Após algumas linhas de comentários, a próxima linha executável do programa é a seguinte (linha 7): public static void main(string args[]) Essa linha dá início ao método main(). (Lembre-se que em Java, um método é o equivalente a uma função em linguagem C). O método main() marca o local onde começa a execução de todos os programas Java. Todos os aplicativos Java Rua Valorbe, 123 Lauzane Paulista Cep São Paulo SP 11
13 começam a execução chamando o método main(), da mesma forma que em C/C++ os programas começam na função main(). Não vamos explicar agora o significado exato de cada parte dessa linha, já que isso exigiria um detalhado entendimento do enfoque de Java para o encapsulamento. Contudo, como muitos exemplos desta primeira parte do curso utilizarão esta linha de código, vamos dar uma rápida olhada em cada parte. A palavra-chave public é um especificador de acesso, que permite que o programador controle a visibilidade dos membros de uma classe. Quando um membro de uma classe é precedido pela palavra public esse membro pode ser acessado por código de fora da classe na qual é declarado. O contrário de public é private, que impede que um membro seja usado por código definido fora de sua classe. Neste caso, main() deve ser declarado como public, já que ele deve ser chamado por código de fora da classe quando o programa é iniciado. A palavra-chave static permite que main() seja chamado sem necessidade de instanciar uma determinada classe. Isso é necessário, já que main() é chamado pelo interpretador Java antes que qualquer objeto seja criado. A palavra-chave void simplesmente avisa ao compilador que main() não retorna nenhum valor. Como veremos, os métodos podem retornar valores. Se tudo isso parece um tanto confuso, não entre em pânico. Procure entender o que está sendo apresentado aqui sobre esses conceitos. Todos eles serão discutidos com detalhes nas lições subseqüentes. Como dissemos, main() é o método que é chamado quando um aplicativo Java é iniciado. Tenha em mente que Java faz diferença entre letras maiúsculas e minúsculas. Portanto, Main() é diferente de main(). É importante compreender que o compilador Java é capaz de compilar classes que não contenham um método main(). Na verdade, isso é feito com bastante freqüência. Mas o interpretador Java não tem como rodar essas classes diretamente. Elas precisam ser criadas por outras classes. Por isso, se você digitar Main() ao invés de main(), o compilador vai compilar o programa. Contudo, o interpretador Java vai reportar um erro, porque não conseguirá encontrar o método main(). Qualquer informação que se precise passar para um método é recebida pelas variáveis especificadas dentro do par de parênteses que se segue ao nome do método. Essas variáveis são chamadas parâmetros. Se nenhum parâmetro for exigido para um determinado método, ainda assim é necessário incluir um par de parênteses vazio. Ao longo de todo este curso, sempre que uma palavra aparecer seguida de parênteses, assim: exemplodemetodo() Isso indicará que estamos falando de um método. Em main(), há somente um parâmetro, ainda que um tanto complicado. String args[ ] declara um parâmetro chamado args, que é um array de instâncias Rua Valorbe, 123 Lauzane Paulista Cep São Paulo SP 12
14 da classe String. Arrays são coleções de objetos do mesmo tipo. Os objetos do tipo String armazenam strings de caracteres. Neste caso, args recebe quaisquer argumentos da linha de comando que estejam presentes quando o programa for executado. Este programa não faz nenhum uso dessas informações, mas outros programas mostrados mais adiante farão. A linha seguinte (linha 7) contém uma chave de abertura {. Ela indica o início do corpo de main(). Todo o código que forma um método deverá aparecer entre o par de chaves { e } (linha 10) que delimita o método. Outro ponto importante: main() é simplesmente o ponto de partida para o interpretador começar a execução. Um programa complexo pode ter dúzias de classes, sendo que apenas uma delas pode ter um método main() para dar partida no programa. Quando começarmos a trabalhar com applets, que são programas Java criados para rodar em um Web browser, veremos que normalmente um applet não tem método main(), já que o Web browser usa uma maneira diferente para dar início à execução do applet. Observe que as linhas que contém comandos terminam com um ponto-evírgula (;). Todos os comandos em Java são terminados com ponto-e-vírgula. O motivo pelo qual as outras linhas do programa não terminam em ponto-e-vírgula é porque, tecnicamente, elas não são comandos. Conforme indicam os comentários, o próximo caractere } que aparece na linha 10 encerra o método main(). O segundo caractere } que aparece na linha 11 encerra a definição da classe NossoExemplo. 11. O comando if Em outro ponto deste curso, faremos um exame completo dos comandos de controle. Por enquanto dois deles serão apresentados brevemente para que possam ser usados nos próximos exemplos de programas. Eles ajudam também a ilustrar um importante conceito de Java: os blocos de código. O comando if funciona em Java de forma muito parecida com os de outras linguagens. Na verdade, ele é sintaticamente idêntico ao if de C e C++. Sua forma mais simples é a seguinte: if(condição) comando; Neste exemplo, condição é uma expressão booleana. Se condição for verdadeira (true), então comando é executado. Se condição for falsa (false), comando é ignorado. Eis um exemplo: Rua Valorbe, 123 Lauzane Paulista Cep São Paulo SP 13
15 if(var < 10) println("var é menor que 10"); Neste caso, se var contiver um valor inferior a 10, a expressão condicional será verdadeira, e a linha contendo println() será executada. Se var contiver um valor maior ou igual a 10, a linha contendo println() será ignorada. Como veremos em outro ponto deste curso, Java define uma completa coleção de operadores relacionais que podem ser usados em expressões condicionais. Eis alguns deles: Operador Significado < Menor do que > Maior do que == Igual a Observe que o teste de igualdade é um duplo sinal de igualdade ==. Eis um programa que ilustra o comando if: Listagem: MostraIf.java 1 // MostraIf.java 2 class MostraIf 3 { 4 public static void main(string args[]) 5 { 6 int i, j; 7 i = 50; 8 j = 100; 9 10 if(i < j) 11 System.out.println("i e' menor que j."); i = i * 2; 14 if(i == j) 15 System.out.println("Agora i e' igual a j."); i = i * 2; 18 if(i > j) 19 System.out.println("Agora i e' maior que j."); // Esta linha não será exibida. 22 if(i == j) 23 System.out.println("Isso não será exibido."); Rua Valorbe, 123 Lauzane Paulista Cep São Paulo SP 14
16 24 } // Fim de main() 25 } // Fim da classe MostraIf. A saída exibida por esse programa é a seguinte: i e' menor que j. Agora i e' igual a j. Agora i e' maior que j. Outro aspecto a observar neste programa é que a linha 6 int i, j; Declara duas variáveis, i e j, usando uma lista separada por vírgula. Essa técnica é idêntica à usada em C/C O loop for Os comandos de loop são uma parte importante de todas as linguagens de programação. Java não é exceção. Veremos em outro ponto deste curso que Java oferece uma poderosa coleção de construções de loops. O mais versátil deles é o loop for, que apresentaremos resumidamente aqui. Se você conhece C ou C++, verá que o loop for em Java funciona da mesma forma que nessas linguagens. Se você não conhece C/C++, verá que o loop for não apresenta nenhuma dificuldade. A forma mais simples do loop for é a seguinte: for(inicialização; condição; iteração) comando; Geralmente a porção de inicialização ajusta a variável de controle do loop para um valor inicial. A condição é uma expressão booleana que testa a variável de controle do loop. Se o resultado do teste for verdadeiro (true), o loop for continua a ser executado. Se for falso (false), o loop é encerrado. A expressão de iteração determina como a variável de controle do loop é alterada cada vez que o loop é executado. Eis um pequeno programa que ilustra o loop for. 1 // TesteFor 2 class TesteFor 3 { 4 public static void main(string args[]) 5 { 6 int i; Rua Valorbe, 123 Lauzane Paulista Cep São Paulo SP 15
17 7 for(i = 0; i < 10; i = i + 1) 8 System.out.println("Valor de i: " + i); 9 } // Fim de main() 10 } // Fim da classe TesteFor. Eis a saída deste programa: Valor de i: 0 Valor de i: 1 Valor de i: 2 Valor de i: 3 Valor de i: 4 Valor de i: 5 Valor de i: 6 Valor de i: 7 Valor de i: 8 Valor de i: 9 Neste exemplo, i é a variável de controle do loop. Ela é inicializada com o valor zero na porção de inicialização de for. No início de cada iteração (inclusive a primeira), o teste condicional i < 10 é executado. Se o resultado do teste for verdadeiro, o comando println() é executado, e depois a porção de iteração do loop é executada. Esse processo continua até que o teste condicional resulte em false. Uma observação: programas Java de nível profissional, raramente terão a porção de iteração do loop escrita da forma mostrada no programa acima. Ou seja, raramente teremos uma linha como esta: i = i + 1; O fato é que Java inclui um operador especial de incremento que executa essa operação de forma mais eficiente. O operador de incremento é representado por ++. Isto é, dois sinais de adição, lado a lado. O operador de incremento aumenta o valor do operando em 1. Usando o operador de incremento, o comando acima pode ser escrito da seguinte forma: x++; Assim, o for do programa acima geralmente será escrito da seguinte forma: for(i = 0; i < 10; i++) Experimente fazer essa modificação. Você verá que o loop continuará funcionando da mesma forma. Java oferece também um operador de decremento, representado por --. Esse operador diminui 1 do valor do operando. Rua Valorbe, 123 Lauzane Paulista Cep São Paulo SP 16
18 13. Separadores Java define alguns caracteres como separadores. O mais comum deles é o caractere de ponto-e-vírgula (;). Como já vimos, ele é usado para encerrar os comandos (statements). Outros separadores são comentados a seguir: ( ) Parênteses Usados para conter listas de parâmetros nas definições e invocações de métodos. Também são usados para definir precedência em expressões, conter expressões em comandos de controle e envolver tipos em conversões (casts). { } Chaves Usados para conter arrays inicializados automaticamente. Também são usados para definir blocos de código, em classes, métodos e escopos locais. [ ] Colchetes Usados para declarar tipos de arrays. Usados também para de-referenciar valores de arrays. ; Ponto-e-vírgula Encerra os comandos., Vírgula Separa identificadores consecutivos em declarações de variáveis. Usada também para encadear as declarações dentro de um comando for.. Ponto Usado para separar nomes de packages de subpackages e classes. Usado também para separar uma variável ou método de uma referência a variável. 14. Palavras-chave Java tem 47 palavras-chave reservadas e atualmente definidas. Essas palavras-chave, combinadas com a sintaxe de operadores e separadores, formam a definição da linguagem. As palavras-chave não podem ser usadas como nomes de variáveis, classes ou métodos. abstract const finally int public throw boolean continue float interface return throws break default for long short transient byte do goto native static try case double if new super void catch else implements package switch volatile char extends import private synchronized while class final instance of protected this As palavras-chave const e goto são reservadas, mas não utilizadas. Nos primeiros dias de Java, diversas outras palavras-chave foram reservadas para Rua Valorbe, 123 Lauzane Paulista Cep São Paulo SP 17
19 possível utilização futura. Contudo, a atual especificação de Java somente define como palavras-chaves aquelas mostradas acima. Além das palavras-chave, Java reserva as seguintes: true false null Elas representam valores definidos por Java e não podem ser usadas como nomes de variáveis, classes ou métodos. 15. Os tipos simples Como acontece com todas as linguagens de programação modernas, Java suporta diversos tipos de dados. Podemos usar esses tipos para declarar variáveis e criar arrays. Desde já, é importante ter em mente que Java é uma linguagem com tipagem forte. Na verdade, parte da robustez e da segurança de Java é conseqüência desse fato. Mas o que significa isso? Primeiro, toda variável em Java tem um tipo. O mesmo vale para as expressões. Esses tipos são rigorosamente definidos. Segundo, todas as atribuições, quer sejam explícitas ou via passagem de parâmetros nas chamadas a métodos, são checadas quanto à compatibilidade de tipos. Não existem conversões automáticas, nem conversões de tipos conflitantes, como acontece em algumas linguagens. O compilador Java checa todas as expressões e parâmetros para assegurar que os tipos sejam compatíveis. Qualquer disparidade entre tipos é um erro e deve ser corrigida para que o compilador possa concluir a compilação da classe. Quem tem uma vivência em C ou C++ perceberá que a tipagem em Java é mais rigorosa do que nessas duas linguagens. Por exemplo, em C/C++ é possível atribuir um valor de ponto flutuante a um inteiro. Em Java, isso não é permitido. Também em C, não existe necessariamente um checagem forte de tipos entre um parâmetro e um argumento. Em Java, isso sempre acontece. A forte checagem de tipos de Java pode parecer inicialmente um pouco aborrecida. Mas é preciso ter em mente que a longo prazo isso ajudará a reduzir a possibilidade de erros no código. Java define oito tipos simples (ou elementares) de dados. Eles podem ser divididos em quatro grupos: Os tipos elementares de Java (separados por grupo) Números inteiros Ponto flutuante Caracteres Booleano Números inteiros, todos com sinal Números fracionários Letras, símbolos e algarismos Valor falso ou verdadeiro byte short Rua Valorbe, 123 Lauzane Paulista Cep São Paulo SP 18
20 int long float double char boolean Esses tipos podem ser usados no estado original, ou para construir arrays ou criar novos tipos de classes. Assim, eles formam a base de todos os outros tipos de dados que podem ser criados. Os tipos elementares representam valores individuais, e não objetos complexos. Embora sob outros aspectos Java seja uma linguagem totalmente orientada a objetos, os tipos elementares não são objetos. Eles são análogos aos tipos simples encontrados na maioria das outras linguagens não-orientadas a objetos. A razão para isto é a eficiência. Se os tipos simples fossem objetos, a performance seria muito prejudicada. Os tipos simples são definidos explicitamente para ter uma determinada faixa de valores e um comportamento matemático. Linguagens como C e C++ permitem que o tamanho de um inteiro varie conforme o ambiente de execução. Em Java isso não acontece. Por causa dos requisitos de portabilidade de Java, todos os tipos de dados têm uma faixa de valores estritamente definida. Por exemplo, um int é sempre de 32 bits, independente da plataforma de execução. Isso garante que os programas rodarão em qualquer arquitetura de máquina, sem necessidade de serem portados. Embora uma rigorosa especificação do tamanho de um inteiro possa causar uma pequena perda de performance em alguns ambientes, isso é necessário para garantir a portabilidade. 16. Conversões e uso de cast em Java Para resolver certos problemas em programação, é relativamente comum atribuir um valor de um tipo a uma variável de outro tipo. Se os dois tipos forem compatíveis, Java fará a conversão automaticamente. Um exemplo: sempre é possível atribuir um valor int a uma variável long. Porém nem todos os tipos são compatíveis, de modo que nem todas as conversões são implicitamente permitidas. Por exemplo, não existe uma conversão definida de double para byte. Para conseguir uma conversão entre tipos incompatíveis, usamos o recurso chamado cast. Ele executa uma conversão explícita entre tipos incompatíveis. Quando um dado de um tipo é atribuído a uma variável de outro tipo, ocorre uma conversão automática de tipo se as duas condições abaixo forem satisfeitas: Rua Valorbe, 123 Lauzane Paulista Cep São Paulo SP 19
21 Os dois tipos forem compatíveis tipo de destino tiver largura maior que o tipo original Quando essas duas condições são satisfeitas, ocorre uma conversão por alargamento. Por exemplo, o tipo int sempre é grande o suficiente para conter todos os valores do tipo byte, de modo que não há necessidade de uso de um cast explícito. Nas conversões por alargamento, os tipos numéricos, inclusive os tipos inteiros e de ponto flutuante, são compatíveis entre si. Contudo, os tipos numéricos não são compatíveis com char ou boolean. E também, char e boolean não são compatíveis entre si. Conforme mencionado anteriormente, Java também executa uma conversão automática de tipo ao armazenar uma constante literal inteira em uma variável do tipo byte, short ou long. 17. Usando cast entre tipos incompatíveis As conversões automáticas ajudam muito, mas não atendem a todas as necessidades de programação. Por exemplo, o que acontece se precisarmos atribuir um valor int a uma variável byte? Essa conversão não é feita automaticamente, porque um byte é menor que um int. Esse tipo de conversão é conhecido como conversão por estreitamento, já que estamos explicitamente tornando o valor mais estreito, para que ele caiba no tipo alvo. Para criar uma conversão entre dois tipos incompatíveis, é preciso usar um cast. Um cast é simplesmente uma conversão explícita de tipo. Em nosso exemplo acima, de int para byte, o cast teria a seguinte forma: int intvar; byte bytevar; //... bytevar = (byte) intvar; Aqui, bytevar representa uma variável tipo byte, e intvar representa uma variável tipo int. Se o valor int for maior que o valor máximo possível para um byte, ele será reduzido usando a conversão módulo, que consiste no resto de uma divisão inteira pelo alcance de byte. A conversão que ocorre quando um valor de ponto flutuante é atribuído a um tipo inteiro é diferente. Consiste de um truncamento. Como sabemos, valores inteiros não têm o componente fracionário. Assim, quando um valor de ponto flutuante é atribuído a um tipo inteiro, o componente fracionário é perdido. Rua Valorbe, 123 Lauzane Paulista Cep São Paulo SP 20
22 Por exemplo, se o valor for atribuído a um inteiro, o valor resultante será simplesmente 3. A parte fracionária.1416 será truncada. Importante: se o tamanho da parte inteira do número for grande demais para caber no tipo inteiro alvo, então o valor será reduzido usando a operação módulo pelo alcance do tipo alvo. O programa abaixo demonstra algumas conversões de tipos que requerem casts: Listagem: Casts.java 1 // Casts.java 2 // Ilustra o uso de 3 // casts. 4 5 class Casts 6 { 7 public static void main(string args[]) 8 { 9 byte bytevar; 10 int intvar = 257; 11 double doublevar = ; System.out.println("\nConversao de int para byte."); 14 bytevar = (byte) intvar; 15 System.out.println("intVar = " + intvar); 16 System.out.println("byteVar = " + bytevar); System.out.println("\nConversao de double para int."); 19 intvar = (int) doublevar; 20 System.out.println("doubleVar = " + doublevar); 21 System.out.println("intVar = " + intvar); System.out.println("\nConversao de double para byte."); 24 bytevar = (byte) doublevar; 25 System.out.println("doubleVar = " + doublevar); 26 System.out.println("byteVar = " + bytevar); 27 } // Fim de main() 28 } // Fim de classe Casts. Este programa gera a seguinte saída: Conversao de int para byte. Rua Valorbe, 123 Lauzane Paulista Cep São Paulo SP 21
23 intvar = 257 bytevar = 1 Conversao de double para int. doublevar = intvar = 317 Conversao de double para byte. doublevar = bytevar = 61 Vamos examinar cada uma das conversões. Na linha 14, quando o valor 257 é convertido por meio de um cast em uma variável byte, o resultado é o resto da divisão de 257 por 256, o valor máximo de um byte. No caso, esse resto é igual a 1. Na linha 19, quando doublevar é convertida em int, o componente fracional é perdido. Na linha 24, quando doublevar é convertida em byte, o componente fracional é perdido e o valor é reduzido com a operação módulo 256. O resultado é Arrays Um array é um grupo de variáveis do mesmo tipo que são referenciadas por um nome comum. Podemos criar arrays de qualquer tipo, e eles podem ter uma ou mais dimensões. Um elemento específico de um array é acessado por seu índice. Os arrays representam uma forma prática de agrupar elementos correlacionados do mesmo tipo. Um array unidimensional é, essencialmente, uma lista de variáveis do mesmo tipo. Para criar um array, primeiro criamos uma variável array do tipo desejado. Por exemplo, a linha abaixo: int num_dias_mes[]; Cria uma variável array do tipo int chamada num_dias_mes. Aqui, o tipo int declara o tipo básico do array. O tipo básico determina o tipo de dados de cada elemento que forma o array. Ou seja, o tipo básico do array determina o tipo dos dados que o array conterá. No caso, a linha acima cria uma variável array de ints. Embora esta declaração estabeleça o fato de que num_dias_mes é uma variável array, ainda não existe um array de fato neste ponto. Na verdade, o Rua Valorbe, 123 Lauzane Paulista Cep São Paulo SP 22
24 valor de num_dias_mes é automáticamente ajustado para null, que representa um array sem nenhum valor. Para conectar num_dias_mes a um array físico e real de inteiros, é preciso alocá-lo, usando new e atribui-lo a num_dias_mes. new é um operador especial que aloca memória. Examinaremos new com mais detalhes mais adiante neste curso, mas precisamos usá-lo agora para alocar memória para arrays. Eis a forma como new é usado para alocar um array de 12 ints: num_dias_mes = new int[12]; Observe que nesta mesma linha, o array de ints recém-alocado está sendo atribuído à variável num_dias_mes. Aqui, int especifica o tipo dos dados que estão sendo alocados. O número 12 entre colchetes [ ] especifica o número de elementos contidos no array. E num_dias_mes é a variável array à qual o array recém alocado é conectado. Resumindo: quando usamos new para alocar um array, precisamos especificar o tipo e o número de elementos a alocar. Os elementos do array alocado por new serão automaticamente inicializados com o valor zero. Portanto, depois que a linha acima for executada, num_dias_mes se referirá a um array de 12 inteiros. Além disso, todos os elementos do array terão sido inicializados com o valor zero. Mais uma vez: a obtenção de um array é um processo em duas etapas. Primeiro, é preciso declarar uma variável do tipo de array desejado. Segundo, é preciso alocar a memória que conterá o array, usando new, e atribuí-la à variável do array. Assim, em Java, todos os arrays são alocados dinamicamente. Mais adiante neste curso trataremos com mais detalhes do conceito de alocação dinâmica. Uma vez que você tenha alocado um array, é possível acessar um elemento específico do array especificando seu índice dentro dos colchetes. Todos os índices de arrays começam em zero. Por exemplo, a linha abaixo atribui o valor 28 ao segundo elemento de num_dias_mes: num_dias_mes[1] = 28; A linha abaixo exibe o valor armazenado no índice 3: System.out.println(num_dias_mes[3]); Para ilustrar todos esses conceitos, eis um programa que cria um array com o número de dias de cada mês: Listagem: ArrayUni.Java Rua Valorbe, 123 Lauzane Paulista Cep São Paulo SP 23
25 1 // ArrayUni.java 2 // Demonstra um array unidimensional. 3 class ArrayUni 4 { 5 public static void main(string args[]) 6 { 7 int num_dias_mes[]; 8 num_dias_mes = new int[12]; 9 // Janeiro. 10 num_dias_mes[0] = 31; // Fevereiro. 13 num_dias_mes[1] = 28; // Março, e assim 16 // por diante. 17 num_dias_mes[2] = 31; num_dias_mes[3] = 30; 20 num_dias_mes[4] = 31; 21 num_dias_mes[5] = 30; 22 num_dias_mes[6] = 31; 23 num_dias_mes[7] = 31; 24 num_dias_mes[8] = 30; 25 num_dias_mes[9] = 31; 26 num_dias_mes[10] = 30; // Dezembro. 29 num_dias_mes[11] = 31; 30 System.out.println("Abril tem " 31 + num_dias_mes[3] + 32 " dias."); 33 } // Fim de main() 34 } // Fim da classe ArrayUni. Ao ser executado, este programa exibe a seguinte saída: Abril tem 30 dias. Rua Valorbe, 123 Lauzane Paulista Cep São Paulo SP 24
26 Observe na linha 10 que, conforme mencionamos anteriormente, os índices dos arrays em Java começam em zero. É por isso que o número de dias de abril está em num_dias_mes[3], conforme mostrado na linha 19. Podemos combinar em uma única linha a declaração da variável array (linha 7) com a alocação do próprio array (linha 8), conforme mostrado abaixo: int num_dias_mes[] = new int[12]; Esta é a forma mais usada em programas Java profissionais. Os arrays podem ser inicializados no momento da declaração. O processo é muito parecido com aquele usado para inicializar tipos simples. Um inicializador de array é uma lista de expressões separadas por vírgulas contidas entre chaves { }. As vírgulas separam os valores dos elementos do array. O array será automaticamente criado com tamanho certo para conter o número de elementos especificados no inicializador do array. Não há necessidade de usar new. O exemplo abaixo é uma nova versão do programa ArrayUni.java: Listagem: ArrayUni2.java 1 // ArrayUni2.java 2 // Uma segunda versão 3 // ilustrando o uso 4 // de um array unidimensional. 5 class ArrayUni2 6 { 7 public static void main(string args[]) 8 { 9 // Declara e inicializa 10 // automaticamente o array. 11 int num_dias_mes[] = {31, 28, 31, 30, 31, 30, 12 31, 31, 30, 31, 30, 31}; 13 System.out.println("Abril tem " + 14 num_dias_mes[3] + 15 " dias."); 16 } // Fim de main() 17 } // Fim da classe ArrayUni2. Ao ser executado, este programa gera a mesma saída da versão anterior. Abril tem 30 dias. Rua Valorbe, 123 Lauzane Paulista Cep São Paulo SP 25
27 Observe nas linhas 11 e 12 que, já ao ser criado, o array de inteiros é inicializado com o número de dias de cada mês. Java faz uma rigorosa checagem para assegurar que o programador não tente armazenar ou referenciar valores fora do alcance do array. O sistema runtime de Java faz essa checagem para ter certeza de que todos os índices do array estejam dentro da faixa correta. Neste aspecto, Java é fundamentalmente diferente de C/C++, que não faz nenhuma checagem de limites em tempo de execução. Por exemplo, o sistema runtime faz a checagem do valor de cada índice do array num_dias_mes para assegurar que todos estejam dentro da faixa de 0 a 11, inclusive. Se tentarmos acessar um elemento fora do alcance do array, usando como índice um número negativo ou um número maior que o comprimento do array, isso causará um erro de tempo de execução. O exemplo abaixo utiliza um array unidimensional para encontrar a média de um conjunto de números. Listagem: MediaArray.Java 1 // MediaArray.java 2 // Utiliza um array 3 // para encontra a média 4 // entre vários números. 5 6 class MediaArray 7 { 8 public static void main(string args[]) 9 { 10 double numeros[] = {3.14, 7.2, 10.17, 14.31, 15.49}; 11 double resultado = 0; 12 int contador; for(contador = 0; contador < 5; contador++) 15 resultado = resultado + numeros[contador]; System.out.println("Valor medio = " + 18 resultado / 5); 19 } // Fim de main(). 20 } // Fim da classe MediaArray. Ao ser executado, MediaArray.java produz a seguinte saída: Valor medio = Rua Valorbe, 123 Lauzane Paulista Cep São Paulo SP 26
28 19. Arrays multidimensionais Os arrays multidimensionais são implementados em Java na forma de arrays de arrays. Tais arrays de arrays parecem e funcionam exatamente como arrays multidimensionais. Porém existem algumas pequenas diferenças. Para declarar uma variável array multidimensional, especificamos cada índice adicional usando mais um par de colchetes. Por exemplo, a seguinte linha declara uma variável array bidimensional chamada array2d. int array2d[][] = new int[4][5]; Essa declaração aloca um array de ints de 4 por 5 e o atribui a array2d. Internamente, essa matriz é implementada como um array de arrays de int, representado pelo seguinte layout: [0][0] [0][1] [0][2] [0][3] [0][4] [1][0] [1][1] [1][2] [1][3] [1][4] [2][0] [2][1] [2][2] [2][3] [2][4] [3][0] [3][1] [3][2] [3][3] [3][4] Observe que o primeiro índice representa a linha e o segundo índice representa a coluna. O programa abaixo exemplifica um array bidimensional: Listagem: Array2D.java 1 // Array2D.java 2 // Ilustra o uso 3 // de um array 4 // bidimensional. 5 6 class Array2D 7 { 8 public static void main(string args[]) 9 { 10 int array2d[][] = new int[4][5]; 11 int i, j, k = 0; // Preenche o array. 14 for(i = 0; i < 4; i++) 15 for(j = 0; j < 5; j++) 16 { 17 array2d[i][j] = k; Rua Valorbe, 123 Lauzane Paulista Cep São Paulo SP 27
Linguagem de Programação JAVA. Técnico em Informática Professora Michelle Nery
Linguagem de Programação JAVA Técnico em Informática Professora Michelle Nery Agenda Regras paravariáveis Identificadores Válidos Convenção de Nomenclatura Palavras-chaves em Java Tipos de Variáveis em
Leia maisinsfcanceof new public switch transient while byte continue extends for int null
Palavras -chave de JAV A abstract catch do final implements long private static throw void boolean char double finally import native protected super throws volatile break class float insfcanceof new public
Leia maisProgramação de Computadores - I. Profª Beatriz Profº Israel
Programação de Computadores - I Profª Beatriz Profº Israel As 52 Palavras Reservadas O que são palavras reservadas São palavras que já existem na linguagem Java, e tem sua função já definida. NÃO podem
Leia maisImplementando uma Classe e Criando Objetos a partir dela
Análise e Desenvolvimento de Sistemas ADS Programação Orientada a Obejeto POO 3º Semestre AULA 04 - INTRODUÇÃO À PROGRAMAÇÃO ORIENTADA A OBJETO (POO) Parte: 2 Prof. Cristóvão Cunha Implementando uma Classe
Leia maisSintaxe Geral Tipos de Dados. Prof. Angelo Augusto Frozza, M.Sc.
Sintaxe Geral Tipos de Dados Comentários Comentários: De linha: // comentário 1 // comentário 2 De bloco: /* linha 1 linha 2 linha n */ De documentação: /** linha1 * linha2 */ Programa Exemplo: ExemploComentario.java
Leia maisConceitos básicos da linguagem C
Conceitos básicos da linguagem C 2 Em 1969 Ken Thompson cria o Unix. O C nasceu logo depois, na década de 70. Dennis Ritchie, implementou-o pela primeira vez usando o sistema operacional UNIX criado por
Leia maisOrientação a Objetos
1. Domínio e Aplicação Orientação a Objetos Um domínio é composto pelas entidades, informações e processos relacionados a um determinado contexto. Uma aplicação pode ser desenvolvida para automatizar ou
Leia maisJava Como Programar, 8/E
Capítulo 5 Instruções de controle: Parte 2 Java Como Programar, 8/E (C) 2010 Pearson Education, Inc. Todos os 5.1 Introdução Instrução de repetição for Instrução de repetição do while Instrução de seleção
Leia maisJava. Marcio de Carvalho Victorino www.dominandoti.eng.br
Java Marcio de Carvalho Victorino www.dominandoti.eng.br 3. Considere as instruções Java abaixo: int cont1 = 3; int cont2 = 2; int cont3 = 1; cont1 += cont3++; cont1 -= --cont2; cont3 = cont2++; Após a
Leia maisAula 2. Objetivos. Encapsulamento na linguagem Java; Utilizando a referência this.
Aula 2 Objetivos Encapsulamento na linguagem Java; Utilizando a referência this. Encapsulamento, data hiding é um conceito bastante importante em orientação a objetos. É utilizado para restringir o acesso
Leia maisAlgoritmos e Programação
Universidade Federal do Vale do São Francisco Curso de Engenharia da Produção / Elétrica Algoritmos e Programação Parte 05 Prof. Jorge Cavalcanti jorge.cavalcanti@univasf.edu.br www.univasf.edu.br/~jorge.cavalcanti
Leia maisAlgoritmos e Estruturas de Dados I 01/2013. Estruturas Condicionais e de Repetição (parte 2) Pedro O.S. Vaz de Melo
Algoritmos e Estruturas de Dados I 01/2013 Estruturas Condicionais e de Repetição (parte 2) Pedro O.S. Vaz de Melo Problema 1 Suponha que soma (+) e subtração (-) são as únicas operações disponíveis em
Leia maisAnálise e Projeto Orientados por Objetos
Análise e Projeto Orientados por Objetos Aula 01 Orientação a Objetos Edirlei Soares de Lima Paradigmas de Programação Um paradigma de programação consiste na filosofia adotada na
Leia maisINTRODUÇÃO À LINGUAGEM C++
INTRODUÇÃO À LINGUAGEM C++ 1 - VARIÁVEIS Variáveis espaço de memória reservado para armazenar tipos de dados, com um nome para referenciar seu conteúdo. Observações importantes Todas as variáveis devem
Leia maisJSP - ORIENTADO A OBJETOS
JSP Orientação a Objetos... 2 CLASSE:... 2 MÉTODOS:... 2 Método de Retorno... 2 Método de Execução... 2 Tipos de Dados... 3 Boolean... 3 Float... 3 Integer... 4 String... 4 Array... 4 Primeira:... 4 Segunda:...
Leia mais9 Comandos condicionais
9 Comandos condicionais Um comando condicional é uma instrução empregada quando se deseja criar um desvio, isto é, a opção de executar-se ou não um determinado trecho de código, segundo uma condição. Em
Leia maisTÉCNICAS DE PROGRAMAÇÃO
TÉCNICAS DE PROGRAMAÇÃO (Adaptado do texto do prof. Adair Santa Catarina) ALGORITMOS COM QUALIDADE MÁXIMAS DE PROGRAMAÇÃO 1) Algoritmos devem ser feitos para serem lidos por seres humanos: Tenha em mente
Leia maisCurso Adonai QUESTÕES Disciplina Linguagem JAVA
1) Qual será o valor da string c, caso o programa rode com a seguinte linha de comando? > java Teste um dois tres public class Teste { public static void main(string[] args) { String a = args[0]; String
Leia maisDesenvolvimento OO com Java Orientação a objetos básica
Desenvolvimento OO com Java Orientação a objetos básica Vítor E. Silva Souza (vitor.souza@ufes.br) http://www.inf.ufes.br/~vitorsouza Departamento de Informática Centro Tecnológico Universidade Federal
Leia maisComputação II Orientação a Objetos
Computação II Orientação a Objetos Fabio Mascarenhas - 2014.1 http://www.dcc.ufrj.br/~fabiom/java Introdução Esse não é um curso de Java! O objetivo é aprender os conceitos da programação orientada a objetos,
Leia maisCONCEITOS DE LINGUAGEM DE PROGRAMAÇÃO CARACTERÍSTICAS. João Gabriel Ganem Barbosa
CONCEITOS DE LINGUAGEM DE PROGRAMAÇÃO CARACTERÍSTICAS João Gabriel Ganem Barbosa Sumário Motivação História Linha do Tempo Divisão Conceitos Paradigmas Geração Tipos de Dados Operadores Estruturada vs
Leia maisAula 09 Introdução à Java. Disciplina: Fundamentos de Lógica e Algoritmos Prof. Bruno Gomes http://www.profbrunogomes.com.br/
Aula 09 Introdução à Java Disciplina: Fundamentos de Lógica e Algoritmos Prof. Bruno Gomes http://www.profbrunogomes.com.br/ Agenda da Aula Java: Sintaxe; Tipos de Dados; Variáveis; Impressão de Dados.
Leia mais5 - Vetores e Matrizes Linguagem C CAPÍTULO 5 VETORES E MATRIZES
CAPÍTULO 5 5 VETORES E MATRIZES 5.1 Vetores Um vetor armazena uma determinada quantidade de dados de mesmo tipo. Vamos supor o problema de encontrar a média de idade de 4 pessoas. O programa poderia ser:
Leia mais3. INTRODUÇÃO À LINGUAGEM C 3.1. CONCEITOS BÁSICOS. Lógica de Programação
Lógica de Programação 3. INTRODUÇÃO À LINGUAGEM C Caro Aluno Vamos iniciar o terceiro capítulo da nossa disciplina. Agora vamos começar a aplicar os conceitos vistos nos capítulos anteriores em uma linguagem
Leia maisProgramação Orientada a Objetos e Java - Introdução. Carlos Lopes
Programação Orientada a Objetos e Java - Introdução Carlos Lopes POO e Java Objetivo: proporcionar uma visão dos conceitos de POO e do seu uso na estruturação dos programas em Java. Classes e objetos em
Leia maisIntrodução a Java. Hélder Nunes
Introdução a Java Hélder Nunes 2 Exercício de Fixação Os 4 elementos básicos da OO são os objetos, as classes, os atributos e os métodos. A orientação a objetos consiste em considerar os sistemas computacionais
Leia mais5 Apresentando a linguagem C
5 Apresentando a linguagem C O criador da linguagem de programação C foi Dennis Ritchie que, na década de 70, programou-a por meio de um computador DEC PDP-11 rodando sistema operacional Unix. Entretanto,
Leia maisARRAYS. Um array é um OBJETO que referencia (aponta) mais de um objeto ou armazena mais de um dado primitivo.
Cursos: Análise, Ciência da Computação e Sistemas de Informação Programação I - Prof. Aníbal Notas de aula 8 ARRAYS Introdução Até agora, utilizamos variáveis individuais. Significa que uma variável objeto
Leia maisUniversidade da Beira Interior Cursos: Matemática /Informática e Ensino da Informática
Folha 1-1 Introdução à Linguagem de Programação JAVA 1 Usando o editor do ambiente de desenvolvimento JBUILDER pretende-se construir e executar o programa abaixo. class Primeiro { public static void main(string[]
Leia maisPROGRAMAÇÃO ORIENTADA A OBJETO EM PHP
PROGRAMAÇÃO ORIENTADA A OBJETO EM PHP O PHP através da versão 5, veio desenvolvido com suporte a programação orientada a objetos. O que significa isso? Que a partir da versão 5 é possível criar bibliotecas
Leia maisA Linguagem Java. Alberto Costa Neto DComp - UFS
A Linguagem Java Alberto Costa Neto DComp - UFS 1 Roteiro Comentários Variáveis Tipos Primitivos de Dados Casting Comandos de Entrada e Saída Operadores Constantes 2 Comentários /** Classe para impressão
Leia maisUM ESTUDO PARA A EVOLUÇÃO DO PHP COM A LINGUAGEM ORIENTADA A OBJETOS
UM ESTUDO PARA A EVOLUÇÃO DO PHP COM A LINGUAGEM ORIENTADA A OBJETOS Jean Henrique Zenzeluk* Sérgio Ribeiro** Resumo. Este artigo descreve os conceitos de Orientação a Objetos na linguagem de programação
Leia maisBC0505 Processamento da Informação
BC0505 Processamento da Informação Assunto: Modularização de código e passagem de parâmetros Aula Prática: 4 Versão: 0.2 Introdução Modularização No Java, como em outras linguagens de Programação Orientadas
Leia maisIntrodução ao Paradigma Orientado a Objetos. Principais conceitos
Introdução ao Paradigma Orientado a Objetos Principais conceitos Paradigmas de Programação PROGRAMAÇÃO ESTRUTURADA X PROGRAMAÇÃO ORIENTADA A OBJETOS Paradigma Programação estruturada Na programação estrutura
Leia maisUm objeto é uma instância de uma 'classe'. Você define uma classe utilizando o trecho de código abaixo;
um objeto; é definido; Um objeto é uma instância de uma 'classe'. Você define uma classe utilizando o trecho de código abaixo; class ClasseBase{ é instanciado; $objetobase = new ClasseBase; Caso queira,
Leia maisTécnicas de Programação II
Técnicas de Programação II Aula 06 Orientação a Objetos e Classes Edirlei Soares de Lima Orientação a Objetos O ser humano se relaciona com o mundo através do conceito de objetos.
Leia maisLÓGICA DE PROGRAMAÇÃO. Professor Celso Masotti http://ead.celsomasotti.com.br
LÓGICA DE PROGRAMAÇÃO Professor Celso Masotti http://ead.celsomasotti.com.br Ano: 2015 1 HTML & PHP em Ambiente Web PARTE II Sumário I Decisão... 4 Operadores de Comparação... 6 II IF ELSEIF ELSE... 7
Leia maisLinguagem e Técnicas de Programação I Tipos de dados, variáveis e constantes. Prof. MSc. Hugo Souza Material desenvolvido por: Profa.
Linguagem e Técnicas de Programação I Tipos de dados, variáveis e constantes Prof. MSc. Hugo Souza Material desenvolvido por: Profa. Ameliara Freire Tipos de dados Os programas manipulam dados, armazenando-os
Leia maisNoções sobre Objetos e Classes
Noções sobre Objetos e Classes Prof. Marcelo Cohen 1. Elementos de programação Revisão de programação variáveis, tipos de dados expressões e operadores cadeias de caracteres escopo de variáveis Revisão
Leia maisEstrutura Condicional em Java
Estrutura Condicional em Java Linguagem de Programação 1 O Java contém três tipos de instruções de seleção. A instrução if realiza uma ação se uma condição for verdadeira ou pula a ação se a condição for
Leia maisREPRESENTAÇÃO DE DADOS EM SISTEMAS DE COMPUTAÇÃO AULA 03 Arquitetura de Computadores Gil Eduardo de Andrade
REPRESENTAÇÃO DE DADOS EM SISTEMAS DE COMPUTAÇÃO AULA 03 Arquitetura de Computadores Gil Eduardo de Andrade O conteúdo deste documento é baseado no livro Princípios Básicos de Arquitetura e Organização
Leia maisTestando e Comparando Valores
Testando e Comparando Valores A Instrução if Um dos recursos mais importantes de uma linguagem de computador é a capacidade de testar e comparar valores, permitindo que seu programa se comporte diferentemente
Leia maisUsando o do-file editor Automatizando o Stata
Usando o do-file editor Automatizando o Stata 1 O QUE É O EDITOR DE DO-FILE O Stata vem com um editor de texto integrado, o do-file editor (editor de do-files, em português), que pode ser usado para executar
Leia maisProgramação por Objectos. Java
Programação por Objectos Java Parte 3: Métodos LEEC@IST Java 1/45 Métodos (1) Sintaxe Qualif Tipo Ident ( [ TipoP IdentP [, TipoP IdentP]* ] ) { [ Variável_local Instrução ]* Qualif: qualificador (visibilidade,
Leia mais2 Ferramentas Utilizadas
2 Ferramentas Utilizadas Esta dissertação utiliza vários outros trabalhos para implementar os mecanismos de adaptação abordados. Essas ferramentas são descritas nas seções seguintes. 2.1 Lua Lua [7, 8]
Leia maisLinguagens de Programação
Linguagens de Programação Prof. Miguel Elias Mitre Campista http://www.gta.ufrj.br/~miguel Parte IV Introdução à Programação em C++ (Continuação) Relembrando da Última Aula... Funções Classes de armazenamento
Leia maisExercícios de Revisão Java Básico
Exercícios de Revisão Java Básico (i) Programação básica (estruturada) 1) Faça um programa para calcular o valor das seguintes expressões: S 1 = 1 1 3 2 5 3 7 99... 4 50 S 2 = 21 50 22 49 23 48...250 1
Leia maisProgramação Estruturada. Programação Estruturada. Idéias Básicas da Programação Estruturada
Programação Estruturada Programação Estruturada Paradigmas de Linguagens de Programação As linguagens desse paradigma são muitas vezes chamadas de linguagens convencionais, procedurais ou imperativas.
Leia maisAula 12: Funções. Pré-requisitos: Todas as aulas anteriores deste módulo. 1. Aproveitando Códigos no Programa
Aula 12: Funções Nesta aula explicaremos o que são e como usar funções nos seus programas em JavaScript. Você aprenderá como elas podem receber e retornar valores à estrutura que as acionou. Entenderá
Leia maisExemplo 1. Um programa que cria uma instância de uma classe que herda da classe Frame
6. Como aplicações gráficas funcionam em Java? Todas as aplicações gráficas em Java usam instâncias de classes existentes, que por serem parte da linguagem podem ser executadas em todas as versões de Java
Leia maisINTRODUÇÃO AO C++ SISTEMAS DE INFORMAÇÃO DR. EDNALDO B. PIZZOLATO
INTRODUÇÃO AO C++ SISTEMAS DE INFORMAÇÃO DR. EDNALDO B. PIZZOLATO Tópicos Estrutura Básica B de Programas C e C++ Tipos de Dados Variáveis Strings Entrada e Saída de Dados no C e C++ INTRODUÇÃO O C++ aceita
Leia maisLinguagem C: variáveis, operadores, entrada/saída. Prof. Críston Algoritmos e Programação
Linguagem C: variáveis, operadores, entrada/saída Prof. Críston Algoritmos e Programação Linguagem C Linguagem de uso geral (qualquer tipo de aplicação) Uma das linguagens mais utilizadas Foi utilizada
Leia maisComandos de repetição For (inicialização; condição de execução; incremento/decremento) { //Código }
Este documento tem o objetivo de demonstrar os comandos e sintaxes básicas da linguagem Java. 1. Alguns passos para criar programas em Java As primeiras coisas que devem ser abordadas para começar a desenvolver
Leia maisE/S CPU. Memória (Instruções e dados) 2 PARADIGMA IMPERATIVO. Instruções e dados. Resultados das operações. Unidade lógica e aritmética
2 PARADIGMA IMPERATIVO 2.1 CONCEITO As linguagens que pertencem ao paradigma imperativo tomam por base a perspectiva da máquina. Ou seja, no modo como o computador executa programas em linguagem de máquina.
Leia maisProgramação por Objectos. Java
Programação por Objectos Java Parte 2: Classes e objectos LEEC@IST Java 1/24 Classes (1) Sintaxe Qualif* class Ident [ extends IdentC] [ implements IdentI [,IdentI]* ] { [ Atributos Métodos ]* Qualif:
Leia maisAlgoritmos e Programação Estruturada
Algoritmos e Programação Estruturada Virgínia M. Cardoso Linguagem C Criada por Dennis M. Ritchie e Ken Thompson no Laboratório Bell em 1972. A Linguagem C foi baseada na Linguagem B criada por Thompson.
Leia maisProgramação por Objectos. Java
Programação por Objectos Java Parte 6: Herança e Polimorfismo LEEC@IST Java 1/52 Herança revisão A herança é um mecanismo em que a subclasse constitui uma especialização da superclasse. A superclasse pode
Leia maisEstrutura de Dados Básica
Estrutura de Dados Básica Professor: Osvaldo Kotaro Takai. Aula 4: Tipos de Dados O objetivo desta aula é apresentar os tipos de dados manipulados pela linguagem C, tais como vetores e matrizes, bem como
Leia mais2 echo "PHP e outros.";
PHP (Hypertext Preprocessor) Antes de qualquer coisa, precisamos entender o que é o PHP: O PHP(Hypertext Preprocessor) é uma linguagem interpretada gratuita, usada originalmente apenas para o desenvolvimento
Leia maisUML: Diagrama de Casos de Uso, Diagrama de Classes
UML: Diagrama de Casos de Uso, Diagrama de Classes Diagrama de Casos de Uso O modelo de casos de uso visa responder a pergunta: Que usos (funcionalidades) o sistema terá? ou Para que aplicações o sistema
Leia maisAula de JavaScript 05/03/10
Objetos Sabe-se que variável são contêiners que podem armazenar um número, uma string de texto ou outro valor. O JavaScript também suporta objetos. Objetos são contêiners que podem armazenar dados e inclusive
Leia mais2 Orientação a objetos na prática
2 Orientação a objetos na prática Aula 04 Sumário Capítulo 1 Introdução e conceitos básicos 1.4 Orientação a Objetos 1.4.1 Classe 1.4.2 Objetos 1.4.3 Métodos e atributos 1.4.4 Encapsulamento 1.4.5 Métodos
Leia maiscompreender a importância de cada estrutura de controle disponível na Linguagem C;
Aula 3 Estruturas de controle Objetivos Esperamos que, ao final desta aula, você seja capaz de: compreender a importância de cada estrutura de controle disponível na Linguagem C; construir programas em
Leia maisLinguagem C. Programação Estruturada. Fundamentos da Linguagem. Prof. Luis Nícolas de Amorim Trigo nicolas.trigo@ifsertao-pe.edu.
Programação Estruturada Linguagem C Fundamentos da Linguagem Prof. Luis Nícolas de Amorim Trigo nicolas.trigo@ifsertao-pe.edu.br Sumário Estrutura Básica Bibliotecas Básicas Tipos de Dados Básicos Variáveis/Declaração
Leia maisProgramação Orientada a Objetos (DPADF 0063)
Programação Orientada a Objetos (DPADF 0063) Aula 6 Polimorfismo Universidade Federal de Santa Maria Colégio Agrícola de Frederico Westphalen Curso Superior de Tecnologia em Sistemas para Internet Prof.
Leia maisPROGRAMAÇÃO ESTRUTURADA. CC 2º Período
PROGRAMAÇÃO ESTRUTURADA CC 2º Período PROGRAMAÇÃO ESTRUTURADA Aula 06: Ponteiros Declarando e utilizando ponteiros Ponteiros e vetores Inicializando ponteiros Ponteiros para Ponteiros Cuidados a serem
Leia maisP r o g r a m a ç ã o d e C o m p u t a d o r e s 1 o S e m - 2 0 1 3 P r o f. A n d r é A m a r a n t e L u i z L A B 5 tag %2d while printf PE1:
Inteligência É a faculdade de criar objetos artificiais, especialmente ferramentas para fazer ferramentas. Henri Bergson. WHILE Além dos comandos if-else e switch, o controle de fluxo de um programa pode
Leia maisPROGRAMAÇÃO ORIENTADA A OBJETOS -TRATAMENTO DE EXCEÇÕES. Prof. Angelo Augusto Frozza, M.Sc. frozza@ifc-camboriu.edu.br
PROGRAMAÇÃO ORIENTADA A OBJETOS -TRATAMENTO DE EXCEÇÕES Prof. Angelo Augusto Frozza, M.Sc. frozza@ifc-camboriu.edu.br ROTEIRO 5. Tratamento de Exceções Introdução e conceitos Capturando exceção usando
Leia maisAlgoritmos e Programação II. Sobrecarga
Algoritmos e Programação II Baseado no Material do Prof. Júlio Machado Sobrecarga Em várias linguagens é comum encontrarmos rotinas que fazem basicamente a mesma coisa, porém, têm nomes distintos porque
Leia maisProgramação em papel quadriculado
4 NOME DA AULA: Programação em papel quadriculado Tempo de aula: 45 60 minutos Tempo de preparação: 10 minutos Objetivo principal: ajudar os alunos a entender como a codificação funciona. RESUMO Ao "programar"
Leia mais7. Estrutura de Decisão
7. Estrutura de Decisão Neste tipo de estrutura o fluxo de instruções a ser seguido é escolhido em função do resultado da avaliação de uma ou mais condições. Uma condição é uma expressão lógica. A classificação
Leia maisLinguagem C. TGSI Lógica de Programação / Linguagem C Prof. Marcos Roberto
Linguagem C O C nasceu na década de 70. Seu inventor, Dennis Ritchie, implementou-o pela primeira vez usando um DEC PDP-11 rodando o sistema operacional UNIX. O C é derivado de uma outra linguagem: o B,
Leia maisJava 2 Standard Edition Como criar classes e objetos
Java 2 Standard Edition Como criar classes e objetos Helder da Rocha www.argonavis.com.br 1 Assuntos abordados Este módulo explora detalhes da construção de classes e objetos Construtores Implicações da
Leia maisPrototype, um Design Patterns de Criação
Prototype, um Design Patterns de Criação José Anízio Pantoja Maia Este artigo tem como finalidade compreender o funcionamento do padrão de projeto prototype, serão abordados os participantes que compõe
Leia maisResolução da lista de exercícios de casos de uso
Resolução da lista de exercícios de casos de uso 1. Explique quando são criados e utilizados os diagramas de casos de uso no processo de desenvolvimento incremental e iterativo. Na fase de concepção se
Leia maisNotas de Cálculo Numérico
Notas de Cálculo Numérico Túlio Carvalho 6 de novembro de 2002 2 Cálculo Numérico Capítulo 1 Elementos sobre erros numéricos Neste primeiro capítulo, vamos falar de uma limitação importante do cálculo
Leia mais3.1 Definições Uma classe é a descrição de um tipo de objeto.
Unified Modeling Language (UML) Universidade Federal do Maranhão UFMA Pós Graduação de Engenharia de Eletricidade Grupo de Computação Assunto: Diagrama de Classes Autoria:Aristófanes Corrêa Silva Adaptação:
Leia maisProgramação: Tipos, Variáveis e Expressões
Programação de Computadores I Aula 05 Programação: Tipos, Variáveis e Expressões José Romildo Malaquias Departamento de Computação Universidade Federal de Ouro Preto 2011-1 1/56 Valores Valor é uma entidade
Leia maisCURSO DE PROGRAMAÇÃO EM JAVA
CURSO DE PROGRAMAÇÃO EM JAVA Introdução para Iniciantes Prof. M.Sc. Daniel Calife Índice 1 - A programação e a Linguagem Java. 1.1 1.2 1.3 1.4 Linguagens de Programação Java JDK IDE 2 - Criando o primeiro
Leia maisConversão de Tipos e Arrays
Conversão de Tipos e Arrays Universidade Católica de Pernambuco Ciência da Computação Prof. Márcio Bueno poonoite@marciobueno.com Fonte: Material da Profª Karina Oliveira Conversão de Tipos Permite converter
Leia maisProgramação Orientada a Objetos (DPADF 0063)
Programação Orientada a Objetos (DPADF 0063) Aula 5 Herança Universidade Federal de Santa Maria Colégio Agrícola de Frederico Westphalen Curso Superior de Tecnologia em Sistemas para Internet Prof. Bruno
Leia maisEXERCÍCIOS SOBRE ORIENTAÇÃO A OBJETOS
Campus Cachoeiro de Itapemirim Curso Técnico em Informática Disciplina: Análise e Projeto de Sistemas Professor: Rafael Vargas Mesquita Este exercício deve ser manuscrito e entregue na próxima aula; Valor
Leia maisIntrodução à Programação
Introdução à Programação Introdução a Linguagem C Construções Básicas Programa em C #include int main ( ) { Palavras Reservadas } float celsius ; float farenheit ; celsius = 30; farenheit = 9.0/5
Leia maisProgramação Orientada a Objetos C++
Programação Orientada a Objetos em C++ Sumário Histórico Comparação com Java Encapsulamento Tratamento de classes e objetos Herança Polimorfismo Histórico Desenvolvido por Bjarne Stroustrup dos Bell Labs
Leia maisCapítulo 2: Introdução à Linguagem C
Capítulo 2: Introdução à Linguagem C INF1005 Programação 1 Pontifícia Universidade Católica Departamento de Informática Programa Programa é um algoritmo escrito em uma linguagem de programação. No nosso
Leia maisITENS FUNDAMENTAIS. Profª Angélica da Silva Nunes
ITENS FUNDAMENTAIS Profª Angélica da Silva Nunes CONCEITOS BÁSICOS Hardware - é a parte física do computador, tais como: teclado, monitor de vídeo, etc. Software - são os programas e aplicativos que permitem
Leia maisMódulo 02 Programação Orientada a Objetos. Última atualização: 07/06/2010
Módulo 02 Programação Orientada a Objetos Última atualização: 07/06/2010 1 Objetivos Definir conceitos de orientação a objetos: o abstração, encapsulamento, pacotes. Discutir reutilização de código em
Leia maisExercícios Teóricos Resolvidos
Universidade Federal de Minas Gerais Instituto de Ciências Exatas Departamento de Matemática Exercícios Teóricos Resolvidos O propósito deste texto é tentar mostrar aos alunos várias maneiras de raciocinar
Leia maisAlgoritmos em Javascript
Algoritmos em Javascript Sumário Algoritmos 1 O que é um programa? 1 Entrada e Saída de Dados 3 Programando 4 O que é necessário para programar 4 em JavaScript? Variáveis 5 Tipos de Variáveis 6 Arrays
Leia maisAnálise de Programação
Análise de Programação Conceitos Avançados da Linguagem de Programação Java Prof Gilberto B Oliveira Encapsulamento Proteger o dado dentro de uma classe (capsula segura) Facilita o uso da classe por outros
Leia maisProgramação Estruturada e Orientada a Objetos. Fundamentos Orientação a Objetos
Programação Estruturada e Orientada a Objetos Fundamentos Orientação a Objetos 2013 O que veremos hoje? Introdução aos fundamentos de Orientação a Objetos Transparências baseadas no material do Prof. Jailton
Leia maisCriar a classe Aula.java com o seguinte código: Compilar e Executar
Introdução à Java Prof. Bruno Gomes bruno.gomes@ifrn.edu.br Programação Orientada a Objetos Código Exemplo da Aula Criar a classe Aula.java com o seguinte código: public class Aula { public static void
Leia maisMaterial de Apoio 5. int getres() { return res; O que estas classes possuem em comum? 1) 2) 3)
pg. 1/6 Material de Apoio 5 Herança Observe o código das classes Fatorial e Fibonacci apresentados abaixo. class Fatorial { class Fibonacci { private int n, res; private int n, res; public Fatorial( int
Leia maisRepresentação de Algoritmos - Linguagens de Programação
Representação de Algoritmos - Linguagens de Programação A representação de algoritmos em uma pseudo-linguagem mais próxima às pessoas é bastante útil principalmente quando o problema a ser tratado envolve
Leia maisCurso Java Starter. www.t2ti.com 1
1 Apresentação O Curso Java Starter foi projetado com o objetivo de ajudar àquelas pessoas que têm uma base de lógica de programação e desejam entrar no mercado de trabalho sabendo Java, A estrutura do
Leia maisSIMULADOS & TUTORIAIS
SIMULADOS & TUTORIAIS TUTORIAIS JAVASCRIPT Tipos de dados em JavaScript Copyright 2013 Todos os Direitos Reservados Jorge Eider F. da Silva Proibida a reprodução deste documento no todo ou em parte por
Leia maisGuia de utilização da notação BPMN
1 Guia de utilização da notação BPMN Agosto 2011 2 Sumário de Informações do Documento Documento: Guia_de_utilização_da_notação_BPMN.odt Número de páginas: 31 Versão Data Mudanças Autor 1.0 15/09/11 Criação
Leia maisLição 9 Trabalhando com bibliotecas de classes
Lição 9 Trabalhando com bibliotecas de classes Introdução à Programação I 1 Objetivos Ao final da lição, o estudante deverá estar apto a: Explicar o que é programação orientada a objetos e alguns de seus
Leia mais