Programação java para a web download pdf






















O grande diferencial de Java em relao s outras linguagens de programa- o se refere ao fato de que ela foi concebida, originalmente, para ser usada no ambiente da World Wide Web WWW.

Nos ltimos cinco anos, a grande maioria das linguagens tem buscado se adaptar a essa nova realidade e ne- cessidade; entretanto, Java a que mais tem se destacado at o momento.

Como conceito inicial, imagine a orientao a objetos como uma prtica de programao que permite a utilizao de diversos trechos de cdigo. Esses objetos podem simular um objeto do mundo real, como um auto- mvel, uma casa, uma pessoa etc.

Essa portabilidade permite que um programa escrito na linguagem Java seja executado em qualquer sistema operacional. Assim, possvel criar servidores de rede multiusurios, em que cada thread, por exemplo, cuida de uma conexo de um usurio ao servidor, isto , um mesmo programa.

Nesse contexto, a linguagem oferece um conjunto de classes para programao em rede, o que agiliza a implementao. Essa uma caracterstica muito importante, se considerado o grau de automao proporcionado pelo Java. Um aspecto importante que deve ser levado em considerao, principalmen- te porque o prprio mercado arma, refere-se aos mecanismos de segurana que a linguagem oferece para a realizao de processos pela internet. Se comparada a outras linguagens usadas na internet, como ASP, por exemplo, Java possui maior segurana, com diversas classes que tratam de chaves p- blicas e privadas para a gerao de dados criptografados.

Depois de digitado, esse programa deve passar por um processo de anlise do cdigo, a m de que seja vericada a existncia de erros de sintaxe. Esse processo chamado de compilao e realizado por meio de um compi- lador Java, normalmente o compilador do kit de desenvolvimento da Sun. Todo programa Java deve ser compilado, assim como ocorre com linguagens de programao como Pascal, C, entre outras.

Com o compilador realizada a traduo do programa escrito em Java para uma linguagem intermediria chamada Java bytecodes, um cdigo indepen- dente de plataforma que decifrado por um interpretador Java; isto , para que um programa em Java seja executado, necessrio possuir outra ferra- menta chamada interpretador. O interpretador o responsvel por executar o programa escrito em Java em que cada instruo do bytecode interpre- tada, sendo executada no computador.

Conforme pode ser observado, uma classe em Java cdigo-fonte pode ser digitada em um editor de textos qualquer e deve ser salva com a extenso Java. Caso ocorram erros no processo de compilao, o programa-fonte deve ser corrigido e compilado novamente enquanto persistirem os erros. Quando no existirem mais erros de complicao, ser gerado um arquivo com extenso. Na maioria das principais ferramentas de desenvolvimento, o processo de compilao automtico, isto , ocorre durante a digitao do cdigo-fonte, ou seja, a compilao vai sendo executada automaticamente durante a digitao da mesma forma que o corretor ortogrco dos editores de texto atuais.

A maioria das plataformas formada pelo conjunto hardware e um sistema operacional, isto , um conjunto de hardware e software que atuam juntos.

Java difere da maioria das outras plataformas porque composta apenas de um software operando com outra plataforma qualquer. Normalmente, para que um mesmo programa funcione em diferentes plataformas, necessrio que ele seja compi- lado separadamente; isto , ele deve ser compilado na plataforma em que ser executado.

Uma aplicao que executada sobre uma plataforma pode no fun- cionar sobre outra, porque o arquivo foi criado para uma plataforma especca. Bytecodes So gerados pelo processo de compilao, especcos a qualquer mquina fsica, so instrues para uma mquina virtual. A denio mais usada considera-o extenso de servidores. Um programa escrito na linguagem Java compilado e gera um arquivo de bytecodes com extenso. Em outras palavras, o mesmo programa pode ser executado em qualquer sistema operacional que execute a plataforma Java.

Uma analogia relaciona- da plataforma Java pode ser visualizada na Figura 1. Mquina Virtual Java Java Virtual Machine ideal para uso na internet, em que um programa deve ser executado em diferentes mquinas pela web.

Tcnicas de Programao e-Tec Brasil 20 1. Como qualquer outra imagem, h muitas opes no mercado e diversas maneiras de de- senvolver em Java. Existe uma innidade de ferramentas que pode deixar o desenvolvedor em dvida na hora de escolher o ambiente de trabalho. No momento, as ferramentas que mais se destacam so Netbeans e Eclipse; no entanto, existem muitas outras.

A ferramenta JDK da Sun composta basicamente por um compilador ja- vac , um interpretador Java , um visualizador de applets appletviewer , bibliotecas de desenvolvimentos packages , um depurador de programas JDB e diversas documentaes javadoc. Essa ferramenta da Sun no for- nece um ambiente visual de desenvolvimento, porm trata-se do principal padro a ser seguido, visto a enorme funcionalidade que possui aliada facilidade de utilizao. Para a digitao de cdigo-fonte das classes em Java, a nica ferramenta necessria o bloco de notas do Windows; entretanto, qualquer editor de textos disponvel na mquina do leitor pode ser utilizado.

Por esse motivo, importante dedicar um tempo a esse processo, mesmo sabendo que existem muitas variaes, dependendo do sistema operacional em que a ferramenta ser instalada. Antes de desenvolver as aplicaes em Java, necessrio possuir instala- das em sua mquina todas as ferramentas de desenvolvimento.

Por isso, apresentamos a instalao das ferramentas mnimas necessrias criao de aplicaes em Java. O nome do kit de ferramentas que voc deve baixar JDK 6 update 21, ou ainda uma outra verso mais recente, caso se encontre disponvel Figura 1. Faa o download da verso correspondente ao Windows. O processo de instalao transfere todas as ferramentas e pacotes da lingua- gem para sua mquina. Ao instalar o JDK, criada uma pasta com todos os arquivos do kit de ferramentas da Sun. Dependendo da verso instalada, uma pasta de nome diferente ser criada.

Provavelmente, a Sun disponibilizar outras verses em breve como, por exemplo, jdk 1. Os nmeros 04 ou 05 ao nal do nome normalmente se referem ao update. Ao instalar o JDK, so criadas diversas pastas, como as mostradas na Figura 1.

Tcnicas de Programao e-Tec Brasil 22 Figura 1. Dependendo da verso do JDK instalada, essa pasta pode ter nomes e contedos diferentes. Voc dever se concen- trar no nome da verso que baixou. Realize as conguraes das variveis de ambiente, as quais dependem do sistema operacional em que voc est instalando o JDK. Os proce- dimentos apresentados em seguida se referem congurao para o ambiente Windows. No Windows e XP, devemos congurar as variveis pelo painel de con- trole.

Dena as variveis seguindo os procedimentos: a Acesse o painel de controle. Clique na guia avanado e em seguida, no boto variveis de ambiente. Figura 1. Em variveis de usurio, clique no boto nova. As variveis de am- biente podem tambm ser denidas em variveis do sistema em vez de variveis de usurio, como sugerido.

A diferena que, quando denidas em variveis de usurios, elas funcionam somente para o seu usurio, e em variveis de sistema funcionam para todos os usurios. Tcnicas de Programao e-Tec Brasil 24 5. Surge a janela nova varivel de usurio. Faa o mesmo procedimento de incluso com as variveis path e class- path, denindo os seus nomes e incluindo os valores correspondentes Figura 1. Verique se a instalao foi realizada com sucesso. Entre em um diretrio qualquer no prompt de comando e digite javac seguido da tecla Enter.

Se aparecer uma mensagem como javac no reconhecido como um comando interno, porque o Java no foi instalado corretamente Se isso ocorrer, refaa a congurao, vericando principalmente as con- guraes das variveis de ambiente. Se ao digitar javac aparecer uma tela com instrues de help do Java, signica que a instalao e a con- gurao foram realizadas com sucesso. Faa a instalao da ltima atualizao do Java em seu computador e veri- que se funciona. Para Windows 7 abra sistema e segurana.

Observaes: Em funo de constantes atualizaes do JDK, o leitor deve atentar para o nmero da verso da ferramenta carregada no processo de download, de maneira a fazer sua correta instalao. O mesmo nome da pasta principal exatamente o mesmo nome deve ser inserido nas variveis de ambiente. O trecho em negrito no cdigo anterior ser varivel, dependendo da verso instalada. Se o rewall nativo estiver ativado, talvez seja necessrio desbloquear o Java.

Se o Java estiver bloqueado, pode ocorrer um erro referente violao de acesso por parte da mquina virtual quando ele for executado. Apesar de o exemplo ser simples, ele contm os itens fundamentais para a criao de qualquer aplicao em Java: elaborao do cdigo, compilao e execuo.

Esses itens sero seguidos durante o processo de elaborao das aplicaes. Como sugesto, utilize o bloco de notas, um editor simples e rpido que aten- de a todos os requisitos mninos para a construo de aplicaes em Java. Todo programa em Java inicia com a palavra reservada class seguida do nome da classe no caso Exemplo Como conveno denida pela Sun, todo nome de classe inicia com letra maiscula.

Digite o nome do programa class Exemplo01 mostrado na Figura 1. Um par de chaves envolve todo o cdigo da classe sempre; um programa em Java possui uma classe que envolve o cdigo. Uma classe em Java composta por mtodos considerados funes ou pro- cedures em outras linguagens de programao que podem conter outras estruturas de programa. Toda classe executvel, ou seja, toda classe que ser interpretada e executada, deve obrigatoriamente possuir o mtodo main principal , que invocado quando a classe executada.

Nesse caso, quando a classe for executada, ser invocado o mtodo main que possui duas instrues para envio de mensagens na tela system. No exatamente uma instruo e sim uma classe da linguagem especializada em sada de dados. Observaes: A linha public static void main string args aparece em todas as classes executveis nesse mesmo formato. A linha do mtodo principal possui o seguinte formato: public static void main string args[] ; praticamente todas as aplicaes tm essa li- nha e a varivel args que pode receber outro nome de acordo com o desejo do programador.

Tcnicas de Programao e-Tec Brasil 28 Resumo Nesta aula falamos sobre os conceitos iniciais de Java, como congurao e instalao. Abordamos o conceito de programao em Java como variveis de ambiente, classes, padres, etc. Atividades de aprendizagem 1. Por que a utilizao de Java em multiplataforma muito importante para programadores? Qual a principal caracterstica que distingue a plataforma Java das demais existentes? Desenvolva um programa para mostrar seu nome e idade utilizando o compilador Java.

Demonstrar declarao de dados. Vericar os conversores de tipo em Java. Os tipos de dados em Java so portteis entre todas as plataformas de computadores que suportam essa linguagem. Na maioria das linguagens, quando um dado inteiro utilizado, pode ser que para uma determinada plataforma esse nmero seja armazenado com 16 bits e em outra 32 bits.

Em Java isso no ocorre, uma vez que um tipo de dado ter sempre a mesma dimenso. Os tipos primitivos da linguagem Quadro 2. Byte: 1 byte. Short: 2 bytes. Int: 4 bytes. Long: 8 bytes. Double: 8 bytes. Quadro 2.

Todo identicador possui um nome, um tipo e contedo. Os identicadores no podem utilizar palavras reservadas do Java. A linguagem Java exige que os identicadores tenham um tipo de dado de- nido antes de serem utilizados no programa, ou seja, eles devem ser obriga- toriamente declarados, independentemente do ponto do programa, seja no meio, no incio ou no nal, desde que antes de sua utilizao no programa.

Essa caracterstica do identicador em Java difere da maioria das linguagens de programao. A linguagem Pascal, por exemplo, possui um local exclusi- vo para declarao de variveis. Uma varivel precisa ser declarada para poder ser utilizada. Opcionalmente, ela pode ser inicializada j no momento de sua declarao.

O cdigo da Fi- gura 2. Identicador a localizao da memria capaz de armazenar o valor de um certo tipo, para o qual se d um nome que descreve seu signicado ou propsito. Tcnicas de Programao e-Tec Brasil 32 Figura 2. Se ela for do tipo boolean, seu valor padro ser false. Quando for necessrio denir uma nova varivel com um tipo de dado di- ferente, por conveno, utiliza-se uma nova linha.

O mais comum entre os programadores Java denir um tipo de dados e declarar uma lista com um ou mais nomes de variveis desejadas desse tipo. Nessa lista os nomes so separados por vrgulas e a declarao terminada por ; ponto e vrgula. As variveis tambm podem ter sensibilidade, isto , ao declarar uma varivel com um nome por exemplo, dolar ele deve ser utilizado sempre da mesma forma. Isto , no pode ser usado como Dlar, DOLAR, dlar ou qualquer outra variao, apenas com todas as letras minsculas, como realizado em sua declarao.

Os nomes das variveis devem comear com letra, caractere de sublinhado ou cifro. No permitido iniciar o nome da varivel com nmero. Por con- veno, a linguagem Java utiliza o seguinte padro: possvel criar mais de uma varivel do mesmo tipo na mesma linha, separando-as por uma vrgula.

Exemplo: int x, y, z; e-Tec Brasil Aula 2 Aspectos fundamentais sobre Java 33 quando o nome da varivel for composto apenas por um caractere ou palavra, os caracteres devem ser minsculos; quando o nome da varivel tiver mais de uma palavra, a primeira letra da segunda palavra em diante deve ser maiscula.

Todos os outros caracte- res devem ser minsculos. Exemplos: a, a1, real, nome, valorVenda, codigoFornecedor. Outro ponto a ser observado se refere utilizao do ponto e vrgula ; no nal da maioria das linhas de cdigo. Trata-se de um tipo de varivel que no pode alterar seu contedo depois de ter sido inicializado, ou seja, o contedo permanece o mesmo durante toda execuo do programa.

Em Java, essa varivel chamada - nal. Essas constantes so usadas para armazenar valores xos, geralmente, denidos no incio de uma classe. Por conveno os nomes de constantes devem ser escritos em letras maisculas. No obrigatrio iniciali- zar o contedo de uma varivel nal no momento de sua declarao 2.

Essas linhas no afetam o programa em si, pois no so consideradas parte do cdigo. O Java aceita trs tipos de comentrio: de linha, de mltiplas linhas e de documentao. O terceiro tipo semelhante ao comentrio de mltiplas linhas; entretanto, tem o propsito de possibilitar a documentao do programa por meio de um utilitrio javadoc fornecido pela Sun junto com o SDK. Verique o Exemplo21 Figura 2. Os coment- rios no aparecem na execuo do programa.

Figura 2. Alm dos operadores matemti- cos, existem tambm operadores lgicos e relacionais. Entretanto sua utilizao extremamente simples: o ope- rador de incremento aumenta o valor de uma varivel qualquer em um. O mesmo vale para o operador de decremento, logicamente, reduzindo em um o valor da varivel. O Quadro 2. Tcnicas de Programao e-Tec Brasil 36 Quadro 2. Os operadores lgicos usados em Java so mostrados no Quadro 2.

String args[] um vetor de strings formado por todos os argumentos passados ao programa na linha de comando do sistema ope- racional quando o programa invocado. Para utiliz-los, basta acessar cada posio do vetor, como no Exemplo mostrado na Figura 2. Como exemplo, vamos considerar a linha de comando a seguir: java Exemplo Maria Fernanda O resultado de sua execuo est mostrado na Figura 2. Em Java existem basicamente dois tipos de converso de dados: a converso implcita na qual os dados so convertidos automatica- mente, sem a preocupao do programador.

Ela ocorre, por exemplo, quando convertemos um nmero inteiro para um nmero real. Nesse caso, a converso implcita porque bvio para o compilador que um nmero inteiro pode ser representado tambm como um nmero real. No caso de um nmero real para um inteiro, por exemplo, pode haver perda na preciso do nmero. Seguindo o sentido das echas da Figura 2. Seguindo o sentido contrrio, vemos os tipos que precisam ser convertidos explicitamente: short byte int char long oat double Figura 2.

No Linux, temos vrios consoles, que so as telas em modo texto. Para en- viarmos informaes para o usurio pela sada padro, utilizamos o mtodo System. As aplicaes de console utilizam como padro a stream de dados out, dis- ponvel estaticamente na classe java. Uma stream pode ser entendida como um duto capaz de transportar dados de um lugar um arquivo ou dispositivo para outro.

O conceito de stream extremamente importante, pois utilizado tanto para manipulao de dados existentes em arquivos quanto para comunicao em rede e outros dispositivos. A stream de sada padro aberta automaticamente pela Mquina Virtu- al Java, ao iniciarmos uma aplicao Java, e permanece pronta para enviar dados. A sada padro est tipicamente associada ao dispositivo de sada display , ou seja, a janela de console utilizada pela aplicao conforme de- signado pelo sistema operacional. Tcnicas de Programao e-Tec Brasil 40 Como zemos em vrios exemplos e exerccios anteriores, podemos enviar dados para a sada padro utilizando o mtodo System.

Da mesma forma que toda aplicao de console possui uma stream associa- da para ser utilizada como sada padro, existe outra stream denominada entrada padro, usualmente associada ao teclado do sistema. Essa stream, chamada in, est disponvel estaticamente na classe java.

System e pertence classe java. InputStream, que tambm aberta, automati- camente, quando a aplicao iniciada pela mquina virtual Java permane- cendo pronta para fornecer os dados digitados. Os mtodos disponveis para a entrada de dados na classe java. System so bastante precrios. Os trs principais mtodos so: a read : l um byte; b read byte[] : preenche o array de bytes fornecido como argumento; c skip long : descarta a quantidade de bytes especicada como argumento.

A leitura de bytes equivale entrada de caracteres simples, o que pouco confortvel quando estamos trabalhando com valores numricos inteiros ou reais , strings ou outra informao diferente de caracteres, pois exige que cada caractere fornecido pelo usurio seja testado e concatenado com os demais para a formao de um determinado valor. Para contornar essa situao, alguns materiais sugerem a criao de uma classe, que chamaremos aqui de Entrada, que contm trs mtodos para leitura de valores digitados pelo usurio: a readDouble : l um valor double da entrada padro; b readInteger : l um valor inteiro da entrada padro; c readString l uma string da entrada padro.

No cdigo da Figura 2. Entenda o pacote como um grupo de classes do mesmo tipo armazenadas em uma pasta qualquer. O asterisco presente em import java. Tambm abordamos o conceito de tipos de variveis to importante na programao em Java. Citamos tambm como funciona a entrada de dados em Java.

Crie um programa para apresentar mensagens, uma de boas-vindas, ou- tra dizendo seu nome e mais uma informando sua idade. Crie um programa que contenha duas variveis de cada um dos tipos pri- mitivos do Java. Coloque valores diferentes em cada uma delas e depois as imprima. Altere trs vezes o valor de uma das variveis do programa anterior. Im- prima a varivel a cada nova atribuio. Crie trs variveis do tipo int que contenham os valores 12, 13 e Converta cada uma para um oat e imprima o valor convertido.

Qual o resultado impresso na tela? Tcnicas de Programao e-Tec Brasil 42 5. Agora, crie trs variveis do tipo oat que contenham os valores Converta cada uma para int e imprima o valor convertido. Tente imprimir a soma de uma varivel inteira com uma do tipo oat. O que acontece? Crie variveis que contenham o primeiro termo e a razo de uma Pro- gresso Aritmtica, alm de um inteiro n qualquer que indique o nme- ro de termos dessa P.

Utilizando os valores criados, calcule o n-simo termo da progresso e a soma de seus n primeiros elementos. Agora, crie variveis que contenham o primeiro termo e a razo de uma Progresso Geomtrica, e um inteiro n qualquer que indique o nmero de termos dessa P.

Calcule o n-simo termo da progresso e a soma de seus n primeiros elementos. Crie valores para a largura, o comprimento e a altura de uma embalagem e calcule seu volume. Crie uma varivel inteira que contenha um nmero de segundos e impri- ma o nmero equivalente de horas, minutos e segundos.

Crie variveis para a base e a altura de um retngulo e calcule sua rea, permetro e diagonal. Crie as variveis reais a, b e c. Vericar as diferentes estruturas de repetio. Vericar aplicaes prticas. Eles podem inserir interatividade entre o programa e o usurio. Ambas tm o propsito de evitar que o programador tenha que realizar testes de vericao e avaliao antes da realizao de certas operaes, desviando, automaticamente, o uxo de execuo para rotinas de tratamento de erro.

Utilizando essas diretivas detalhadas nas prximas sees delimita-se um tre- cho de cdigo que ser monitorado, automaticamente, pelo sistema. Como os argumentos so passados em um vetor de strings, precisamos transformar a string que contm o nmero para um inteiro. Se a converso gerar um erro, signica que o argumento no um nmero inteiro vlido.

A exceo usada, nesse caso, o java. Outro erro de que podemos tratar o caso de no ser fornecido o argumento des- se mesmo programa, utilizando a exceo ArrayIndexOutOfBoundsException.

Nesse caso, ocorrer um erro ao tentarmos acessar o ndice 0 do vetor que est vazio. Tcnicas de Programao e-Tec Brasil 48 3. Um mesmo try pode ser usado com as diretivas catch e nally. A ideia a mesma que a do WHILE, mas existe um espao prprio para inicializar e modicar a varivel de controle do lao, deixando-o mais legvel. Porm, o cdigo do FOR indica claramente que a varivel i serve, em especial, para controlar a quan- tidade de laos executados. Use cada um quando achar mais conveniente.

O for tambm muito til para percorrermos um array. Para isso, basta usarmos o atributo length, que retorna o tamanho do array. Resumo Nesta aula falamos sobre os conhecimentos necessrios para a utilizao cor- reta das estruturas condicionais.

Tambm abordamos as diferentes estruturas de repetio em Java. Citamos tambm como funcionam as excees em Java. Imprima o fatorial dos nmeros de 1 a Crie um for que comece im- primindo o fatorial de 1, e a cada passo utilize o ltimo resultado para o clculo do fatorial seguinte. Imprima os 30 primeiros elementos da srie de Fibonacci. A srie a se- guinte: 1, 1, 2, 3, 5, 8, 13, 21 etc.

Para calcul-la, o primeiro e segundo elementos valem 1, da por diante, cada elemento vale a soma dos dois elementos anteriores ex. Imprima a soma de todos os nmeros de 1 a 1. Imprima todos os mltiplos de 3, entre 1 e Calcule a soma dos 70 primeiros elementos de uma Progresso Aritmti- ca na qual o primeiro termo vale 7 e a razo vale Calcule a soma dos 10 primeiros elementos de uma Progresso Geom- trica na qual o primeiro termo vale 3 e a razo vale 2.

Crie um nmero inteiro n e imprima um quadrado feito por n asteriscos de cada lado. Imprima o fatorial de um nmero inteiro qualquer. Crie um nmero inteiro qualquer e calcule a soma dos algarismos desse nmero. Crie um nmero inteiro e verique se ele primo. Crie um nmero inteiro e imprima todos os seus divisores.

Execute a operao indicada pelo caractere com as duas variveis inteiras. Crie uma varivel com o nmero de um ms e imprima o nome do ms. Crie trs variveis inteiras e um trecho de cdigo que descubra a maior entre elas. Imprima as trs variveis em ordem crescente. Verique se as mesmas trs variveis podem ser lados de um tringulo ou seja, nenhu- ma pode ser maior que a soma das outras duas. Crie uma varivel contendo a idade de uma pessoa e verique sua classe eleitoral: at 16 anos no pode votar ; entre 16 e 18 anos ou mais que 65 facultativo ; entre 18 e 65 anos obrigatrio.

Crie variveis contendo as notas de trs provas feitas por um aluno. Cal- cule a mdia parcial do aluno mdia aritmtica simples e verique se ele passou direto. Se no, calcule sua mdia nal peso 4 para a mdia parcial e peso 6 para uma outra varivel contendo a nota de sua prova nal e verique se ele cou reprovado. Demonstrar os principais mtodos para manipulao de strings em Java. Mostrar as tcnicas de localizao de caracteres em strings.

Para realizar esses clculos, so utilizados os mtodos que devem apresentar a seguinte sintaxe: Math. No necessrio importar a classe Math em um programa para poder utilizar seus recursos, pois ela j faz parte do pacote java.

A classe Math dene duas constantes matemticas, sendo Math. A seguir, so apresentados os mtodos mais comuns da classe Math. Sua sintaxe a seguinte: Math. No Exemplo da Figura 4. As variveis entre parnteses compem o argumento do tipo double do mtodo ceil. Este mtodo retorna um resultado arredondado, mantendo o tipo do dado, isto , a varivel retornada tambm ser do tipo double, porm mostrando ape- e-Tec Brasil Aula 4 Funes matemticas e de string 53 nas a parte inteira do nmero vericado.

O tipo double o nico que pode ser utilizado, uma vez que o mtodo ceil no aceita o tipo oat. A Figura 4. Figura 4. Mtodo oor Assim como ceil, o mtodo oor tambm utilizado para arredondar um determinado nmero, mas para o seu inteiro anterior. Sua sintaxe idntica do mtodo ceil: Math. As Figuras 4. A sua sintaxe a seguinte: Math. Observe que o clculo do maior nmero pode ocorrer entre dois nmeros do mesmo tipo de dados ou no.

Pode-se obter o maior entre dois nmeros do tipo double, entre dois nme- ros do tipo int ou entre um do tipo double e outro do tipo int. Do mesmo modo que o mtodo max, esses nmeros tambm podem ser do tipo double, o- at, int ou long. A sua sintaxe a mesma do mtodo max, mudando apenas para Math. O nmero do qual se deseja extrair a raiz quadrada deve ser do tipo double e o resultado obtido tambm ser um nmero do tipodouble. Veja sua sintaxe: Math.

A potenciao de um nmero pode ser calculada pelo mtodo pow. Os nmeros a serem usados no clculo, isto , os valores da base e da potn- cia, devem ser do tipo double. O Exemplo demonstra o uso do mtodo pow conforme mostrado nas Figuras 4.

Toda vez que o mtodo random chamado, ser sorteado um valor do tipo double entre 0 e 1 o valor 1 nunca sorteado. Nem sempre essa faixa de valores suciente numa aplicao real. Por exemplo, para simular o sorteio de nmeros entre 0 e 99 para um jogo de loteria qualquer, torna-se necessrio o sorteio de nmeros inteiros aleatrios no intervalo de 0 a Com isso torna-se possvel denir o intervalo em que o nmero ser sorteado.

O conversor int tambm pode ser usado para truncar a parte do ponto utuante a parte de- pois do ponto decimal para que um nmero inteiro seja gerado, da seguinte forma: int math. Com isso seriam gerados nmeros inteiros entre 0 e 99, atendendo plena- mente necessidade exposta.

O Exemplo demonstra o uso do mtodo random para simular a ge- rao de cinco cartes de loteria com seis nmeros cada Figura 4. O segundo loop for linha 7 o responsvel pela contagem de um a seis os seis nmeros de cada carto. Os nmeros so mos- trados um ao lado do outro e a cada carto pulada uma linha em branco linha Tcnicas de Programao e-Tec Brasil 58 4. Isso nem sempre necessrio e esteticamente correto, pois apresentar um resultado com mui- tas casas decimais no muito agradvel e legvel maioria dos usurios.

Ao realizar a diviso de x por y, aparece na tela o resultado 0, Esse resultado no o mais adequado para se apresentar na tela. Seria mais conveniente mostrar o resultado formatado com duas ou trs casas decimais. Para realizar a formatao, necessrio denir um modelo conhecido pelo nome de pattern. Considere pattern como o estilo de formatao que ser apresentado sobre um valor numrico. Em outras palavras, voc ter de informar ao compilador qual estilo de for- matao deve ser usado para apresentar um nmero.

Para denir o pattern, so usados caracteres especiais. O Quadro 4. Quadro 4. Imprime o dgito normalmente, desprezando os zeros esquerda do nmero. Separador decimal ou separador decimal monetrio depende do sistema usado. Para realizar a formatao de nmeros, vamos usar a classe DecimalFormat.

Para realizar a formatao de nmeros, vamos usar a classe DecimalFormat conforme ilustrado no Exemplo nas Figuras 4. Linha 6: declara um objeto df de classe DecimalFormat que ser usado para realizar a formatao dos nmeros pelo mtodo format df. Essa linha poderia conter a denio do pattern no mo- mento da inicializao do objeto df.

Linha 8: contm a denio do pattern pelo mtodo applypattern df. Essa instruo dene que todos os nmeros impressos a partir do objeto df sero formatados com trs dgitos, mesmo que eles possuam menos que isso, conforme exemplicado no Quadro 4.

As linhas 12,16, 20, 24 e 28 redenem o pattern, Tcnicas de Programao e-Tec Brasil 60 aplicando novas formataes ao objeto df, isto , aos nmeros que sero impressos pelo mtodo format. Linha apresenta uma maneira de formatar um nmero a partir de um formato string. Observe que a varivel valorEmReais armazena um contedo do tipo string, que no pode ser manipulado direta- mente pela classe DecimalFormat.

Para que isso seja possvel, o va- lor string convertido no tipo double pelo mtodo parseDouble da classe double Double. O resultado da execuo do programa Exemplo aparece na Figura 4.

Em Java, as strings so instncias da classe String, isto , geram objetos que possuem propriedades e mtodos, diferentemente dos tipos primitivos com int, oat, double, etc. Essas strings podem ser manipuladas de vrias formas. Por exemplo, pos- svel vericar seu comprimento, retirar um pedao dela, acessar ou mudar caracteres individuais.

As strings constituem uma cadeia de caracteres entre aspas. Esse mtodo retorna sempre um valor do tipo int. Na prtica, o mtodo length muito utilizado quando necessrio ler uma varivel string do comeo at o nal, tanto para a busca de caracteres ou palavras quanto para a criao de banners, algo extremamente usado na internet. Cabe uma ob- servao: conforme citado anteriormente, na realidade frase no uma varivel e sim um objeto, pois uma varivel no pode conter mtodos atrelados a ela; somente os objetos que possuem mtodos para manipulao de suas informa- es.

A linha 7 contm a utilizao de length por meio de frase. Em vez de usar frase. O resultado seria o mesmo. Esse ndice refere-se posio do caractere na string, sendo 0 zero o ndice do primeiro caractere, 1 um o do segundo e assim por diante.

O mtodo charAt til quando for necessrio vericar a existncia de um caractere na string. Por exemplo: suponha que uma determinada string s possa conter nme- ros a funo charAt pode ser usada para vericar a existncia de dgitos numricos nessa string.

As linhas 9 a 12 so responsveis por apresentar o trecho equivalente aos ndices de nmero 11 a 14, cujos caracteres correspondem palavra Java armazenada na varivel frase. O mtodo toUpperCase transforma todos os caracteres de uma string em maisculos. O mtodo toLowerCase transforma todos os caracteres de uma string em minsculos. O Exemplo demonstra o uso dos mtodos toUpperCase e toLower- Case e dispensa mais detalhes, dada a simplicidade dessas duas funes. A e-Tec Brasil Aula 4 Funes matemticas e de string 63 nica observao se refere ao fato de que esses mtodos no alteram o valor original da string.

Mesmo aplicando os mtodos das linhas 6 e 7, o contedo das variveis palavra1 e palavra2 permanece o mesmo, isto , a transfor- mao ocorre apenas com ns de impresso em tela. O primeiro argumento especica o ndice a partir do qual se inicia a cpia dos caracteres da mesma forma que charAt, o ndice inicia-se em 0. O segundo argumento opcional e especica o ndice nal, em que termina a cpia dos caracteres; entretanto, o ndice nal deve especicar um ndice alm do ltimo caractere.

Vamos apresentar alguns exemplos: 1. Observe que o resultado deste exemplo igual ao do exemplo 1. Se os ndices especicados estiverem fora dos limites da string, gerado o erro stringlndexOutOfBoundsException.

No exemplo, se voc usar frase. O Exemplo apresenta um cdigo que usa o mtodo substring para separar as palavras de uma frase pela manipulao de seus ndices, ilustrado nas Figuras 4. So removidos apenas os espaos do incio e do m da string. No so removidos os espaos entre as palavras. Quando no utilizado o mtodo trim, os espaos permanecem na string: em contrapartida, ao usar trim, os espaos desaparecem. O mtodo frase. Isso tornaria a varivel livre dos espaos em branco.

Para seu funcionamento, necessrio informar o s caractere s que deseja substituir e por qual is caractere s ele s ser o substitudos s. Caso no haja na string nenhuma ocorrncia do caractere a ser substitudo, a string original retornada, isto , no ocorre nenhuma alterao. No Exemplo, a linha 5 declara uma string frase1 que recebe uma fra- se. A linha 6 armazena essa frase na varivel frase2, porm sem os espaos em branco, uma vez que o mtodo replace foi usado para substituir todos os espaos por vazios por.

Da mes- ma forma que trim, o mtodo replace no altera o contedo da varivel. Para fazer com que uma varivel receba o resultado de uma troca de carac- teres, faa como apresentado na linha 6.

Para melhor compreenso dos resultados observe o Exemplo nas Figu- ras 4. Esse mtodo aceita vrios tipos de argumento nmeros ou cadeia de caracteres e transforma-os em strings. Esta seo aborda apenas a con- verso de tipos numricos em strings. Uma das sintaxes possveis para o mtodo valueOf : string. Tcnicas de Programao e-Tec Brasil 68 Figura 4. Quando realizamos a busca de uma palavra em um texto, usamos algo parecido com o funcionamento de indexOf, isto , ele busca uma pa- lavra e retorna a posio onde ela se encontra.

Voc j sabe que um texto ou uma string indexado a partir do nmero zero. Caso haja sucesso na busca, retornado um nmero inteiro referente po- sio do texto o ndice onde o caractere foi encontrado, ou a posio do texto onde inicia a substring localizada.

Caso haja insucesso na busca, isto , caso o caractere ou substring no tenha sido encontrado, retornado o e-Tec Brasil Aula 4 Funes matemticas e de string 69 valor inteiro De qualquer modo, o retorno de indexOf sempre ser um nmero inteiro o valor do ndice, ou A sintaxe geral para utilizao do mtodo indexOf : string. A linha 6 declara um caractere a que ser buscado no texto. As formas de busca so as seguintes: Figura 4.

No caso, retorna o ndice 7. No caso, retorna o ndice Na realidade, a primeira ocorrncia do caractere a seria na posi- o 7; entretanto, foi solicitado que a busca iniciasse na posio Como no exis- te a palavra Java aps a posio 15, retornado o valor -1 busca sem sucesso.

Com mdia, mediano, desvio padro, mnimo e mximo do tempo de resposta das requisies. Spline Visualizer: Grfico que apresenta uma linha continua com todos os resultados de tempo de resposta em milisegundos dos testes efetuados. Bastante til para analisar impacto de performance e estabilidade. View Results in Table: Resultado individual de cada amostra, indicando seu tempo de resposta e seu obteve sucesso ou no. View Results Tree: Apresenta cada requisio e resposta retornada pelo servidor.

Excelente ferramenta para testes de caixa preta. Cada Ouvinte Listern exibe o mesmo resultado de forma diferente. Por exemplo, a ordem para visualizar o formulrio grfico de dados estatsticos do tempo de resposta, voc pode querer usar o Report Aggregate. Da mesma forma, para visualizar o relatrio estatstico dos mesmos dados. Report ou Aggregate Report. Voc pode tambm escolher a forma em que gostaria de visualizar as requisies selecionando qualquer um destes ouvintes, mas eles escrevem os mesmos dados brutos em um arquivo com extenso.

Timer um componente opcional na construo do Plano de Teste. Ele faz com que o Jmeter faa uma pausa por um determinado perodo de tempo entre dois pedidos sucessivos. Como o Jmeter, por padro, envia um pedido imediatamente aps o outro, o que pode sobrecarregar o servidor, adicionando um timer ir reduzir o risco de quebrar o desempenho do servidor. Podemos, por exemplo, estabelecer um intervalo de tempo padro entre todas as threads do plano de testes, delays aleatrios entre threads e tambm controle de frequncia de vazo.

Um timer extremamente til se voc estiver testando o software no aspecto funcional. Constant Timer: Permite que voc estabelea um intervalo em milissegundos padro entre as threads;. Assertions permitem que voc inclua afirmaes no Plano de Teste para verificar se determinada resposta est de acordo com alguma afirmao colocada no Sampler.

O Jmeter permite que voc especifique suas afirmaes utilizando Expresses regulares 3. Pular no carrossel. Anterior no carrossel. Enviado por regincr. Denunciar este documento. Fazer o download agora mesmo. Pesquisar no documento. Figura 3 Tela inicial do JMeter Os dois itens apresentados, por padro, na rvore so os principais e tem os seguintes nomes: Plano de Teste Test Plan : agrupa itens que representam a simulao de mltiplos usurios no plano de teste samplers , alm de configuradores e controladores de lgica de execuo dos testes; rea de Trabalho Workbench : utilizada para armazenamento temporrio de elementos.

Com ele conseguimos, por exemplo, configurar o mesmo servidor HTTP para uma determinada solicitao; Assertions Asseres : elementos que possibilitam adicionar pontos de afirmao para verificao se determinada resposta est de acordo com alguma afirmao colocada no elemento Sampler; Pre-processors Pr-processadores : elementos que podem produzir dados para enviar como parte de uma solicitao.

Figura 4 Principais componentes do Plano de Teste Os componentes apresentados acima devem obedecer a uma determinada hierarquia no seu plano de teste. Na tabela abaixo so especificados quais componentes podem ser adicionados em quais componentes: Componente Componente que podem ser adicionados Plano de Teste rea de Trabalho, Ouvinte, Elementos de Configurao, Asseres, Pr-processadores, Psprocessadores, Timer.

Figura 6 Grupo de Usurios Preencher os seguintes campos com os dados referentes ao teste: Nmero de usurios Virtuais threads : Quantidade de usurios simultneos Tempo de Inicializao Ramp-u Period segundos : Intervalo entre os lanamentos de requisies.

Este nmero multiplicado pela quantidade de usurios o que resulta no total de requisies que sero enviadas; Infinito Forever : Se selecionado, ignora o valor configurado no Contador de Iterao e executa as tarefas at que seja cancelado a execuo no Plano de Teste; Agendador Schedule : Permite que seja feito o agendamento do disparo do Grupo de Usurios em um determinado dia e horrio.

Figura 9 Adicionando um Ouvinte O Jmeter traz os seguintes Ouvintes Listerns por padro: Assertion Results: Quando utilizamos assertions verificaes nas respostas dos samplers , este listener apresenta se determinada amostra est de acordo com a Assertion ou no. Aggregate Report: Mostra totalizaes diversas do resultado.

Da mesma forma, para visualizar o relatrio estatstico dos mesmos dados em forma de tabela utilizando o Summary Report ou Aggregate Report. Figura 10 Adicionando Temporizador Timer A seguir lista contendo todos os Timer disponveis no Jmeter: Constant Timer: Permite que voc estabelea um intervalo em milissegundos padro entre as threads; Gaussian Random Timer: Permite intervalos aleatrios entre threads; Uniform Random Timer: Permite intervalos aleatrios entre threads; Constant Throughput Timer: Mantm a frequncia de acesso de um determinado Sampler.

Figura 11 Adicionando Assertions Assero afirmao O Jmeter permite que voc especifique suas afirmaes utilizando Expresses regulares 3. Maurycyo B Nuz. Matheus Dias. Edson Cassius Duarte Lopes.

Anderson Felix. Paulo Braga Zacarias. Helmar Luiz. Cleiton Facchiano. Rafael Dantas. Renato Marchisio. Helder Cruz. Reginaldo Pereira Do Carmo. Marcelo Alves da Cruz. Danilo Oliveira.

Lunara Santos. Mais de regincr. Philipe Enoch. Populares em Hypertext Transfer Protocol. Hudson Leonardi. Silvio Teixeira Arcanjotx. Bruno Arlles. Marcone Chamone. Anderson Kerlly. Lorena Laia. Edson Ahlert. Mafran Martins.



0コメント

  • 1000 / 1000