{"id":1061,"date":"2020-08-18T11:06:31","date_gmt":"2020-08-18T14:06:31","guid":{"rendered":"https:\/\/micheladrianomedeiros.com.br\/blog\/?p=1061"},"modified":"2020-08-18T11:06:33","modified_gmt":"2020-08-18T14:06:33","slug":"comecando-com-java-9-fundamentos-10","status":"publish","type":"post","link":"https:\/\/micheladrianomedeiros.com.br\/blog\/comecando-com-java-9-fundamentos-10\/","title":{"rendered":"Come\u00e7ando com Java 9 Fundamentos #10"},"content":{"rendered":"\n<h4 class=\"wp-block-heading\"><strong>Abstra\u00e7\u00e3o Para Ocultar Complexidades<\/strong><\/h4>\n\n\n\n<p class=\"wp-block-paragraph\">Suponhamos que voc\u00ea quer escrever um programa que ir\u00e1 computar a soma entre todos os n\u00fameros entre 10 e 20.<\/p>\n\n\n\n<div class=\"wp-block-urvanov-syntax-highlighter-code-block\"><pre class=\"lang:java decode:true \" >int soma = 0;\nint contador = 10;\nwhile (contador &lt;= 20) {\n    soma = soma + contador;\n    contador = contador + 1;\n}\nSystem.out.println(soma);\n<\/pre><\/div>\n\n\n\n<p class=\"wp-block-paragraph\">Esse c\u00f3digo ir\u00e1 somar 10 + 11 + 12 + &#8230; + 20 e imprimir 165. Suponhamos que voc\u00ea quer computar a soma de todos os inteiros entre 40 e 60.<\/p>\n\n\n\n<div class=\"wp-block-urvanov-syntax-highlighter-code-block\"><pre class=\"lang:java decode:true \" >int soma = 0;\nint contador = 40;\nwhile (contador &lt;= 60) {\n    soma = soma + contador;\n    contador =  contador + 1;\n}\nSystem.out.println(soma);\n<\/pre><\/div>\n\n\n\n<p class=\"wp-block-paragraph\">A soma de todos os inteiros entre 40 e 60 ir\u00e1 imprimir 1050. Veja que h\u00e1 similaridades e diferen\u00e7as entre os dois c\u00f3digos. A l\u00f3gica \u00e9 a mesma em ambas.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Contudo, o intervalo entre os n\u00fameros \u00e9 diferente. Isso significa que a l\u00f3gica \u00e9 a mesma, e sendo assim, voc\u00ea pode evitar escrever o c\u00f3digo duas vezes.<\/p>\n\n\n\n<div class=\"wp-block-urvanov-syntax-highlighter-code-block\"><pre class=\"lang:java decode:true \" >int soma = 0;\nint contador = menorNumero;\nwhile (contador &lt;= maiorNumero) {\n    soma = soma + contador;\n    contador = contador + 1;\n}\nSystem.out.println(soma);\n<\/pre><\/div>\n\n\n\n<p class=\"wp-block-paragraph\">Agora os valores de menorNumero e maiorNumero n\u00e3o s\u00e3o conhecidos, isso significa que voc\u00ea fez a abstra\u00e7\u00e3o do processo. Para utilizar essa nova forma esses n\u00fameros devem vir de algum lugar, geralmente fazemos um m\u00e9todo para receb\u00ea-los.<\/p>\n\n\n\n<div class=\"wp-block-urvanov-syntax-highlighter-code-block\"><pre class=\"lang:java decode:true \" >int somaDoIntervaloEntreOsDoisNumeros (int menorNumero, int maiorNumero) {\n    int soma = 0;\n    int contador = menorNumero;\n    while (contador &lt;= maiorNumero) {\n        soma = soma + contador;\n        contador = contador + 1;\n    }\n    retorno soma;\n}\n<\/pre><\/div>\n\n\n\n<p class=\"wp-block-paragraph\">O nome do m\u00e9todo \u00e9 somaDoIntervaloEntreOsDoisNumeros. O m\u00e9todo tem um tipo de retorno que est\u00e1 sinalizado antes do nome do m\u00e9todo, ele \u00e9 o resultado da computa\u00e7\u00e3o. O m\u00e9todo recebe dois par\u00e2metros que est\u00e3o identificados com o tipo.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Para chamar um m\u00e9todo passando os n\u00fameros 10 e 20, fica dessa maneira:<\/p>\n\n\n\n<div class=\"wp-block-urvanov-syntax-highlighter-code-block\"><pre class=\"lang:java decode:true \" >int s1 = somaDoIntervaloEntreOsDoisNumeros(10, 20);\nSystem.out.println(s1); \/\/ sa\u00edda ser\u00e1 165\n<\/pre><\/div>\n\n\n\n<p class=\"wp-block-paragraph\">A chamada do outro m\u00e9todo fica dessa maneira:<\/p>\n\n\n\n<div class=\"wp-block-urvanov-syntax-highlighter-code-block\"><pre class=\"lang:java decode:true \" >int s2 = somaDoIntervaloEntreOsDoisNumeros(40, 60);\nSystem.out.println(s2); \/\/ sa\u00edda ser\u00e1 1050\n<\/pre><\/div>\n\n\n\n<p class=\"wp-block-paragraph\">Dessa maneira fizemos o que \u00e9 chamado de abstra\u00e7\u00e3o da parametriza\u00e7\u00e3o, porque n\u00e3o sabemos os n\u00fameros que ser\u00e3o passados nos par\u00e2metros.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">No mundo da programa\u00e7\u00e3o \u00e9 comum voc\u00ea precisar utilizar m\u00e9todos que voc\u00ea n\u00e3o criou ou outras pessoas utilizar m\u00e9todos que voc\u00ea criou.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Sendo assim, voc\u00ea precisa documentar o que o m\u00e9todo faz para que outros programadores saibam como utilizar. No Java tem uma marca\u00e7\u00e3o para criar a documenta\u00e7\u00e3o que produz o Javadoc.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Voc\u00ea deve escrever a documenta\u00e7\u00e3o do m\u00e9todo entre as marca\u00e7\u00f5es <strong>\/** <\/strong>escreve a documenta\u00e7\u00e3o<strong> *\/. <\/strong>O Javadoc gera uma documenta\u00e7\u00e3o no formato html que \u00e9 parecido com a documenta\u00e7\u00e3o Java.<\/p>\n\n\n\n<div class=\"wp-block-urvanov-syntax-highlighter-code-block\"><pre class=\"lang:java decode:true \" >\/**\nComputa e retorna a soma de todos os inteiros entre dois n\u00fameros      inteiros que s\u00e3o especificados pelos par\u00e2metros: menorNumero e maiorNumero.\nO par\u00e2metro menorNumero deve ser menor ou igual ao par\u00e2metro maiorNumero. Se a soma dos inteiros entre menorNumero e maiorNumero ultrapassar o limite do tipo int, o resultado n\u00e3o ser\u00e1 definido.\n@param menorNumero \u00e9 o in\u00edcio da contagem\n@param maiorNumero \u00e9 o fim da contagem\n@return \u00e9 a soma de todos os inteiros entre o menorNumero (inclusivo) e o maiorNumero (inclusivo)\n*\/\npublic static int somaDoIntervaloEntreOsDoisNumeros(int menorNumero, int maiorNumero) {\n    int soma = 0;\n    int Contador = menorNumero;\n    while (contador &lt;= maiorNumero) {\n        soma = soma + contador;\n        contador = contador + 1;\n    }\n    return soma;\n}\n<\/pre><\/div>\n\n\n\n<p class=\"wp-block-paragraph\">Fonte:&nbsp;<strong>Beginning Java 9 Fundamentals: Arrays, Objects, Modules, JShell, and Regular Expressions (English Edition)<\/strong><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Abstra\u00e7\u00e3o Para Ocultar Complexidades Suponhamos que voc\u00ea quer escrever um programa que ir\u00e1 computar a soma entre todos os n\u00fameros entre 10 e 20. Esse c\u00f3digo ir\u00e1 somar 10 + 11 + 12 + &#8230; + 20 e imprimir 165. Suponhamos que voc\u00ea quer computar a soma de todos os inteiros entre 40 e 60. [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":1062,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"class_list":["post-1061","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-java"],"_links":{"self":[{"href":"https:\/\/micheladrianomedeiros.com.br\/blog\/wp-json\/wp\/v2\/posts\/1061","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/micheladrianomedeiros.com.br\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/micheladrianomedeiros.com.br\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/micheladrianomedeiros.com.br\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/micheladrianomedeiros.com.br\/blog\/wp-json\/wp\/v2\/comments?post=1061"}],"version-history":[{"count":1,"href":"https:\/\/micheladrianomedeiros.com.br\/blog\/wp-json\/wp\/v2\/posts\/1061\/revisions"}],"predecessor-version":[{"id":1063,"href":"https:\/\/micheladrianomedeiros.com.br\/blog\/wp-json\/wp\/v2\/posts\/1061\/revisions\/1063"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/micheladrianomedeiros.com.br\/blog\/wp-json\/wp\/v2\/media\/1062"}],"wp:attachment":[{"href":"https:\/\/micheladrianomedeiros.com.br\/blog\/wp-json\/wp\/v2\/media?parent=1061"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/micheladrianomedeiros.com.br\/blog\/wp-json\/wp\/v2\/categories?post=1061"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/micheladrianomedeiros.com.br\/blog\/wp-json\/wp\/v2\/tags?post=1061"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}