<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Antonio Serra</title>
    <description>The latest articles on DEV Community by Antonio Serra (@antoniorws).</description>
    <link>https://dev.to/antoniorws</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F935954%2F8170c27e-c731-4717-90fb-05ca1dc76c57.jpeg</url>
      <title>DEV Community: Antonio Serra</title>
      <link>https://dev.to/antoniorws</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/antoniorws"/>
    <language>en</language>
    <item>
      <title>Lista em Java Sem Valores Repetidos</title>
      <dc:creator>Antonio Serra</dc:creator>
      <pubDate>Fri, 20 Oct 2023 15:07:26 +0000</pubDate>
      <link>https://dev.to/antoniorws/lista-em-java-sem-valores-repetidos-4n42</link>
      <guid>https://dev.to/antoniorws/lista-em-java-sem-valores-repetidos-4n42</guid>
      <description>&lt;h2&gt;
  
  
  Listas com objetos não repetidos
&lt;/h2&gt;

&lt;p&gt;Você não precisa fazer um ArrayList e verificar se o valor já existe na sua lista, há uma forma mais simples.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Vamos usar a interface Set e implementar com o HashSet.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fdfuksizdj1x1htuw1ots.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fdfuksizdj1x1htuw1ots.png" alt="Image HashSet"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Agora vamos adicionar valores&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fs1uxunf177d708yf2v9g.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fs1uxunf177d708yf2v9g.png" alt="Image HashSet Add"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Repare que tentamos inserir o valor "Lucas" duas vezes.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Agora vamos imprimir os valores no nosso console&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Vou apresentar a vocês duas maneiras de fazer isso:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Iterator&lt;/strong&gt;&lt;br&gt;
A forma mais comum é declarar um Iterator e usar o .next() para receber os próximos valores dentro do (while).&lt;br&gt;
&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fwbno5wauitas2ogzhocm.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fwbno5wauitas2ogzhocm.png" alt="Image Iterator"&gt;&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Lambda&lt;/strong&gt;&lt;br&gt;
A forma mais fácil (na minha opnião) é usar o forEach com expressão lambda&lt;br&gt;
&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ff9hzgzlgq4vewdrys6jq.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ff9hzgzlgq4vewdrys6jq.png" alt="Image lambda"&gt;&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Saída
&lt;/h3&gt;

&lt;p&gt;Note que o nome Lucas só irá aparecer uma vez.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fqbbje1vuzd1u9ul4yjq6.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fqbbje1vuzd1u9ul4yjq6.png" alt="Image saida"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Código Fonte disponível aqui: &lt;a href="https://github.com/antoniorws/basic-java-trail" rel="noopener noreferrer"&gt;https://github.com/antoniorws/basic-java-trail&lt;/a&gt;&lt;/p&gt;

</description>
      <category>java</category>
      <category>beginners</category>
      <category>braziliandevs</category>
      <category>hashset</category>
    </item>
    <item>
      <title>Do Tédio até 5K Downloads: Minha Jornada na Programação para Dispositivos Móveis</title>
      <dc:creator>Antonio Serra</dc:creator>
      <pubDate>Mon, 09 Oct 2023 08:50:42 +0000</pubDate>
      <link>https://dev.to/antoniorws/do-tedio-ate-5000-downloads-minha-jornada-na-programacao-para-dispositivos-moveis-16hb</link>
      <guid>https://dev.to/antoniorws/do-tedio-ate-5000-downloads-minha-jornada-na-programacao-para-dispositivos-moveis-16hb</guid>
      <description>&lt;h2&gt;
  
  
  Começo
&lt;/h2&gt;

&lt;p&gt;Durante a pandemia, me vi entediado e preso em casa. Para passar o tempo, decidi me aventurar na programação para dispositivos móveis. Com o feriado de São João se aproximando, pensei em criar um aplicativo para Android com foco em uma imagem de fogueira.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fzwe3tafz4heiiq3o8cnq.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fzwe3tafz4heiiq3o8cnq.jpg" alt="Image firepit" width="390" height="685"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Apesar de ter pouca experiência em programação para dispositivos móveis, decidi seguir em frente e lançar o aplicativo na Play Store. Para minha surpresa, ele rapidamente se tornou popular, com mais de 5.000 downloads em um curto período de tempo.&lt;/p&gt;

&lt;p&gt;Se você estiver interessado, pode baixar o aplicativo em seu dispositivo Android usando este link: &lt;a href="https://play.google.com/store/apps/details?id=com.melhoresapps.fogueira" rel="noopener noreferrer"&gt;https://play.google.com/store/apps/details?id=com.melhoresapps.fogueira&lt;/a&gt; (&lt;em&gt;Infelizmente, não consegui lançá-lo na App Store.&lt;/em&gt;).&lt;/p&gt;

&lt;h2&gt;
  
  
  Até Agora
&lt;/h2&gt;

&lt;p&gt;Gosto de verificar a seção de comentários de vez em quando, já que alguns deles realmente me fazem rir. Este aplicativo era apenas um teste para verificar se despertaria interesse na Play Store!&lt;br&gt;
Não vou mudar o código. :D&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fq1lv4h2liklkxebb7rvf.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fq1lv4h2liklkxebb7rvf.png" alt="Image rates&amp;lt;br&amp;gt;
" width="800" height="392"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Se você estiver curioso sobre o código por trás do aplicativo, pode encontrá-lo no GitHub: &lt;a href="https://github.com/antoniorws/saojoao-firepit-kotlin-app" rel="noopener noreferrer"&gt;https://github.com/antoniorws/saojoao-firepit-kotlin-app&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Linkedin: &lt;a href="https://www.linkedin.com/in/antonio-rodrigo-wanderley-serra/" rel="noopener noreferrer"&gt;https://www.linkedin.com/in/antonio-rodrigo-wanderley-serra/&lt;/a&gt;&lt;br&gt;
GitHub: &lt;a href="https://github.com/antoniorws" rel="noopener noreferrer"&gt;https://github.com/antoniorws&lt;/a&gt;&lt;/p&gt;

</description>
      <category>playstore</category>
      <category>braziliandevs</category>
      <category>mobile</category>
      <category>kotlin</category>
    </item>
    <item>
      <title>Como fazer um robô para publicar mensagens no seu grupo do teams 🚀</title>
      <dc:creator>Antonio Serra</dc:creator>
      <pubDate>Sat, 07 Oct 2023 14:57:49 +0000</pubDate>
      <link>https://dev.to/antoniorws/como-fazer-um-robo-para-publicar-mensagens-no-seu-grupo-do-teams-1nd6</link>
      <guid>https://dev.to/antoniorws/como-fazer-um-robo-para-publicar-mensagens-no-seu-grupo-do-teams-1nd6</guid>
      <description>&lt;p&gt;Muito simples :D&lt;/p&gt;

&lt;h2&gt;
  
  
  O Que Precisamos
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
Primeiro precisamos saber em qual grupo queremos fazer o post de mensagens.&lt;/li&gt;
&lt;li&gt;
Depois vamos nas configurações do nosso grupo do teams e procurar o webhook, caso ainda não tenha, basta criar.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--0kdI1duT--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/10b84gmorr5mrpejiwqp.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--0kdI1duT--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/10b84gmorr5mrpejiwqp.png" alt="Image conf" width="349" height="373"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--6g2O9E-u--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/nd7vxrcy09t48g01x4em.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--6g2O9E-u--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/nd7vxrcy09t48g01x4em.png" alt="Image conf2" width="409" height="209"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
Com o webhook criado podemos usá-lo agora para enviar mensagem com o robô que vamos criar.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Criando o robô
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--hUuVSeK4--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/vgcnrhfdacxlnwse6lqz.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--hUuVSeK4--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/vgcnrhfdacxlnwse6lqz.png" alt="Image code description" width="800" height="827"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Agora basta dizer qual a sua mensagem em "Mensagem para o canal".&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Depois você pode também adaptar o seu código para ser um batch ou até uma API Rest com spring boot.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Link para o código no github: &lt;a href="https://github.com/antoniorws/teams-robot-java/tree/main"&gt;https://github.com/antoniorws/teams-robot-java/tree/main&lt;/a&gt;&lt;/p&gt;

</description>
      <category>java</category>
      <category>braziliandevs</category>
      <category>beginners</category>
      <category>teams</category>
    </item>
    <item>
      <title>Agora você vai entender como o java funciona</title>
      <dc:creator>Antonio Serra</dc:creator>
      <pubDate>Thu, 05 Oct 2023 21:22:57 +0000</pubDate>
      <link>https://dev.to/antoniorws/agora-voce-vai-entender-como-o-java-funciona-23pj</link>
      <guid>https://dev.to/antoniorws/agora-voce-vai-entender-como-o-java-funciona-23pj</guid>
      <description>&lt;h3&gt;
  
  
  Vou tentar explicar de forma simples como o Java funciona.
&lt;/h3&gt;

&lt;p&gt;☕️ &lt;strong&gt;Código Java&lt;/strong&gt;: O Java começa com o código fonte, que é escrito por um programador em um arquivo com extensão .java.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--3qOShBbI--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/bz6qf1hc62csedon4eqd.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--3qOShBbI--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/bz6qf1hc62csedon4eqd.png" alt="Metodos exemplo" width="800" height="434"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Não esqueça de deixar seu like&lt;/em&gt; ❤️&lt;/p&gt;




&lt;p&gt;🔄 &lt;strong&gt;Compilação&lt;/strong&gt;: Em seguida, o código Java é compilado usando o compilador Java (javac). Isso cria um arquivo chamado bytecode.&lt;/p&gt;




&lt;p&gt;📦 &lt;strong&gt;Bytecode&lt;/strong&gt;: O bytecode é uma forma intermediária de código que é independente da plataforma. Ele é armazenado em um arquivo .class.&lt;/p&gt;




&lt;p&gt;🖥️ &lt;strong&gt;Máquina Virtual Java (JVM)&lt;/strong&gt;: Agora, a JVM entra em ação. Ela é responsável por executar o bytecode em qualquer sistema operacional que tenha uma JVM instalada.&lt;/p&gt;




&lt;p&gt;🚀 &lt;strong&gt;Execução&lt;/strong&gt;: A JVM interpreta o bytecode e executa o programa Java, produzindo resultados na tela ou realizando tarefas específicas.&lt;/p&gt;




&lt;p&gt;🧹 &lt;strong&gt;Coleta de Lixo (Garbage Collection)&lt;/strong&gt;: A JVM também gerencia a memória, incluindo a coleta de objetos não utilizados para liberar recursos.&lt;/p&gt;




&lt;p&gt;📦📦 &lt;strong&gt;Bibliotecas&lt;/strong&gt;: O Java também inclui bibliotecas (conjuntos de código pré-escrito) para ajudar os desenvolvedores a realizar tarefas comuns, como entrada/saída de dados, manipulação de strings, etc.&lt;/p&gt;




&lt;p&gt;🌍 &lt;strong&gt;Plataforma Cruzada&lt;/strong&gt;: Uma das vantagens do Java é sua capacidade de ser executado em diferentes sistemas operacionais, graças à JVM.&lt;/p&gt;




&lt;p&gt;🌟 &lt;strong&gt;Resultado&lt;/strong&gt;: O programa Java fornece o resultado desejado ao usuário final!&lt;/p&gt;




&lt;p&gt;&lt;strong&gt;Resultado&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Resumindo, o Java é uma linguagem de programação que usa a JVM para tornar o código independente da plataforma, permitindo que os desenvolvedores criem programas que funcionem em várias máquinas diferentes.&lt;/p&gt;

&lt;p&gt;Repositório com a trilha de java: &lt;a href="https://github.com/antoniorws/basic-java"&gt;https://github.com/antoniorws/basic-java&lt;/a&gt;&lt;/p&gt;

</description>
      <category>beginners</category>
      <category>java</category>
      <category>braziliandevs</category>
      <category>learning</category>
    </item>
    <item>
      <title>Explorando o Multitarefa com Threads em Java</title>
      <dc:creator>Antonio Serra</dc:creator>
      <pubDate>Mon, 02 Oct 2023 13:49:35 +0000</pubDate>
      <link>https://dev.to/antoniorws/explorando-o-multitarefa-com-threads-em-java-cozinhando-cafe-e-preparando-ovos-1ilm</link>
      <guid>https://dev.to/antoniorws/explorando-o-multitarefa-com-threads-em-java-cozinhando-cafe-e-preparando-ovos-1ilm</guid>
      <description>&lt;h2&gt;
  
  
  O que são Threads em Java? 🧵
&lt;/h2&gt;

&lt;p&gt;Em Java, uma thread é como um pequeno assistente que ajuda o programa a fazer várias coisas ao mesmo tempo. Imagine que você está cozinhando em sua cozinha (seu programa) e precisa ferver água, cortar legumes e mexer o molho simultaneamente. As threads são como chefs auxiliares que realizam essas tarefas separadamente.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Exemplo de Threads em Java&lt;/strong&gt; ☕🍳&lt;/p&gt;

&lt;p&gt;Vamos criar um exemplo onde precisamos fazer duas coisas ao mesmo tempo: fazer café e preparar ovos.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--d-VCnJ-3--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/7qw4adj9qieat60utw8l.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--d-VCnJ-3--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/7qw4adj9qieat60utw8l.png" alt="Image t" width="800" height="702"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--vTGwDStb--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/hzg6wtfosuorf6umx06s.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--vTGwDStb--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/hzg6wtfosuorf6umx06s.png" alt="Image t2" width="800" height="517"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Neste exemplo, temos duas threads: uma para fazer café e outra para preparar ovos. Elas começam a trabalhar simultaneamente e, no final, temos nosso café da manhã pronto!&lt;/p&gt;

&lt;h2&gt;
  
  
  Conclusão 🎉
&lt;/h2&gt;

&lt;p&gt;As threads em Java permitem que você execute várias tarefas ao mesmo tempo, tornando seu programa mais eficiente. É como ter chefs auxiliares em sua cozinha, cada um fazendo uma tarefa diferente. Lembre-se de coordenar bem suas threads para evitar confusão na cozinha do seu programa! 😉👨‍🍳👩‍🍳&lt;/p&gt;

&lt;p&gt;Repositório com a trilha de java: &lt;a href="https://github.com/antoniorws/basic-java"&gt;https://github.com/antoniorws/basic-java&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;LinkedIn: &lt;a href="https://www.linkedin.com/in/antonio-rodrigo-wanderley-serra/"&gt;https://www.linkedin.com/in/antonio-rodrigo-wanderley-serra/&lt;/a&gt;&lt;br&gt;
GitHub: &lt;a href="https://github.com/antoniorws"&gt;https://github.com/antoniorws&lt;/a&gt;&lt;/p&gt;

</description>
      <category>java</category>
      <category>braziliandevs</category>
      <category>beginners</category>
      <category>threads</category>
    </item>
    <item>
      <title>Métodos em Java: A Magia por Trás da Programação Simplificada! ✨💻</title>
      <dc:creator>Antonio Serra</dc:creator>
      <pubDate>Sun, 01 Oct 2023 13:58:04 +0000</pubDate>
      <link>https://dev.to/antoniorws/metodos-em-java-a-magia-por-tras-da-programacao-simplificada-292f</link>
      <guid>https://dev.to/antoniorws/metodos-em-java-a-magia-por-tras-da-programacao-simplificada-292f</guid>
      <description>&lt;h2&gt;
  
  
  O que são Métodos em Java?
&lt;/h2&gt;

&lt;p&gt;Em Java, um método é como uma receita em um livro de culinária. Ele contém um conjunto de instruções que realizam uma tarefa específica. Os métodos são usados para organizar e reutilizar código em programas Java.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Exemplo de Método em Java&lt;/strong&gt;:&lt;/p&gt;

&lt;p&gt;Vamos criar um método chamado "cumprimentar" que imprime uma saudação na tela:&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Não esqueça de deixar seu like&lt;/em&gt; ❤️&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fbz6qf1hc62csedon4eqd.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fbz6qf1hc62csedon4eqd.png" alt="Metodos exemplo"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Neste exemplo&lt;/strong&gt;:&lt;/p&gt;

&lt;p&gt;public static void cumprimentar() é a declaração do nosso método. O public significa que ele pode ser acessado de qualquer lugar, o static permite chamá-lo sem criar um objeto, e void significa que ele não retorna nenhum valor.&lt;/p&gt;

&lt;p&gt;Dentro do método, usamos System.out.println() para imprimir a saudação "Olá, Mundo!".&lt;br&gt;
Como Chamar um Método?&lt;/p&gt;

&lt;p&gt;Usamos o nome do método seguido por parênteses para chamá-lo. No nosso exemplo, chamamos o método cumprimentar() dentro do método main().&lt;/p&gt;

&lt;h2&gt;
  
  
  Por que usar Métodos?
&lt;/h2&gt;

&lt;p&gt;Métodos tornam o código mais organizado e fácil de manter. Podemos reutilizar o método cumprimentar() sempre que precisarmos exibir uma saudação.&lt;/p&gt;

&lt;h2&gt;
  
  
  Conclusão
&lt;/h2&gt;

&lt;p&gt;Métodos em Java são como receitas em um livro de culinária, contendo instruções para realizar uma tarefa específica. Eles ajudam a organizar e reutilizar código, tornando a programação mais eficiente e divertida! 😄👨‍💻👩‍💻&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Agora você já está pronto para aprender sobre Atributos Privados, Públicos e Protegidos&lt;/em&gt;&lt;br&gt;
&lt;a href="https://dev.to/antoniorws/desvendando-os-segredos-dos-atributos-em-java-privados-publicos-e-protegidos-5d1p"&gt;Clique aqui para aprender&lt;/a&gt;🚀&lt;/p&gt;

&lt;p&gt;Repositório com a trilha de java: &lt;a href="https://github.com/antoniorws/basic-java" rel="noopener noreferrer"&gt;https://github.com/antoniorws/basic-java&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;LinkedIn: &lt;a href="https://www.linkedin.com/in/antonio-rodrigo-wanderley-serra/" rel="noopener noreferrer"&gt;https://www.linkedin.com/in/antonio-rodrigo-wanderley-serra/&lt;/a&gt;&lt;br&gt;
GitHub: &lt;a href="https://github.com/antoniorws" rel="noopener noreferrer"&gt;https://github.com/antoniorws&lt;/a&gt;&lt;/p&gt;

</description>
      <category>java</category>
      <category>poo</category>
      <category>beginners</category>
      <category>braziliandevs</category>
    </item>
    <item>
      <title>Os Superpoderes de 'static' e a Inquebrável Fortaleza 'final'🚀🛡️🔮</title>
      <dc:creator>Antonio Serra</dc:creator>
      <pubDate>Sat, 30 Sep 2023 12:15:36 +0000</pubDate>
      <link>https://dev.to/antoniorws/os-superpoderes-de-static-e-a-inquebravel-fortaleza-final-4jci</link>
      <guid>https://dev.to/antoniorws/os-superpoderes-de-static-e-a-inquebravel-fortaleza-final-4jci</guid>
      <description>&lt;h2&gt;
  
  
  Static em Java 🚀
&lt;/h2&gt;

&lt;p&gt;Em Java, a palavra-chave static é usada para criar membros (métodos e variáveis) que pertencem à classe em vez de pertencerem a objetos específicos dessa classe. É como ter algo que é compartilhado por todas as instâncias (objetos) da classe.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Não esqueça de deixar seu like&lt;/em&gt; ❤️&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Exemplo&lt;/strong&gt;:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fw9au29z9p568g0oteqsj.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fw9au29z9p568g0oteqsj.png" alt="Exemplo Static"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Aqui, quantidade é uma variável estática que pode ser acessada diretamente usando Contador.quantidade. O método incrementar é estático e pode ser chamado usando Contador.incrementar(), independentemente de quantos objetos Contador você criou.&lt;/p&gt;

&lt;h2&gt;
  
  
  Final em Java 🛡️
&lt;/h2&gt;

&lt;p&gt;A palavra-chave final em Java é usada para tornar algo imutável, ou seja, uma vez que você atribui um valor a uma variável ou declara um método como final, ele não pode ser alterado ou substituído.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Exemplo&lt;/strong&gt;:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fg19jjm5zynwlg0ldfmg5.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fg19jjm5zynwlg0ldfmg5.png" alt="Exemplo Final"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Neste exemplo, PI é uma constante final que não pode ser alterada após sua atribuição inicial. O método desenhar é final e não pode ser sobrescrito por subclasses de Circulo.&lt;/p&gt;

&lt;p&gt;Resumindo, static é usado para criar membros compartilhados entre objetos de uma classe, enquanto final é usado para criar constantes ou métodos imutáveis. &lt;/p&gt;

&lt;p&gt;&lt;em&gt;Agora você já está pronto para aprender sobre Atributos Privados, Públicos e Protegidos&lt;/em&gt;&lt;br&gt;
&lt;a href="https://dev.to/antoniorws/desvendando-os-segredos-dos-atributos-em-java-privados-publicos-e-protegidos-5d1p"&gt;Clique aqui para aprender&lt;/a&gt;🚀&lt;/p&gt;

&lt;p&gt;Repositório com a trilha de java: &lt;a href="https://github.com/antoniorws/basic-java" rel="noopener noreferrer"&gt;https://github.com/antoniorws/basic-java&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;LinkedIn: &lt;a href="https://www.linkedin.com/in/antonio-rodrigo-wanderley-serra/" rel="noopener noreferrer"&gt;https://www.linkedin.com/in/antonio-rodrigo-wanderley-serra/&lt;/a&gt;&lt;br&gt;
GitHub: &lt;a href="https://github.com/antoniorws" rel="noopener noreferrer"&gt;https://github.com/antoniorws&lt;/a&gt;&lt;/p&gt;

</description>
      <category>java</category>
      <category>beginners</category>
      <category>programming</category>
      <category>braziliandevs</category>
    </item>
    <item>
      <title>Domine Java: O Poder dos Atributos Privados, Públicos e Protegidos! 🔒🌐🛡️</title>
      <dc:creator>Antonio Serra</dc:creator>
      <pubDate>Thu, 28 Sep 2023 11:20:41 +0000</pubDate>
      <link>https://dev.to/antoniorws/desvendando-os-segredos-dos-atributos-em-java-privados-publicos-e-protegidos-5d1p</link>
      <guid>https://dev.to/antoniorws/desvendando-os-segredos-dos-atributos-em-java-privados-publicos-e-protegidos-5d1p</guid>
      <description>&lt;h2&gt;
  
  
  🔒  Atributos Privados:
&lt;/h2&gt;

&lt;p&gt;Os atributos privados são como segredos de uma classe. Eles só podem ser acessados dentro da própria classe.&lt;br&gt;
Usamos a palavra-chave private para declarar um atributo como privado.&lt;br&gt;
Isso é útil para esconder os detalhes internos da classe e proteger seus dados.&lt;br&gt;
&lt;strong&gt;Exemplo em Java&lt;/strong&gt;:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ft7ctt6puixu5k7zxu57l.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ft7ctt6puixu5k7zxu57l.png" alt="Exemplo privado"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Neste exemplo, nome é um atributo privado da classe Pessoa.&lt;/p&gt;

&lt;h2&gt;
  
  
  🌐 Atributos Públicos:
&lt;/h2&gt;

&lt;p&gt;Atributos públicos são como informações disponíveis para o mundo exterior.&lt;br&gt;
Qualquer classe ou código externo pode acessá-los diretamente.&lt;br&gt;
Eles são declarados usando a palavra-chave public.&lt;br&gt;
&lt;strong&gt;Exemplo em Java&lt;/strong&gt;:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F0h64fdeid96bfdwp6dmw.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F0h64fdeid96bfdwp6dmw.png" alt="Exemplo público"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Neste exemplo, modelo e ano são atributos públicos da classe Carro.&lt;/p&gt;

&lt;h2&gt;
  
  
  🛡️ Atributos Protegidos:
&lt;/h2&gt;

&lt;p&gt;Atributos protegidos estão em algum lugar entre os privados e os públicos.&lt;br&gt;
Eles podem ser acessados por classes dentro do mesmo pacote e por subclasses, mesmo que estejam em pacotes diferentes.&lt;br&gt;
Usamos a palavra-chave protected para declarar um atributo como protegido.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Não esqueça de deixar seu like&lt;/em&gt; ❤️&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Exemplo em Java&lt;/strong&gt;:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fdq5kltkfjwd419zw6jjl.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fdq5kltkfjwd419zw6jjl.png" alt="Primeiro Exemplo Protegido"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F2wcssgxruj4i3fsumn6e.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F2wcssgxruj4i3fsumn6e.png" alt="Segundo Exemplo Protegido"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Neste exemplo, nome é um atributo protegido na classe Animal e pode ser acessado na classe Cachorro, que é uma subclasse de Animal.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Resumindo&lt;/strong&gt;:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Privado (🔒): Acessível apenas dentro da classe.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Público (🌐): Acessível de qualquer lugar.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Protegido (🛡️): Acessível dentro do mesmo pacote e por subclasses.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Lembre-se de usar esses modificadores com sabedoria para controlar o acesso aos atributos e manter seu código seguro e organizado!&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;em&gt;Agora você já está pronto para aprender sobre encapsulamento&lt;/em&gt;&lt;br&gt;
&lt;a href="https://dev.to/antoniorws/o-que-e-encapsulamento-em-java-2i6k"&gt;Clique aqui para aprender&lt;/a&gt;🚀&lt;/p&gt;

&lt;p&gt;Repositório com a trilha de java: &lt;a href="https://github.com/antoniorws/basic-java" rel="noopener noreferrer"&gt;https://github.com/antoniorws/basic-java&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;LinkedIn: &lt;a href="https://www.linkedin.com/in/antonio-rodrigo-wanderley-serra/" rel="noopener noreferrer"&gt;https://www.linkedin.com/in/antonio-rodrigo-wanderley-serra/&lt;/a&gt;&lt;br&gt;
GitHub: &lt;a href="https://github.com/antoniorws" rel="noopener noreferrer"&gt;https://github.com/antoniorws&lt;/a&gt;&lt;/p&gt;

</description>
      <category>java</category>
      <category>beginners</category>
      <category>programming</category>
      <category>braziliandevs</category>
    </item>
    <item>
      <title>Desvendando o Mistério dos Generics em Java: Code com Flexibilidade Mágica! ✨🚀</title>
      <dc:creator>Antonio Serra</dc:creator>
      <pubDate>Wed, 27 Sep 2023 10:44:59 +0000</pubDate>
      <link>https://dev.to/antoniorws/desvendando-o-misterio-dos-generics-em-java-code-com-flexibilidade-magica-3hmb</link>
      <guid>https://dev.to/antoniorws/desvendando-o-misterio-dos-generics-em-java-code-com-flexibilidade-magica-3hmb</guid>
      <description>&lt;h2&gt;
  
  
  O que são "generics" em Java?
&lt;/h2&gt;

&lt;p&gt;Em Java, os "generics" são como caixas mágicas que nos ajudam a escrever código flexível e seguro. Eles nos permitem criar classes, interfaces e métodos que podem funcionar com diferentes tipos de dados, sem nos preocuparmos com erros de tipo. 🧙‍♂️&lt;/p&gt;

&lt;h2&gt;
  
  
  Por que precisamos de "generics"?
&lt;/h2&gt;

&lt;p&gt;Imagine que você tem uma lista de coisas legais, como maçãs 🍏, laranjas 🍊 e bananas 🍌. Sem "generics," você teria que criar uma classe separada para cada tipo de coisa. Com "generics," podemos usar uma única classe para armazenar todos esses tipos!&lt;/p&gt;

&lt;h2&gt;
  
  
  Exemplo com "generics" em Java:
&lt;/h2&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;// Vamos criar uma caixa mágica chamada "CaixaGenerica" que pode armazenar qualquer coisa!

public class CaixaGenerica&amp;lt;T&amp;gt; {
    private T conteudo;

    public T getConteudo() {
        return conteudo;
    }

    public void setConteudo(T novoConteudo) {
        conteudo = novoConteudo;
    }
}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Aqui, o  é o nosso "generic," que pode ser qualquer tipo de dado. Agora, podemos usá-lo assim:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;
// Vamos criar uma caixa mágica para maçãs 🍏!
CaixaGenerica&amp;lt;String&amp;gt; caixaDeMacas = new CaixaGenerica&amp;lt;&amp;gt;();
caixaDeMacas.setConteudo("Uma maçã verde");
String maca = caixaDeMacas.getConteudo();
System.out.println("Conteúdo da caixa de maçãs: " + maca);

// Agora, uma caixa mágica para bananas 🍌!
CaixaGenerica&amp;lt;Integer&amp;gt; caixaDeBananas = new CaixaGenerica&amp;lt;&amp;gt;();
caixaDeBananas.setConteudo(5);
int quantidadeDeBananas = caixaDeBananas.getConteudo();
System.out.println("Quantidade de bananas na caixa: " + quantidadeDeBananas);
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;em&gt;Não esqueça de deixar seu like&lt;/em&gt; ❤️&lt;/p&gt;

&lt;p&gt;Aqui, usamos CaixaGenerica para armazenar uma String (maçã) e CaixaGenerica para armazenar um número inteiro (bananas).&lt;/p&gt;

&lt;p&gt;Com "generics," nosso código fica mais flexível, seguro e fácil de entender! 🚀&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Agora vocês já está pronto para aprender sobre polimorfismo&lt;/em&gt;&lt;br&gt;
&lt;a href="https://dev.to/antoniorws/interfaces-e-polimorfismo-3ckm"&gt;Clique aqui para aprender&lt;/a&gt;🚀&lt;/p&gt;

&lt;p&gt;LinkedIn: &lt;a href="https://www.linkedin.com/in/antonio-rodrigo-wanderley-serra/"&gt;https://www.linkedin.com/in/antonio-rodrigo-wanderley-serra/&lt;/a&gt;&lt;br&gt;
GitHub: &lt;a href="https://github.com/antoniorws"&gt;https://github.com/antoniorws&lt;/a&gt;&lt;/p&gt;

</description>
      <category>java</category>
      <category>beginners</category>
      <category>programming</category>
      <category>braziliandevs</category>
    </item>
    <item>
      <title>Desvendando o Mistério dos Tipos em Java: Primitivos vs. Não Primitivos 🚀</title>
      <dc:creator>Antonio Serra</dc:creator>
      <pubDate>Tue, 26 Sep 2023 17:17:35 +0000</pubDate>
      <link>https://dev.to/antoniorws/desvendando-o-misterio-dos-tipos-em-java-primitivos-vs-nao-primitivos-5f75</link>
      <guid>https://dev.to/antoniorws/desvendando-o-misterio-dos-tipos-em-java-primitivos-vs-nao-primitivos-5f75</guid>
      <description>&lt;h1&gt;
  
  
  Tipos Primitivos 🥔
&lt;/h1&gt;

&lt;p&gt;Os tipos primitivos em Java são como as batatas 🥔 da programação. São simples e básicos, usados para armazenar valores simples, como números inteiros e caracteres.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;int&lt;/strong&gt;: Representa números inteiros. Por exemplo, int idade = 25; armazena a idade 25.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;char&lt;/strong&gt;: Armazena caracteres, como letras ou símbolos. Por exemplo, char letra = 'A'; guarda a letra 'A'.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;boolean&lt;/strong&gt;: Armazena valores verdadeiros ou falsos. Por exemplo, boolean estaChovendo = true; indica se está chovendo ou não.&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;h1&gt;
  
  
  Tipos Não Primitivos 🏠
&lt;/h1&gt;

&lt;p&gt;Os tipos não primitivos em Java são como casas 🏠, pois podem conter informações mais complexas e até mesmo outros tipos primitivos.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;String&lt;/strong&gt;: Representa texto. Por exemplo, String nome = "Alice"; guarda o nome "Alice".&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Array&lt;/strong&gt;: Armazena uma coleção de valores do mesmo tipo. Por exemplo, int[] numeros = {1, 2, 3, 4, 5}; guarda uma lista de números inteiros.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Classe&lt;/strong&gt;: Você pode criar suas próprias classes para representar objetos personalizados, como class Pessoa { String nome; int idade; }. Isso permite que você crie objetos como Pessoa alice = new Pessoa(); com propriedades nome e idade.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;ArrayList&lt;/strong&gt;: É uma coleção dinâmica que pode crescer ou encolher. Por exemplo, ArrayList nomes = new ArrayList&amp;lt;&amp;gt;(); pode armazenar uma lista flexível de nomes.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Objetos&lt;/strong&gt;: Além das classes personalizadas, Java possui muitas classes pré-definidas que podem ser usadas para criar objetos, como Date para datas e Scanner para entrada de usuário.&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Em resumo, tipos primitivos são simples, enquanto tipos não primitivos são como casas 🏠, capazes de armazenar informações mais complexas. Usamos ambos em Java para criar programas poderosos e flexíveis! 😊👍&lt;/p&gt;

&lt;p&gt;LinkedIn: &lt;a href="https://www.linkedin.com/in/antonio-rodrigo-wanderley-serra/"&gt;https://www.linkedin.com/in/antonio-rodrigo-wanderley-serra/&lt;/a&gt;&lt;br&gt;
GitHub: &lt;a href="https://github.com/antoniorws"&gt;https://github.com/antoniorws&lt;/a&gt;&lt;/p&gt;

</description>
      <category>java</category>
      <category>beginners</category>
      <category>programming</category>
      <category>braziliandevs</category>
    </item>
    <item>
      <title>Descubra o Segredo da Busca Binária em Java: A Caça ao Tesouro Eficiente! 📚🔍💎</title>
      <dc:creator>Antonio Serra</dc:creator>
      <pubDate>Tue, 26 Sep 2023 10:42:31 +0000</pubDate>
      <link>https://dev.to/antoniorws/descubra-o-segredo-da-busca-binaria-em-java-a-caca-ao-tesouro-eficiente-29a2</link>
      <guid>https://dev.to/antoniorws/descubra-o-segredo-da-busca-binaria-em-java-a-caca-ao-tesouro-eficiente-29a2</guid>
      <description>&lt;p&gt;A &lt;strong&gt;busca binária&lt;/strong&gt; é como encontrar um número em um livro, mas de uma maneira muito inteligente! 📚 Imagine que você tem um livro onde os números estão em ordem, da menor página para a maior. Agora, você quer encontrar o número 42. O que você faz?&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;Primeiro, você abre o livro na metade (página 50, por exemplo, se o livro tem 100 páginas). 📖&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Você olha para o número na página onde você abriu o livro.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Se o número for menor que 42, você sabe que o 42 só pode estar na metade das páginas maiores. Então, você fecha a primeira metade do livro.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Se o número for maior que 42, você sabe que o 42 só pode estar na metade das páginas menores. Então, você fecha a segunda metade do livro.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Agora, você repete o processo a partir do ponto 1, mas agora em apenas metade do livro.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Você continua fazendo isso até encontrar o número 42 ou perceber que ele não está no livro.&lt;br&gt;
Em Java, podemos fazer a busca binária em um vetor da mesma forma! &lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;strong&gt;Aqui está um exemplo de código:&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;public class BuscaBinaria {

    public static int buscaBinaria(int[] vetor, int alvo) {
        int esquerda = 0;
        int direita = vetor.length - 1;

        while (esquerda &amp;lt;= direita) {
            int meio = (esquerda + direita) / 2;

            if (vetor[meio] == alvo) {
                return meio; // Encontrou o número!
            } else if (vetor[meio] &amp;lt; alvo) {
                esquerda = meio + 1; // Procurar na metade direita
            } else {
                direita = meio - 1; // Procurar na metade esquerda
            }
        }

        return -1; // O número não está no vetor
    }

    public static void main(String[] args) {
        int[] vetor = {1, 4, 8, 15, 42, 50, 67, 99};
        int alvo = 42;

        int resultado = buscaBinaria(vetor, alvo);

        if (resultado != -1) {
            System.out.println("Encontrou o número " + alvo + " na posição " + resultado);
        } else {
            System.out.println("Número " + alvo + " não encontrado no vetor.");
        }
    }
}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Neste código, a função buscaBinaria recebe um vetor ordenado e um número alvo. Ela usa a busca binária para encontrar o número e retorna a posição onde o número foi encontrado ou -1 se não foi encontrado.&lt;/p&gt;

&lt;p&gt;A busca binária é uma maneira muito eficiente de encontrar itens em listas ordenadas, como vetores, porque corta o espaço de busca pela metade a cada passo. É como uma caça ao tesouro eficaz! 🏴‍☠️🗺️&lt;/p&gt;

&lt;p&gt;LinkedIn: &lt;a href="https://www.linkedin.com/in/antonio-rodrigo-wanderley-serra/"&gt;https://www.linkedin.com/in/antonio-rodrigo-wanderley-serra/&lt;/a&gt;&lt;br&gt;
GitHub: &lt;a href="https://github.com/antoniorws"&gt;https://github.com/antoniorws&lt;/a&gt;&lt;/p&gt;

</description>
      <category>java</category>
      <category>algorithms</category>
      <category>beginners</category>
      <category>braziliandevs</category>
    </item>
    <item>
      <title>Explorando Nodes em Java 🚀🔍📦</title>
      <dc:creator>Antonio Serra</dc:creator>
      <pubDate>Mon, 25 Sep 2023 08:37:56 +0000</pubDate>
      <link>https://dev.to/antoniorws/explorando-nodes-em-java-5e59</link>
      <guid>https://dev.to/antoniorws/explorando-nodes-em-java-5e59</guid>
      <description>&lt;blockquote&gt;
&lt;p&gt;Um "Node" (nó) é como um ponto em uma estrutura de dados chamada lista encadeada, que é uma maneira de organizar e armazenar dados.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;strong&gt;🔵 O que é um Node (Nó)?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Um Node é como uma caixa que pode armazenar informações (como um número, texto ou objeto) e também contém uma conexão para o próximo Node na lista encadeada. É como uma conta de colar em que cada conta tem um pingente (dados) e um elo (conexão) para a próxima conta.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Aqui está um Node simples em Java:&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;class Node {
    int dado;         // O dado armazenado no Node
    Node proximo;     // A conexão para o próximo Node

    public Node(int dado) {
        this.dado = dado;
        this.proximo = null;  // Inicialmente, não temos um próximo Node
    }
}

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;✨ Exemplo: Criando um Node&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Node meuNode = new Node(42);
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Neste exemplo, criamos um Node com o valor 42 e nenhuma conexão para o próximo Node.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;➕ Adição de Nodes (Nós)&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Para adicionar um Node a uma lista encadeada, você pode criar um novo Node e atualizar a conexão do último Node na lista para apontar para o novo Node. Isso é como adicionar mais uma conta a uma conta de colar.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Node novoNode = new Node(55);
meuNode.proximo = novoNode;  // Atualiza a conexão para o próximo 
Node
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Agora, meuNode aponta para novoNode, que tem o valor 55.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;➖ Remoção de Nodes (Nós)&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Para remover um Node de uma lista encadeada, você precisa atualizar a conexão do Node anterior para apontar para o próximo Node, efetivamente "cortando" o Node que deseja remover.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;meuNode.proximo = meuNode.proximo.proximo;  // Remove o Node com valor 55

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Agora, o Node com valor 55 foi removido da lista.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;🔍 Pesquisa de Nodes (Nós)&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Para pesquisar um Node com um valor específico em uma lista encadeada, você pode percorrer a lista começando pelo primeiro Node e verificando o valor de cada Node até encontrar o que deseja.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Node currentNode = meuNode;
while (currentNode != null) {
    if (currentNode.dado == 42) {
        System.out.println("Encontrado o Node com valor 42!");
        break;
    }
    currentNode = currentNode.proximo;
}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Neste exemplo, estamos procurando um Node com valor 42 na lista encadeada.&lt;/p&gt;

&lt;p&gt;Espero que isso tenha ajudado a entender o conceito de Node em Java! É como construir uma sequência de contas de colar com dados e conexões entre elas. 😊📦🔗&lt;/p&gt;

&lt;p&gt;Linkedin: &lt;a href="https://www.linkedin.com/in/antonio-rodrigo-wanderley-serra/"&gt;https://www.linkedin.com/in/antonio-rodrigo-wanderley-serra/&lt;/a&gt;&lt;br&gt;
GitHub: &lt;a href="https://github.com/antoniorws"&gt;https://github.com/antoniorws&lt;/a&gt;&lt;/p&gt;

</description>
      <category>java</category>
      <category>beginners</category>
      <category>datastructures</category>
      <category>braziliandevs</category>
    </item>
  </channel>
</rss>
