Baixe o app para aproveitar ainda mais
Prévia do material em texto
Qual é sua dúvida Fale comigo (45) 99979-5800 Nossos Cursos Matricule-se Grátis O QUE VOCÊ PROCURA? Buscar UMA BREVE INTRODUÇÃO A LÓGICA DE PROGRAMAÇÃO Lógica de programação é a técnica de organizar o pensamento de forma estruturada para atingir um determinado objetivo, executar uma função. Quando orientado para a linguagem de computador, este pensamento estruturado possibilita o desenvolvimento de sistemas e programas. Assim, sendo essencial dentro da programação, é o entendimento da lógica que permitirá ao programador modelar mentalmente tudo o que será executado dentro de um programa. Não compreender este conceito, pode atrasar e muito a vida do programador, uma vez que ele demorará para conseguir visualizar todo o escopo do projeto. Ser um bom programador é ter uma boa capacidade de análise. Escrever código exige que esta capacidade seja aprimorada constantemente, dia a dia. Então, você quer ser um programador de sucesso? Naturalmente você deverá empenhar tempo nos estudando e dominar a lógica de programação. Se transforme em um “jedi” nesta disciplina, compreenda que sem ela não há como programar. Sem este pensamento estruturado, tirar seu projeto do papel estará fora de cogitação. LÓGICA DE PROGRAMAÇÃO: COMO APRENDER? Aprender lógica de programação é um processo que demanda tempo e dedicação. Você somente será bem- sucedido se praticar continuamente. Mark Zuckerberg, fundador do Facebook, exempli�ca com excelência, “a programação é como qualquer outro esporte. Você pode conhecer as regras, mas tem que jogar para aprender”. A Formação Lógica de Programação apenas apontará a direção, mas é você quem percorrerá o caminho e fará todo o esforço, sendo o único responsável pelo seu sucesso ou fracasso. Neste bate-papo daremos algumas dicas de como aumentar sua performance nos estudos e ter sucesso como programador. Não existe atalho, o caminho para o aprendizado da lógica é programar, programar e programar. É escrever código e entender o que cada linha faz, o que essa ou aquela função faz, só assim, com horas e horas debruçado em cima de códigos é que você irá aprender e consequentemente tornar o seu caminho na programação mais intuitivo. Um programador com pleno domínio da lógica é capaz de compreender qualquer sistema, obviamente que este conhecimento deve estar atrelado ao conhecimento de uma linguagem de programação, por meio da qual o pensamento estruturado toma forma. Mas atente-se, não é a linguagem que forma um bom programador, mas sim a sua lógica. Este conceito ainda parece um pouco abstrato para você? Calma, nós já vamos explicar melhor. Imagine a construção de uma casa, seria lógico começar a construí-la pelo teto? Não, não seria. Porém, mesmo não sendo um expert, você sabe que para construir uma casa, é necessário começar pela base. Começa-se com a fundação, posteriormente os pilares, as paredes, até chegar ao teto e depois �nalmente o acabamento. Você notou que o processo de construção de uma casa obedece a uma sequência lógica de passos? Assim também é com a programação, o desenvolvimento de programas e sistemas passa fundamentalmente por uma sequência lógica de passos, que deve ser seguido. Em síntese, a lógica se preocupa com a forma da construção do pensamento, em como ele está organizado para que o objetivo proposto seja atingido. SEQUÊNCIA LÓGICA DE PASSOS Sequência lógica de passos compreende o pensamento organizado e estruturado em passos que serão executados até que se atinja o objetivo determinado, que pode ser a solução de um problema, a execução de uma função ou uma tarefa a cumprir. Posts recentes O mercado de trabalho para programadores de software Motivação na programação JVM – JAVA VIRTUAL MACHINE: INTRODUÇÃO LINGUAGEM JAVA E SUAS CARACTERÍSTICAS JAVA: CONHEÇA ESTA PODEROSA PLATAFORMA Categorias Java Sem categoria Tutoriais https://api.whatsapp.com/send?1=pt_BR&phone=554599795800&text=Ol%C3%A1,%20estou%20aqui%20no%20site%20e%20tenho%20algumas%20d%C3%BAvidas.%20Pode%20me%20ajudar? https://www.jdevtreinamento.com.br/cursosonline https://www.jdevtreinamento.com.br/criar-conta-gratuita/index.html https://www.jdevtreinamento.com.br/ https://www.jdevtreinamento.com.br/curso-logica-de-programacao/index.html https://www.jdevtreinamento.com.br/o-mercado-de-trabalho-para-programadores-de-software/ https://www.jdevtreinamento.com.br/motivacao-na-programacao/ https://www.jdevtreinamento.com.br/jvm-java-virtual-machine-introducao/ https://www.jdevtreinamento.com.br/linguagem-java-e-suas-caracteristicas/ https://www.jdevtreinamento.com.br/java-conheca-essa-poderosa-plataforma/ https://www.jdevtreinamento.com.br/tutoriais/java/ https://www.jdevtreinamento.com.br/sem-categoria/ https://www.jdevtreinamento.com.br/tutoriais/ O computador apenas executará a sequência lógica dos passos que você escreveu, e o fará de maneira sequencial, daí a importância da lógica de programação que é sintetizada em passos lógicos necessários para solucionar um problema. Vamos exempli�car ilustrando um processo de venda, o cliente chega em uma loja de departamento, por exemplo, faz o pedido, na sequência o atendente veri�ca a disponibilidade do produto em estoque, vai até onde está o produto, pega e o leva até o cliente, faz a venda e imprime a nota �scal. Grosso modo podemos dizer que o processo acima mostra a sequência de passos que são necessários para a realização de uma venda. Estes passos compreendem os requisitos de venda que são levantados pelo Engenheiro de Software ou Analista junto a equipe de programação e ao cliente. É em cima dos levantamentos de requisitos dessa sequência de passos que o código será escrito. Veja outro exemplo, para o desenvolvimento de um sistema simples de cadastro, você arriscaria dizer quais são os passos necessários? Vamos juntos, primeiro precisaremos levantar os requisitos, modelar o banco de dados, de�nir qual linguagem melhor atende o projeto, escrever o código, fazer as telas, inserir os dados, fazer com que o sistema insira os dados, atualize, permita a consulta e exclua. Aprenda mais sobre a lógica com Java. LÓGICA + JAVA CLIQUE AQUI INTEGRANDO OS PROCESSOS Como foi visto, lógica de programação compreende uma sequência de passos de um pensamento que foi estruturado e organizado de forma a oferecer uma solução para um determinado problema. Essa sequência de passos é o que denominamos algoritmo – conjunto de regras, que nada mais é do que um processo que se assemelha a uma “receita de bolo”, que para que dê certo, precisa ser seguida obedecendo uma ordem estabelecida. E se você ainda não entendeu o que é lógica de programação, este último exemplo, comum entre universo dos programadores irá tirar todas as suas dúvidas: A esposa do programador disse: – Vá ao mercado e traga um litro de leite. Se tiver ovos, traga 12. E para a surpresa da esposa o programador voltou com 12 litros de leite, ela então perguntou: -Ei, por que você trouxe 12 litros de leite? Ao que o programador respondeu: – Porque eles tinham ovos. Obviamente o exemplo que acabamos de citar, embora seja uma brincadeira, é uma brincadeira que ilustra com exatidão o poder da lógica, e como o seu entendimento direciona as ações. Se ela não for bem absorvida, se as instruções não forem claras e objetivas, o resultado não será como o esperado. Em resumo, inicialmente compreende-se o contexto do problema, a partir desse entendimento desenha-se a sequência lógica que irá descrever o processo que representa os passos necessários que conduzirão o programador ao seu objetivo, o desenvolvimento do sistema, dentro do propósito determinado junto a equipe e ao cliente. ALGORITMO ALGORITMO: O QUE VOCÊ PRECISA SABER Algoritmo é uma sequência lógica e �nita de passos que objetivam a execução de uma tarefa. Como mencionamos em “Lógica de programação: uma breve introdução”, algoritmo pode ser entendido como um “conjunto de regras, que nada mais é do que um processo que se assemelha a uma “receita de bolo”, que para que dê certo, precisa ser seguida obedecendo uma ordem de execuçãoestabelecida”. Acresce que esta sequência de passos para ser compreendida como um algoritmo, deve obrigatoriamente expressar algumas características essenciais, como ser clara e precisa, não ser redundante ou subjetiva. Assim, se ocupando do “como fazer” e não do, “o que fazer?”. Entenda, algoritmo não é a solução de um problema, mas um conjunto de ações, um caminho que leva a solução de um problema, um dos muitos caminhos, visto que um problema pode apresentar mais de uma solução. Em nossas tarefas do cotidiano você e eu usamos algoritmos intuitivamente sem percebermos que o fazemos. Veja o exemplo. https://jdevtreinamento.com.br/curso-logica-de-programacao/index.html Se desejamos somar dois números quaisquer, nós apenas o fazemos, sem pensar em como. Entretanto, mesmo não pensando na sequência de passos necessários para executar esta tarefa, nós a seguimos automaticamente. • Entre com o primeiro número no retângulo A • Entre com o segundo número no retângulo B • Some o número do retângulo A com o número do retângulo B • Coloque o resultado da soma no retângulo C : ALGORIMTO SOMA DE DOIS NÚMEROS A partir do exemplo acima, podemos então compreender que algoritmo não é o resultado da operação, mas todo o processo que nos leva a ele, ao resultado da soma dos dois números, ou seja, “10”. REPRESENTANDO O ALGORITMO COM JAVA Neste momento não se preocupe com as palavras reservadas ou com as expressões que você não conhece, importa-nos apenas que você se familiarize com o ambiente, comece a conviver com alguns conceitos e perceba como o algoritmo pode ser representando usando uma linguagem de programação, colocando em prática a teoria que você acabou de aprender. O código abaixo, embora simples, usado como exemplo para efeito didático de forma a facilitar o entendimento, trás algumas definições importantes, como por exemplo, variável, você sabe o que é variável? REPRESENTAÇÃO DO ALGORITMO LINGUAGEM JAVA SAÍDA DO ALGORITMO SOMA DE DOIS NÚMEROS Em nosso exemplo, “retângulo_A” e “retângulo_B” são as nossas variáveis. Ok, mas o que são variáveis e o que elas fazem? De forma simples, variável é um local na memória principal reservado para alocar um conteúdo. No código acima, o conteúdo que cada uma das variáveis armazena é o valor 5 respectivamente. Em resumo, o que a variável é? Um local na memória. O que ela faz? Aloca um conteúdo. Agora que você tem uma ideia do que é variável, vamos avançar um pouco mais na aprendizagem do nosso pequeno algoritmo. o resultado da nossa sequência de passos, do nosso algoritmo, foi exibido no console “RESULTADO: 10”, para exibir o resultado da operação usamos a instrução de saída “System.out.println(“ ”);”. Sintetizando o que acabamos de aprender, temos o algoritmo que é o processo que chega a um dado resultado, dentro deste contexto temos a lógica que é a soma, e consequentemente a sequência lógica de passos que em suma é somar o valor de “A” com o valor de “B”. Agora que você sabe o que é um algoritmo, perceba que todas as tarefas que um computador executa são baseadas em instruções algorítmicas. Na programação estas instruções descrevem as etapas necessárias para que o software ou sistema execute as tarefas que foram expressas em linha de código. O QUE SÃO PROGRAMAS DE COMPUTADOR? Programas são algoritmos escritos em alguma linguagem de computador, como por exemplo, Java, JavaScript, C, C++, C#, Cobol, Phyton, PHP e muitas outras. Esta linguagem de computador também conhecida como linguagem de programação possui uma interpretação rigorosa e rígida dos algoritmos da vida real. É curioso que muitas pessoas não atentem para o fato de que elas interagem com programas de computador o tempo todo, seja no notebook, desktop, smartphone ou tablet. Os aplicativos como Instagram, Twitter ou do seu banco, são programas desenvolvidos por um programador a partir de uma linguagem de programação. Plataformas como o Facebook, o programa operado pela caixa do supermercado, ou aquele onde a atendente da farmácia pesquisa a disponibilidade e preço dos remédios, todos tem em comum a base – um algoritmo estruturado a partir de uma linguagem de programação, e este é o ponto que pode variar, a linguagem utilizada. Por outro lado, embora o cenário atual desenhe um quadro distinto, se não considerarmos os avanços nos campos de IA e IoT, é interessante observar que as máquinas não foram projetadas para pensarem como nós. Ao contrário do que acredita o senso comum, elas apenas cumprem uma sequência de instruções que resultam na realização de uma tarefa, a qual foram programadas para executar. E elas também não entendem a nossa linguagem. O QUE É LINGUAGEM DE PROGAMAÇÃO? Agora uma curiosidade, se você já é um programador ou começou há pouco tempo, talvez não seja uma novidade para você, mas se você está começando agora, em algum momento irá se deparar com a eterna discussão, “HTML e CSS são ou não uma linguagem de programação?”. Uma vez que estamos falando de linguagem de computador, também conhecida como linguagem de programação, é importante que você já saiba. Então vamos lá, “o que é linguagem de programação? O que uma linguagem precisa ter para ser considerada uma linguagem de programação?”. Respondendo a primeira questão, a Wikipédia define linguagem de programação como sendo “um método padronizado para comunicar instruções para um computador”, ratificando o que informamos acima. Uma abordagem mais sofisticada nos diz o que a linguagem precisa ser capaz de fazer para ser considerada uma linguagem de programação. A teoria da computação diz que para uma linguagem ser considerada de programação ela precisa ser Turing-completude ou Turing-Completo. Essa teoria afirma que um sistema, assim também com a linguagem de programação é Turing- completo se ele for capaz de resolver qualquer problema computacional. Ora, se um sistema existe a partir de uma linguagem de programação, em outras palavras podemos dizer que, para ser considerada uma linguagem de programação ela precisa ser capaz de tomar decisões, mudar o fluxo de execução – o que é feito a partir de saltos condicionais, e também ela precisa ser capaz de produzir o resultado de qualquer cálculo e etc. Enfim, tudo o que o HTML e CSS não fazem. https://pt.wikipedia.org/wiki/Linguagem_de_programa%C3%A7%C3%A3o Assim sendo, o w3schools define o HTML – Hypertext Markup Language ou em português Linguagem de Marcação de Hipertexto, como uma “linguagem de marcação padrão para páginas web”, ela descreve o que fazer com os dados. O CSS por sua vez descreve o estilo de um documento HTML, definindo atributos como cores, tipo de fonte, comportamento de um parágrafo e muito mais. Agora que você compreendeu o que é um programa de computador, que seu desenvolvimento se dá a partir de algoritmos estruturados sob uma linguagem de programação específica, vamos aprender sobre pseudocódigos e como eles podem auxiliar na aprendizagem da programação. ALGORITMOS E PSEUDOCÓDIGOS No início deste texto lhe perguntamos se sua ambição era se tornar um bom programador? E se a sua resposta foi sim, então você obrigatoriamente passará pelo caminho dos pseudocódigos. Pseudocódigo é a linguagem em que os algoritmos são representados. Trata-se de uma forma didática de ensinar programação simplificando-a, mas sem distanciá-la da linguagem de programação propriamente dita, ao mesmo tempo que mantém próxima da linguagem humana. No Brasil, a forma de pseudocódigo mais conhecida é o Portugol. Esta forma de representar algoritmos é posteriormente transformada em linguagem de programação. O pseudocódigo trata de conceitos como entrada e saída de dados, processamento e variáveis. Vamos aprender na prática como escrever um pseudocódigo, com o exemplo do cálculo da média de um aluno, a partir da entrada de dois números. EXEMPLOS DE LINGUAGENS DE PROGRAMAÇÃO LINHA 1: Indica o início do pseudocódigo. LINHA 3: Definição das variáveis com suas respectivas entradas. LINHA 4: Definição da variável que receberá o resultado da operação LINHA 6:Processamento onde ocorre soma das notas e divisão por 4 LINHA 8: saída dos dados que se dá por meio da variável resultado. LINHA 11: Indica o fim do pseudocódigo. Aprenda mais sobre a lógica com Java. LÓGICA + JAVA CLIQUE AQUI E AÍ, BORA PROGRAMAR? https://jdevtreinamento.com.br/curso-logica-de-programacao/index.html Como já mencionado neste mesmo texto, se você tem ambições de se tornar um programador de sucesso, precisa entender que dominar algoritmos é a base fundamental para que obtenha êxito em sua jornada. E independente da linguagem escolhida, solidificar a base com muito estudo e dedicação é o caminho mais curto para a realização das suas aspirações. Certamente você passará por todas as etapas que salientamos aqui, precisará ter claro em sua mente o que é algoritmo, lógica e sequência lógica. Deverá praticar pseudocódigos até estar pronto para ir de fato para os algoritmos, e então praticar, praticar e praticar mais um pouco. E se você permanecer com a gente, aqui no Formação Lógica de Programação, garanto que essa jornada será menos solitária, temos uma comunidade ativa e cooperativa, uma equipe de suporte pronta para lhe ajudar, além dos nossos tutoriais. Muito ainda está por vir. DIAGRAMA DE BLOCOS: CONCEITO E APLICAÇÃO DIAGRAMA DE BLOCO é um modelo padronizado e e�caz de representar as diversas direções que um algoritmo em seus passos lógicos pode tomar. Em suma, é uma forma visual de representar a sequência lógica subsequente de um determinando processamento. Com o diagrama, a partir de uma sequência de símbolos convencionais pré-determinados e com seus signi�cados bem de�nidos, poderemos visualizar as etapas de um processamento. Esta visualização se dá por meio da representação grá�ca do pseudocódigo ou de um algoritmo. Então agora, além de termos o pseudocódigo para entender o processo de um sistema a partir da escrita de um algoritmo em uma linguagem entendível aos humanos, vamos adicionar a nossa lista de conhecimentos recém- adquiridos, o DIAGRAMA DE BLOCOS, também conhecidos como �uxogramas. Naturalmente, dentro da análise e desenvolvimento de sistemas são inúmeros os tipos distintos de diagramas e grá�cos com o objetivo de auxiliar Engenheiros, Analistas e toda equipe de desenvolvimento a entender este ou aquele processo dentro de um sistema. Assim o diagrama de blocos representa um processo dentro do sistema. Entenda que processos são as rotinas de imprimir um relatório, cadastrar um usuário, calcular a média de notas, entre outras. Tecnicamente, processo compreende um ciclo que tem início com a entrada de dados, segue para o processamento que pode ser um cálculo, por exemplo, e a saída que é o resultado esperado. Em virtude do nosso foco nas aulas de Formação Lógica de Programação não ser a análise de sistemas, não vou aqui me aprofundar nos tipos de diagramas existentes, como já mencionado, são inúmeros. Se você deseja ampliar seus conhecimentos nesta área, deixo como sugestão o livro “UML 2 – Uma Abordagem Prática”, da editora Novatec. Assim sendo, para a lógica de programação, o diagrama de blocos é um dos principais �uxogramas existentes. Ele nos permite por meio de desenhos geométricos, o qual admite poucas variações, representar um �uxo lógico de processamento, que compreendem todas as etapas que passam pela entrada, processamento e saída de dados. DIAGRAMA DE BLOCOS, FLUXOGRAMA, UML UML é um acrônimo para Uni�ed Modeling Language, em português “Linguagem de Modelagem Uni�cada”, segundo a Wikipédia, “UML é uma linguagem-padrão para a elaboração da estrutura de projetos de software”. Pertencente a área de Engenharia de Software ela permite o desenvolvimento de sistemas de forma padronizada. Note que ao longo deste texto muito se falará em padrão, desenvolvimento padronizado, é importante ressaltar este aspecto da UML porque “grande parte dos problemas em sistemas orientados a objeto tem sua origem na construção do modelo, no desenho do sistema”, conforme explica o analista Leandro Ribeiro da plataforma Dev Media. Falando agora com você, desenvolvedor, em sua opinião, o que faz uma empresa de software ser bem-sucedida? Qual é o principal produto de uma equipe de desenvolvimento de software? A resposta a primeira pergunta é um software de qualidade capaz de solucionar as dores do cliente. E esta também é a resposta a segunda pergunta. https://www.jdevtreinamento.com.br/formacao-java-web-profissional/index.html https://novatec.com.br/livros/uml2-uma-abordagem-pratica-3ed/ https://pt.wikipedia.org/wiki/UML Concomitantemente o principal produto de uma equipe de desenvolvimento é um software de qualidade capaz de solucionar as dores do cliente / usuário. Tudo o mais é secundário, o que não é o mesmo que dizer irrelevante. Não, nada é irrelevante. Em vista disso, para desenvolver um sistema que atente para as necessidades reais do usuário, e não as necessidades imaginadas por alguém da equipe, será necessário um conjunto uni�cado que abrange pessoas e ferramentas. Ademais, um software de qualidade representa a união de arquitetura, processos e ferramentas. Assim, é na no segundo elemento dessa tríade – no processo, que nosso estudo de hoje se assenta, começando do básico, mas essencial para o seu entendimento acerca da importância da modelagem, do uso de diagramas para a construção de sistemas bem-sucedidos do ponto de vista de performance, usabilidade e satisfação do cliente/usuário. O diagrama de blocos não cumpre unicamente o papel de representar gra�camente nossos pseudocódigos e algoritmos, mas também de desenhar todas as etapas do �uxo do processo, de modo a favorecer a visualização de modo que se possa enxergar como será possível fazer mais com menos código. DIAGRAMAS DE BLOCOS: SIMBOLOGIA “TERMINAL”, tem este nome por �car nas extremidades, marcando o INÍCIO e o FIM de um processo. “PROCESSO” indica o processamento de alguma rotina, como por exemplo, o cálculo da soma de dois números. “ENTRADA DE DADOS MANUAL”, este símbolo demonstra que a entrada de dados será feita manualmente pelo usuário, a partir do teclado. “EXIBIR”, que cumpre a função de apenas mostrar o resultado, como o resultado do cálculo da média, por exemplo. DIAGRAMA DE BLOCOS NA PRÁTICA É importante que você não se prenda em demasia a simbologia, porque esta pode variar dependendo da faculdade e/ou professor, mas se você entender o conceito, mesmo que a simbologia mude, será apenas uma questão de rápida adaptação até que você compreenda a nova estrutura e/ou símbolos. Veja alguns exemplos dos principais símbolos utilizados no �uxograma do DIAGRAMA DE BLOCOS. Analise abaixo os processos de chupar uma bala e calcular a média de notas respectivamente. Note os passos e relacione as tomadas de decisões a simbologia empregada em cada um dos �uxogramas. Analisaremos juntos o segundo caso – cálculo da média de notas, o primeiro símbolo representa o início do processo, o símbolo que representa a entrada de dados, recebe as notas – nota 1, nota 2 … nota 4 [N1, N2, N3, N4]. Na sequência temos a representação da simbologia de processamento, que cumpre o papel de processar os dados, no caso do exemplo, somar as notas recebidas e dividir o resultado da soma por 4. Ao �nal será exibido o resultado do cálculo da média e processo será encerrado. SOBRE PADRÕES E PROCESSOS E assim em nosso bate-papo de hoje você aprendeu um pouco sobre diagrama de blocos, mas principalmente pode vislumbrar a importância da modelagem para uma empresa e equipe de desenvolvimento de softwares. E pode compreender que ausência de processos claros, bem de�nidos e padronizados pode resultar em softwares e sistemas que serão rejeitados pelos seus clientes. CONSTANTES E VARIÁVEIS Em “ALGORITMO: O QUE VOCÊ PRECISA SABER” falamos brevemente acerca das variáveis, de�nimos grosso modo o que elas são – um espaço reservado na memória, bem como o que elas fazem – alocam um dado. Neste texto nos aprofundaremos um pouco mais nestes conceitos de constantes e variáveis, sempre no contexto da linguagem Java. Como semprefazemos, ilustraremos nossa explicação com algum exemplo prático, mas não se preocupe com os aspectos da linguagem Java em si. Permaneça com a gente aqui no JDev Tutoriais e/ou no Formação Lógica de Programação, e gradativamente, no tempo certo, você será apresentado a cada elemento, e cada componente da linguagem será detalhado. Entretanto, para você que está começando agora neste universo, este primeiro contato com as nomenclaturas, com as palavras reservadas, assim também como com os aspectos especí�cos da linguagem, fará com que você comece a se familiarizar com o ambiente. Então vem comigo, vamos falar sobre constantes. CONSTANTES: CONCEITOS E DEFINIÇÃO https://www.jdevtreinamento.com.br/algoritmo/ https://www.jdevtreinamento.com.br/MOD-03%20P#06.docx https://www.jdevtreinamento.com.br/formacao-java-web-profissional/index.html Constante é um determinado valor �xo que não se modi�ca ao longo do tempo, isto é, durante a execução de um programa. Se você possui um dado que não deverá ser alterado ao longo da execução do programa, então este dado deverá ser declarado como uma constante. Nesse sentido o que distingue uma constante de uma variável é a declaração da palavra reservada �nal antes do identi�cador. Atente-se para o fato de que o Java é uma linguagem “case sensitive”, isso signi�ca que é sensível a maiúsculas e minúsculas, assim sendo, “�nal” é diferente de “Final”. Ok, entendi que o Java é uma linguagem “case sensitive”, mas o que é identi�cador? O que é uma palavra reservada? E o que a palavra reservada “�nal” signi�ca? Calma, são mesmo muitos conceitos, e vou esclarecer cada um deles. Identi�cadores são as palavras que usamos para representar variáveis, constantes, classes, objetos e etc, são os nomes que damos a estes elementos e que os identi�ca ao longo do programa. Em linguagem de programação de computadores, palavra reservada, é a palavra que não pode ser utilizada como identi�cador de uma variável, por exemplo, pois ela é reservada ao uso da linguagem, da gramática da própria linguagem. Deste modo, você desenvolvedor não pode criar um identi�cador para uma variável com o nome “String”, visto que esta é uma palavra reservada a linguagem. Muito bem, tendo entendido o que é uma palavra reservada, chegou a hora de entender o que é “�nal”, e porque ela de�ne um dado como constante. É importante que você saiba que o signi�cado de �nal pode variar de acordo com o local em que é utilizada ao longo do programada. Mas vamos por partes, evoluindo gradativamente. Em Java, de um modo geral podemos dizer que “�nal” signi�ca que algo foi decidido e não pode ser modi�cado, e quando usado antes do identi�cador de�ne aquele dado como uma constante, implicando estritamente que o valor daquele dado não poderá ser alterado, uma vez que este tenha sido atribuído. Se uma constante do tipo boolean é declarada com o valor “true”, por exemplo, ao longo da execução do programa este valor não poderá ser alterado para “false”. CONSTANTES E SEUS TIPOS E se este é o seu primeiro contato com programação, eis que você se depara com mais um termo desconhecido, e deve estar se perguntando: “mas a�nal, o que é um tipo boolean?”. De um modo descomplicado, tipo em programação é uma descrição aproximada dos valores possíveis que por exemplo, uma variável ou uma constante podem armazenar ou computar. Portanto, conforme o seu tipo, a constante poderá ser declarada como sendo numérica – int, �oat, double …, lógica – boolean: true ou false e literal – String. O exemplo abaixo mostra a constante “TIPO_JURIDICA”, do tipo “String” recebendo o valor “juridica”, valor este que não se alterará ao longo da execução do programa. Quer dizer que independente do �uxo de execução, da direção que as tomadas de decisões indicarem, o valor da constante “TIPO_JURIDICA”, sempre permanecerá o mesmo. En�m, podemos atribuir valores �xos que serão usados no processamento do sistema, e que jamais irão se alterar. Valores que são armazenados no banco de dados e que estabelecem um determinado padrão. É importante ressaltar que os nomes/identi�cadores atribuídos as constantes são por de�nição maiúsculos, como no exemplo acima, “TIPO_JURIDICA”, “ATIVO”, “MEDIA”. VARIÁVEIS: CONCEITOS E DEFINIÇÃO Variáveis são a representações simbólicas dos elementos de um conjunto. Cada variável corresponde a uma posição na memória, cujo conteúdo pode, ao contrário das constantes, ser alterado ao longo do tempo, ou seja, durante a execução de um programa. Embora possa assumir diferentes valores, ela só pode armazenar um valor a cada instante. Se você chegou até aqui, posso assumir que os conceitos vistos anteriormente neste mesmo post, principalmente no que se refere as constantes, já foram assimilados, então podemos dizer de forma direta que em Java, similarmente declaramos uma variável informando o tipo de dados que ela poderá receber, e respectivamente o seu nome (identi�cador) – nome este que irá identi�cá-la e/ou referenciá-la ao longo do programa. DECLARANDO VARIÁVEIS No exemplo abaixo estamos declarando uma variável informando, seu tipo, no caso do exemplo String e Inteiro (int), seu nome (identi�cadores): “nome” e “IDADE”, bem como estamos atribuindo a elas os valores “JOSE” e 50 respectivamente. O próximo exemplo abaixo nos mostra o uso de três variáveis previamente declaradas. Como mencionado, uma variável só pode armazenar um valor a cada instante. Assim sendo, a variável “Total” que recebe o resultado da multiplicação [produto * quantidade;], só poderá receber / armazenar o resultado de um processamento por vez. Dentro deste contexto, se em uma farmácia você compra duas caixas do remédio_A = R$ 10,00 e outras duas caixas do remédio_B = R$ 12,50, primeiramente será feita a operação referente ao remédio_A, e a variável “Total” receberá o equivalente a R$ 20,00. Se no momento seguinte a atendente processar os valores do remédio_B, a variável “Total” receberá por sua vez o valor correspondente a esta operação, R$ 25,00. Podemos fazer também com que a variável receba os valores dos dois produtos mutuamente, fazendo com que o conteúdo da variável “Total” seja modi�cado cumulativamente, totalizando ao �nal do processamento R$ 45,00. Mas este, não é um assunto para este momento. REGRAS Ao criar e atribuir um nome a uma variável é preciso se atentar para algumas regras e convenções. Uma variável pode conter letras, números e undescore ( _ ); Uma variável deve ser declarada em letras minúsculas; Embora o nome de uma variável possa conter números, não pode terminantemente começar com um número; Caso deseje usar um nome composto, use a regra denominada “Camel Case”, onde a primeira letra de todas as palavras a partir da segunda palavra deve ser maiúscula; Java é uma linguagem de programação, como já falamos, “Case sensitive”, assim, “nomepessoa” é diferente de “nomePessoa”, este último um exemplo de “Camel Case”. TIPOS DE VARIÁVEIS Tipos de dados em programação descrevem os valores que um dado pode assumir e por conseguinte as operações que podem ser realizadas sobre aquele dado. Se um dado é do tipo boolean, signi�ca que uma operação matemática não poderá ser realizada sobre ele, visto que boolean é um tipo primitivo lógico, que assume dois valores “true” e “false”. Em java as variáveis podem ser ou do tipo primitivo referenciando um espaço na memória que vai armazenar aquele dado valor. Os tipos primitivos representam tipos simples de dados, e são assim classi�cados: numéricos – inteiro e ponto �utuante (int, �oat …), booleano (true e false) e caractere (char). Ou podem ser um objeto, sendo este objeto nativo do Java (String – com ‘S’ maiúsculo, ArrayList) ou não, como um objeto criado pelo desenvolvedor (Aluno, Produto, Livro). Apenas para título de conhecimento, em Java, Strings são objetos ou instâncias da classe java.lang, mas não entraremos nesta seara neste momento, este texto trouxe muitos conceitos e de�nições que você deve entender e assimilar. Porém, para �nalizar traremos ainda mais um, que você verá depois daexibição do vídeo. VARIÁVEIS DE CLASSE Embora o conceito de variáveis dentro de uma classe seja avançado para este momento, sem nos aprofundar em detalhes densos, vamos entender de forma sintetizada o que são variáveis de classe. Quando declaramos uma variável dentro de uma classe, podemos especi�car o padrão de visibilidade dos atributos da classe, em outras palavras, poderemos de�nir que tipo de acesso será permitido. Para tanto, usaremos os modi�cadores de acesso que em resumo, são palavras-chave reservadas pelo Java que cumprem o objetivo de determinarem a acessibilidade e não raro a segurança. Com efeito, os quatro modi�cadores de acesso mais comuns em Java são, public, private, protected e default (padrão). Mas não se preocupe, em tempo você será apresentado a cada um deles. Vale ressaltar que existem outros, porém são os que apresentamos os mais usados. EM POUCAS PALAVRAS Bem, chegamos ao �nal do nosso tutorial/artigo sobre constantes e variáveis, em uma bate-papo mais técnico você aprendeu sobre os conceitos de cada um, aprendeu o que são modi�cadores de acesso, tipos de dados, que identi�cadores de variáveis são os nomes que você atribui a elas. Foi apresentado as palavras reservadas, e agora sabe o que é uma linguagem “Case Sensitive”, e entende expressões como “Camel case”. Recomendo que você releia uma vez mais este tutorial, assimile o seu conteúdo, pois o entendimento acerca do que foi discutido aqui, é de extrema importância para o sucesso da sua aprendizagem. A partir de agora os assuntos �cam mais técnicos, então não perca tempo, acompanhe nossas aulas do Formação Lógica de Programação, acompanhe nosso canal no Youtube Alex – JDev Treinamento on-line, acesse nosso JDev Tutorias, interaja com a comunidade e decole em sua carreira. Espero que você tenha gostado. Não deixe de compartilhar com seus amigos e colegas que também estão iniciando agora. Tenho certeza que este post será muito útil para eles também. OPERADORES E SEUS TIPOS EM JAVA Olá desenvolvedores, hoje vamos falar sobre os operadores e seus tipos em Java, e como eles são utilizados para testar dadas expressões condicionais. Você conhece ou sabe quais são os tipos de operadores? Vamos lá, sabemos que um programa é, um conjunto de instruções lógicas, que tem o objetivo de produzir um dado resultado após sua execução. Quando falamos em “produzir um resultado após sua execução”, estamos falamos essencialmente de “produzir” a partir do processamento. Via de regra um programa recebe um dado e o processa obedecendo uma sequência lógica de passos determinada pelo programador, se você não lembra, pode conferir aqui, em “UMA BREVE INTRODUÇÃO A LÓGICA DE PROGRAMAÇÃO”, um artigo sobre o assunto. Assim, logo após a etapa do processamento um resultado é apresentado. En�m, é nesta etapa onde os dados são processados que os operadores aritméticos, relacionais, lógicos e de atribuição, se inserem. Em resumo, utilizados especialmente para operações matemáticas e condições booleanas, os operadores são usados principalmente na etapa de processamento da aplicação. Assim, vamos neste tutorial decorrer sobre os tipos de operadores existentes. OPERADOR DE ATRIBUIÇÃO O operador de atribuição representado pelo sinal de igualdade ( = ) é utilizado para atribuir um valor a uma variável ou sobrescrever um dado valor em uma variável. Note no exemplo abaixo que as variáveis “num_a” e “num_b” recebem por meio do operador de atribuição os valores “10” e “15” respectivamente. Logo abaixo, sobrescrevemos o valor da variável “num_a”, atribuindo a ela o valor de “num_b”. OPERADORES ARITMÉTICOS Os operadores aritméticos representam as operações fundamentais da matemática básica, deste modo, eles são utilizados para obter resultados numéricos. Além das quatro operações mais comuns: adição, subtração, multiplicação e divisão, temos também os operadores que representam a exponenciação, radiciação e outros. Com estes operadores podemos resolver desde as operações mais simples como a soma entre duas variáveis, até expressões complexas, que combinam mais de um operador. Aliás, dadas situações, principalmente aquelas que combinam o uso de mais de um operador, requerem o uso do símbolo de interposição de uma expressão – parêntese, ele é essencial para assegurar a exatidão dos resultados. Vamos a um exemplo de uso dos operadores aritméticos com os quatro operadores lógicos mais o módulo – que retorna o resto de uma divisão, muito útil, por exemplo, para encontrar números pares, primos e muitas outras situações. Os operadores matemáticos podem ser usados em conjunto com um tipo especial de operadores de atribuição, neste caso, também chamado de “operador de atribuição cumulativa” assim uma mesma instrução pode realizar duas ações simultaneamente, a ação de calcular o valor, e a ação de atribuir o valor a variável. OPERADORES RELACIONAIS https://www.jdevtreinamento.com.br/formacao-java-web-profissional/index.html https://www.youtube.com/user/alexegidio https://www.jdevtreinamento.com.br/tutoriais/ https://www.jdevtreinamento.com.br/uma-breve-introducao-a-logica-de-programacao/ Os operadores relacionais são usados para que possamos estabelecer uma condição entre dois operandos, por exemplo. Em outras palavras, eles são usados para comparar Strings de caracteres, números, efetuar veri�cações e tomadas de decisões, estabelecendo uma condição de processamento. É importante ressaltar que estes operadores sempre retornam valores lógicos (booleanos) – verdadeiro/falso, true/false. Assim sendo, se uma condição for satisfeita executa “A”, se não, executa “B”. O código abaixo estabelece uma comparação simples entre duas variáveis de valores distintos. Sem se preocupar neste momento com a sintaxe da linguagem de programação, atente-se para os símbolos utilizados em cada condição e para o resultado que ele produzirá no console. Perceba que cada bloco de condição retorna um resultado equivalente. A primeira condição compara se os valores contidos nas variáveis “num_a” e “num_b” são iguais ou diferentes e retorna o resultado dessa comparação no console. Já o segundo bloco de condição, veri�ca se o valor contido na variável “num_a” é maior ou igual ao valor contido na variável “num_c”, retornando no console o resultado correspondente a esta veri�cação. E por �m, o terceiro bloco veri�ca se o valor contido na variável “num_a” é menor ao valor contido na variável “num_b”. Se sim, ele retorna à informação que con�rma essa condição, se não, ele mostra uma mensagem que informa o contrário dessa a�rmação, aliás, tal mensagem está implementada em todas as ceri�cações. Aprenda mais sobre a lógica com Java. LÓGICA + JAVA CLIQUE AQUI OPERADORES LÓGICOS Os operadores lógicos compreendem um recurso que possibilita que várias veri�cações sejam realizadas, veri�cações a partir da combinação de uma ou mais expressões, veri�cando se cada expressão é true ou false. Em Java os operadores lógicos utilizados são E (representado por &&) e OU (representado por ||). OBS. O símbolo do OU (I) corresponde a barra vertical ou pipe do teclado, caractere ASCII 124. Quando usamos os operadores duplos (&& ou ||) o Java não continua as operações se o resultado já for conhecido. No entanto, quando usamos os operadores lógicos simples (& ou |) ambos os lados da expressão serão sempre veri�cados. OPERADOR E (&&) Considere uma dada condição “A” e uma condição “B”, veja na tabela abaixo as combinações possíveis que podem ocorrer. Lembre-se que quando usamos & ou && a condição para que o bloco seja executado é que as duas expressões sejam verdadeiras. OPERADOR OU (||) Considere os mesmos valores apresentados acima, “A” e “B”, porém agora, basta que apenas uma das expressões seja verdadeira para que o bloco seja executado. No próximo exemplo declaramos duas variáveis do tipo boolean, e as inicializamos com os valores “true” e “false” respectivamente. Neste caso apenas o bloco de instrução OU retornará um resultado no console, visto que neste caso, é necessário que apenas uma condiçãoseja verdadeira. Já neste exemplo, os dois blocos condicionais retornaram um resultado no console, já que em ambos os casos as condições para que as mensagens fossem exibidas foram satisfeitas. OPERADORES LÓGICOS EM SQL Neste momento apenas a título de conhecimento, veja também como são os dois operadores na linguagem para banco de dados relacional SQL – Structured Query Language, ou em português linguagem de Consulta Estruturada. Se quiser saber um pouco mais, você poderá ler aqui. BÔNUS https://jdevtreinamento.com.br/curso-logica-de-programacao/index.html https://docs.microsoft.com/pt-br/sql/t-sql/language-elements/logical-operators-transact-sql?view=sql-server-ver15 OPERADORES DE INCREMENTO E DECREMENTO Os operadores de incremento e decremento estão muito presentes no cotidiano do programador, aliás, escrever algoritmos é também combinar o uso de diversos tipos de operadores para produzir um dado resultado. O que eles fazem é incrementar ou decrementar, o valor de uma variável em +1. Apresentamos abaixo a forma mais comum de utilizá-los, mas é importante que você saiba que existem outras maneiras, como declará-los antes da variável, ou fazer com que incrementem ou decrementem o valor em 2 ou mais. Por hora, �caremos com o modo padrão de uso destes operadores. No caso do exemplo abaixo, como os operadores de incremento e decremento foram declarados após a variável “num”, o valor atribuído a variável será lido primeiro e só depois este valor será incrementado e posteriormente decrementado. Se fossemos executar o programa acima, o valor exibido no console seria “10”. Acompanhe o raciocínio, o valor lido antes do incremento é o valor “10”, na sequência a variável seria incrementada em “+1”, assumindo o valor “11”. Entretanto logo abaixo o processo se repetiria, porém agora o valor lido é o da variável já incrementada, ou seja, “11”, em seguida este valor será decrementado em “-1”, fazendo com que a variável “num”, volte ao seu valor original PRECEDÊNCIA DE OPERADORES Quando falamos sobre os operadores aritméticos, ressaltamos que “expressões complexas combinam mais de um operador, bem como o uso de parênteses”. É importantíssimo que você guarde esta informação, porque quando reproduzimos na programação as operações matemáticas, elas resguardam as mesmas regras de precedência que aprendemos em sala de aula, e que são usadas em nosso dia a dia. Assim sendo (2 * (4 + 6)) é diferente de (2 * 4 + 6), uma vez que operador de multiplicação tem maior precedência em relação ao operador de adição, (2 * (4 + 6)) = 20 e (2 * 4 + 6) = 14. EM POUCAS PALAVRAS Neste tutorial aprendemos sobre os tipos de operadores em Java, falamos dos operadores de atribuição, aritméticos, relacionais, lógicos, de incremento e decremento, e até sobre a precedência em operadores aritméticos. Tudo o que discutimos é essencial para que você avance com solidez em seus estudos, seja sozinho, ou com a gente no Formação Lógica de Programação ou aplique na sua rotina de programador. Então, não se esqueça, sempre que bater aquela dúvida, retorne aos nossos tutorias e relembre os conceitos que discutimos aqui, mas se ainda assim a dúvida permanecer, fale com a gente. E como complemento desta leitura sugerimos, o post anterior “CONSTANTES E VARIÁVEIS”. Curso Pro�ssional + Certi�cado + Acesso Vilatício + Suporte. Full-Stack Web Java EE Mais de 900 aulas em PrimeFaces, JSF, Spring, Hibernate, JPA, Ireport, CDI e muitos mais. Se torne Full-Stack Java Web. Conhecer Curso Lógica de Programação Para se tornar um programador e resolver problemas complexos a sua lógica de programação deve ser a melhor de todas.. Conhecer Curso https://www.jdevtreinamento.com.br/algoritmo/ https://www.jdevtreinamento.com.br/formacao-java-web-profissional/index.html?hsrc=cG9ydGFsamE%3D https://www.jdevtreinamento.com.br/ https://www.jdevtreinamento.com.br/constantes-e-variaveis/ https://www.jdevtreinamento.com.br/portal-formacao-java-web https://www.jdevtreinamento.com.br/portal-formacao-java-web https://www.jdevtreinamento.com.br/portal-formacao-java-web https://jdevtreinamento.com.br/curso-logica-de-programacao/index.html https://jdevtreinamento.com.br/curso-logica-de-programacao/index.html https://jdevtreinamento.com.br/curso-logica-de-programacao/index.html Compartilhe: Quero ser um aluno Vip Quero o ebook grátis sobre Java Web Formação em JAVA WEB Completa Receba Aulas + E-book MEU E-MAIL É... RECEBER Institucional Maringá – Paraná – Brasil Programador Java Sênior Alex Fernando Egídio CNPJ 26.934.453/0001-89 Contato (45) 99979-5800 contato@jdevtreinamento.com.br Sobre os Cursos Todos os cursos possuem certi�cado Politica de Privacidade Termos de Uso Conectado nas Redes: http://www.facebook.com/sharer/sharer.php?u=https://www.jdevtreinamento.com.br/?p=6466 http://www.linkedin.com/shareArticle?mini=true&url=https://www.jdevtreinamento.com.br/?p=6466&title= http://twitter.com/share?url=https://www.jdevtreinamento.com.br/?p=6466&text= mailto:?Subject=&Body=I%20thought%20you%20might%20like%20this:%20https://www.jdevtreinamento.com.br/?p=6466 https://www.jdevtreinamento.com.br/aluno-vip-monitoria/index.html https://www.jdevtreinamento.com.br/baixar-ebook-java-web-gratuito-video/index.html https://www.jdevtreinamento.com.br/portal-formacao-java-web https://api.whatsapp.com/send?1=pt_BR&phone=554599795800&text=Ol%C3%A1,%20estou%20aqui%20no%20site%20e%20tenho%20algumas%20d%C3%BAvidas.%20Pode%20me%20ajudar? https://api.whatsapp.com/send?1=pt_BR&phone=554599795800&text=Ol%C3%A1,%20estou%20aqui%20no%20site%20e%20tenho%20algumas%20d%C3%BAvidas.%20Pode%20me%20ajudar? https://www.jdevtreinamento.com.br/politica-de-privacidade https://www.jdevtreinamento.com.br/termo-de-uso https://www.facebook.com/javaavancado/ https://twitter.com/alexegidio https://www.youtube.com/c/Javaavancado?sub_confirmation=1 https://www.instagram.com/alex.java.avancado https://www.linkedin.com/in/alexfernandoegidio/
Compartilhar