Curso de Java #07 - Operadores Aritméticos e Classe Math

360.8k views5871 WordsCopy TextShare
Curso em Vídeo
Video Transcript:
moll olá seja bem vindo a mais uma aula do seu curso de java meu nome é gustavo guanabara eu sou professor e na aula passada a gente já começou a ter o inicio de cálculo a gente fez a soma de dois números mas nessa aula a gente vai ter realmente o início dos estudos de operadores em java toda a linguagem tem sua série de operadores a gente vai começar agora nessa primeira parte da aula a ver os operadores aritméticos e como se faz conta em java a gente vai ver quem java assim como em php se você fez o curso em vídeo de php algumas coisas são feitas por operadores e algumas coisas por funções no caso do java aqui por uma classe específica que é a classe média que é uma classe para cálculos matemáticos como eu disse anteriormente a gente viu na aula passada como somado aos números o operador de adição mais sem problema nenhum a gente viu também o operador de atribuição que é igual é diferente do algoritmo por exemplo ou do pascal ou de algumas outras linguagens que usa o operador específico para a atribuição é diferente do igual né o javali utiliza o símbolo de igual para a atribuição e na aula passado a gente viu o operador de edição que é o símbolo de mais mas a gente não viu todos os operadores aritméticos vamos agora pra ele então não começar a ver os operadores aritméticos a gente viu na água passada que o operador mais ele serve para edição e se você tiver trabalhando com os 30 ele serve para a concatenação também ele junta duas estripes e vão ver um exemplo aqui com números 5 + 2 por exemplo é 7 isso tem dúvida nenhuma de forma semelhante a gente tem um sinal de menos para realizar a subtração nós temos por exemplo 5 -2 q3 temos também o operador asterisco que vai fazer a multiplicação um exemplo cinco vezes 2 vai a 10 temos a barra para realizar a divisão 5 / 22 e mail lembrando que o separador desse mal é o ponto e não a vírgula e temos também o operador por cento que vai dar o resto da divisão por exemplo 5 / 2 a 2 e resta um e se por acaso você nasce rolando com o operador de resto a divisão por exemplo você ainda não está pronto para estudar java eu já falei isso várias vezes você precisa ter a base de mas pra você poder estudar uma linguagem de programação então assim vai já chegando muito perto de um ponto onde quem não sabe algoritmo vai começar a se enrolar com java então assim está com dúvida não entendeu direito aqui ó em uma aula de operadores aqui é só clicar aqui tem uma aula de operadores de algoritmos aqui você vai ver realmente com a teoria eu explico que o resto da divisão o que a divisão inteira então sim é você precisa entender como funciona os operadores então eu vou passar por isso direto eu não vou explicar aqui detalhadamente como funciona o resto da divisão mas você já sabe como funciona né meu pequeno gafanhotos perto se você chegou agora e está dando uma estudada em java sem estudar o curso algoritmo mais uma vez aqui ó curso de algoritmo aqui você vai ter acesso a todas as aulas de algoritmo vai até a aula de operadores aritméticos lá você vai ver como funciona o resto da divisão mas nada melhor do que a gente botar em prática aos estudos fazendo um pequeno exercício vamos abrir o netbeans e voltar a funcionar então abriu seu netbeans caso você seja um aluno que na faculdade utilize outro ambiente como por exemplo o eclipse ou o o intelli jeitão você você pode utilizar ele normalmente eu vou exemplificar aqui utilizando o netbeans de qualquer forma a nossa essência é java buscar um projeto novo eu vou usar a aplicação java normal vou criar a classe principal chamar de operadores aritméticos clique em finalizar aqui vai criar meu projeto ea minha classe principal que já vai ficar aberta aqui vou vir aqui dentro do meu método bem e vou criar aqui por exemplo de criar uma variável indy aqui n 13 n 2 15 vamos criar uma variável flot que vai ser m se a média né vai ser nenhum mas n 2 / 2 mundo escreveu a média existem out a média é igual à m not aqui ó a diferença desse mais pra esse mais é que o primeiro é o operador de edição e o segundo é o operador de concatenação já que trata se de um stream vamos executar ele disse que a média entre 3 e 5 é o valor que está no meio entre 3 e 5 ao valor 4 ele mostrou que como 4. 0 já que m f lote e perceba o seguinte quando eu tenho utilizando vários tipos de operadores por exemplo no cálculo da média utilizam o operador de edição e operador de divisão quando estou utilizando dois operadores ao mesmo tempo é existe uma ordem de precedência e aí essa ordem segue a ordem da matemática então eu vou fazer em primeiro lugar a multiplicação divisão e resto da divisão depois as somas e subtrações então no meu caso aqui se eu tirar o parênteses o resultado vai ser outro vamos exemplificar no meu caso aqui se eu tirar os parênteses salvar e ao executar a média estava aparecendo 4 agora a média igual a 5 você pode perguntar nossa senhora ba mas a média entre 3 5 e 5 a 4 o programa que foi o seguinte ele fez n 2 / 2 já que a divisão é feita primeiro mesmo que a direção esteja aparecendo na frente a divisão vai ser feita primeiro porque matematicamente multiplicações divisões e resto de divisões são feitas antes das adições e subtrações então no meu caso é que ele faria o n 2 / 2 depois somaria o resultado com lyon e não é isso que eu quero eu quero primeiro fazer em um mais r 2 então vou botar entre parênteses então com parênteses eu mudo a ordem de precedência então eu forço com que o m12m dois aconteça antes que o resultado dessa soma seja dividido por dois ficou claro vamos fazer aqui um exemplo utilizando a biblioteca suingue pra gente poder trabalhar esses conceitos vão fechar e essa minha classe salvar vamos criar um novo projeto java aplicação java e nós vamos desmarcaram criar classe principal eu vou chamar de operadores suingue finalizar aqui nos pacotes eu vou criar um novo arquivo vai ser sua ong de frente clicando em próximo nós vamos criar o tela valores do meu pacote vai ser operadores finalizar então ele vai criar o pacote já com a classe e como é uma de frame já abriu aqui a parte do projeto ea parte de código-fonte tá aqui ó então eu posso alternar entre as duas vamos fazer o seguinte de forma rápida vou criar usando a minha paleta duas caixas de texto dos campos vou criar também dois leigos para identificar esses campos vou criar um botão e vou criar mais dois leigos aqui em baixo e mais dois leigos de resultado a idéia aqui vai ser a seguinte nós vamos solicitar dois números aqui então vamos para a configuração meu texto que vai ser vazio aqui também vazio quando os vazio text ele diminui as caixas né vamos aumentá las novamente o dar o text aqui de valor um chamado de numerador numerador e denominador - aqui os tamanhos botão aqui vai escrever dentro dividir aqui vai escrever divisão e em último vamos colocar resto vou colocar o valor zero aqui o valor zero que também não tem dois leigos com o valor 0 então o que eu quero é o seguinte eu vou digitar um número numerador outro número denominador comum uma dividida vai mostrar a divisão quanto vale e o resto dessa divisão vai ser o valor do resto da divisão entre um número e outro só linha que rapidamente vamos dar nomes o botão direito em nome da variável minha primeira variável vai se chamar txt num de numerador meu denominador vai se chamar txt bem de denominador o botão de dividir vai se chamar the ten dividir esse meu livro aqui vai se chamar lbl vi esse daqui lbl resto caso você tenha alguma dúvida em relação a algum nome olha aqui nessa taxa é aqui do lado você tem que configurar todos eles da mesma maneira eu não configura um nome desses objetos aqui desses leigos que eles são só leibholz de identificação lembro de identificação eu não tenho necessidade de alterar o nome nenhum objeto na verdade eu tenho necessidade mas como eu vou trabalhar aqui né didaticamente e você como programador também recomendo sempre que modifique os nomes dos objetos que você vai usar beleza andando pra entender tranquilinho até aqui beleza monte a sua interface não adianta você fica vendo fazer então abriu se o netbeans pausa o vídeo cria sua interface faz o programa funcionar se possível faça funcionar agora eu já expliquei como é que funciona vou botar numerador denominador poderia mostrar a divisão eo resto da divisão tenta fazer você caso você não consiga eu vou te ajudar caso você esteja ainda com dificuldade assisti o vídeo se não tá esperto pausa e tenta fazer e depois você vai conferir o resultado com o mesmo então pra isso você programar o evento de clique nesse botão então vou clicar no botão botão direito do mouse eventos action action perform ele vai abrir o método aqui do action perform do botão eu vou fazer o seguinte vamos receber esses valores então vou criar uma variável numerador e uma variável o denominador essa variável para o numerador vai receber o que está na caixa de texto txt num ponto jet text ele vai dar problema porque os tipos são incompatíveis apenas lembrando isso daqui retorna um valor strong eu estou tentando jogar dentro de uma área inteira então pra isso eu posso botar um ponto paciente e aí dentro do parêntese eu vou colocar o conteúdo da caixa de texto agora que parou de dar erro vou fazer a mesma coisa por denominador e xt dem 1. 7 text já tem o numerador e denominador vou criar uma variável flot vai se chamar div ele vai ser o numerador dividido pelo denominador e vou criar uma variável flot chamado rech que vai ser o resto da divisão entre m&d utilizando aqui os operadores de divisão e resto da divisão agora o que eu tenho que fazer é mostrar no meu lbl div 1.
7 text vou ter que mostrar o div minha variável de divisão ele está dando erro aqui porque está com tipos incompatíveis flonty não pode ser convertido para stream então porque isso aqui é um valor floating então tem que converter flot ponto de o strong div vou fazer a mesma coisa para o lb lr o ponto 7 text floating também ponto de o stream rech feito isso vamos executar e vai perguntar qual é a minha classe principal já escolhi executando o meu programa votar oito no numerador 2 no denominador comum a dividir 8 / 2 da 4 eo resto da divisão de beleza funcionou então é isso esses são os operadores aritméticos do java uma procedimento que não tem mais alguns que a gente tem que entender os próximos operadores que a gente vai ver são os operadores honário os operadores lunares são os mesmos da linguagem c ou linguagem php por exemplo a gente tem o operador mais mais que vai fazer um incremento um exemplo é o hamas mais por exemplo que é a mesma coisa que a recebe a mais um tom mais mais ele soma uma unidade a uma determinada variável de forma similar eu tenho menos - que vai fazer um decrescimento por exemplo a menos - é a mesma uma coisa que escrever a recebe a -1 uma coisa importante prestar atenção é que a posição desse incremento ou desse de crescimento vai influenciar diretamente no seu resultado então o java assim como a linguagem c assim como a linguagem php ela utiliza o conceito de posse incremento e pré incremento posse de crescimento e pré decremento a posição do mais mais ou menos - isso é antes ou depois da variável vai influenciar diretamente no resultado do cálculo vamos ver alguns exemplos utilizando aquele nosso primeiro exemplo que a gente criou nessa aula para fazer o incremento eo incremento alto com a segunda classe aberta por fechar e vou abrir o meu operadores aritméticos aqui o primeiro programa então eu vou vir aqui em pacotes vão abrir o pacote foi criado ea minha classe então esse aqui foi o primeiro exercício que a gente criou basicamente funciona da seguinte maneira no criar uma variável int chamada número e vou colocar o valor 5 dentro desse mundo pois vou fazer o seguinte número mas mais e vou mandar escrever na tela o número aqui colocar esse código de cima com o comentário boto barras turísticas turístico barra e somente de baixo vai ser executado a gente já viu comentários nas aulas anteriores executando ele me mostrou o valor 6 mas n era 5 quando eu utilizei o mais mais ele ficou lá não sei que eu recomendo que você teste na sua casa em vez de mais mais bota - - em vez de cinco que passou a ser 6 ele vai ser 15 já passava de quatro faz o teste você vai ver funcionando mas o mais importante aqui é o explicar a diferença entre o pré em crescimento eo pós o incremento se você entender e se possível também vai entender o poste de crescimento e o prédio incremento vamos imaginar o seguinte eu vou colocar aqui int variável valor vai ser 5 + número mais mais em lugar de mostrar o número eu vou mostrar o valor baixa tensão bem nesse código então tem uma variável número quem tira recebendo 5 depois é o valor que também inteira que vai ser cinco mas o número mais mais e você tende a pensar o seguinte eu vou somar mais um número então ele vai ser cinco mais 166 mais 5 11 então teoricamente ele vai pegar esse 11 jogar dentro de valor na hora de mostrar na tela eu vou mostrar 11 na hora que eu fui executar ele me mostrou 10 ré agora confundiu né não confundiu presta bem atenção o mais mais quando ele vem depois do número significa o seguinte utilize o número isso é que vai fazer cinco mais número também fazer cinco mais cinco e depois de fazer essa soma soma mais um número você vai entender realmente quando você muda a posição do mais mais para comer se no lugar de número mais mais eu colocar mais mais número significa o seguinte eu quero que ele pegue 5 e some com número já pré incrementado de unidade então o que eu vou fazer eu vou pegar um número que é 5 vou somar mais um antes porque está em pré incremento de valer 6 agora vou fazer cinco mais 6 11 na hora que eu executar ele já vai mostrar 11 então a diferença aqui é o seguinte ó vou colocar mais mas depois que significou mais mas depois faça todas as operações que você precisar e no final só mais um número semana mostrar o número aqui ó ele vai mostrar que no final o número é 6 então ele vai somar mais um número o número para 5 passou a valer 6 só que ele só vai passar a valer 6 depois porque escreveu mais mas depois depois que eu somar 5 com o número vai pegar o valor antigo número não vai somar mais um vai fazer a minha soma aqui depois ele vai somar mais um e é exatamente por isso que se chama pré incremento e pós incremento beleza vou colocar o número agora com 10 e vou colocar aqui lá quatro mais número - - o que significa isso vamos raciocinar eu tenho 10 aqui ó ele vai pegar 10 e eu vou querer tirar um nisso eu vou querer transformar as idéias em 9 só que só vai ser depois porque o teu de incremento depois da variável número então eu tenho aqui o meu número vai ser considerado 10 para somar com 4 e vai fazer 14 depois que ele fizer 14 depois que a operação tiver realizada ele somou aqui ó 4 com 1014 jogou dentro da variável valor acabou em operação ainda não eu tenho que tirar um do número ele vai tirar para 9 na hora comanda a mostrar valor ele vai mostrar 14 que foi o 10 mais quatro depois vai mostrar o número que vai ser o 9 isso é porque depois da operação de soma com quatro eu realizei a eliminação de uma unidade vamos executar e ver que eu falei ó 14 que seria o 10 mais 14 depois s10 vai sofrer um decrescimento e vai passar vale 9 então quando eu mando e mostrar o número ele me mostrou 9 ficou muito confuso não entendeu duas dicas para você em primeiro lugar assistir de novo dá uma voltada e assistir novo não deixa passar gente vai usar mais mais ou menos - demais quando a gente entra em repetição então não deixa passar a outra dica que eu dou a segunda dica é assistir à aula de operadores de php lá eu expliquei mais mais e menos - de uma outra maneira foi um outro momento então pode ser que aquela outra maneira seja melhor pra você então ficar sem saber você não pode o que eu tenho que mostrar pra você é que você tem mais uma opção então vai dar uma olhada lá no curso de php ou assistir essa aula de novo assistir esse pedacinho de novo mas mais ou menos - e mais importante pequeno gafanhoto assista o vídeo exercitando não adianta só olhar faz seus testes aí bota mas mais antibióticos mas depois ver como é que funciona ver os resultados só assim você vai aprender e ainda um espaço para mais uma dúvida que geralmente o aluno iniciante tem tá beleza se você quiser somar uma unidade é mais mais se você quiser somar duas unidades mas mais não não é assim que funciona nós temos operadores específicos caso você queira fazer uma atribuição com os valores acima de humanidade e esses são o que nós chamamos de operadores de atribuição o operador mais igual ele faz uma soma e atribui por exemplo a mais igual a b é a mesma coisa que escrever a recebe armas b de forma similar eu tenho ou menos igual ao que faz uma subtração e atribuição onde há menos guabi é a mesma coisa que a recebe a menos b isso eu vou ter pra todos os outros operadores aritméticos que a gente viu anteriormente então eu vou ter o símbolo de multiplicação para a divisão e para o resto da divisão sempre utilizando o operador seguido do igual vamos fazer um exemplo utilizando aquela nossa classe que nós já temos vou colocar aqui também como comentário pra você ter esse código depois quando você baixar o pacote vamos fazer o seguinte aqui em xixi recebe 4 se eu faço xixi mais igual a 2 é a mesma coisa que eu escrever de volta como comentário aqui x recebe x + 2 x recebe ele mesmo mais dois se eu mandar mostrar o xis aqui vamos executar e ele me mostrou 6 isso é x que estava com quatro anos o meio mais 2 x recebe ele mesmo mais dois e ele ficou com 64 mais 26 você pode fazer a mesma coisa por exemplo com o vezes que eu estou fazendo aqui x recebe ele mesmo que é 4 vezes 2 248 trampolim então essas formas de atribuição elas facilitam a nossa digitação e elas aparecem vários códigos então você tem que está bem acostumado com a aparição desse tipo de operadores mais uma vez o php funcionar da mesma maneira se você já foi nosso pequeno gafanhoto no curso de php você não está tendo dificuldade nenhuma nessa aula porque os operadores são os mesmos não é porque o java copiou php é porque os dois têm a mesma origem que é a linguagem c se você se lembra muito bem na aula de algoritmo você tinha os operadores de adição subtração multiplicação divisão resta divisão e tinha operado há mais quer o dia exponenciação e você pode estar pensando mas peraí vou embora mas o java é uma linguagem tão completa e não tem um operador diz polícia a ação não mais tem como fazer exponenciação de uma maneira simples e como você deve se lembrar bem na aula de matemática você teve uma série de coisas que você aprendeu muito mais do que somar subtrair multiplicar dividtiria resta divisão você tem operações matemáticas operações aritméticas mais avançadas como por exemplo arredondar o número tinha a raiz quadrada dele utilizar potências realizar cálculos de seno cosseno tangente conversão de ângulo para radian no conversão para a dgrhe na conversão para graus então assim é a matemática é bem completa mas como eu falei anteriormente pra você o java é como se fosse aquele carro popular ele vem só com feijão com arroz caso você precise utilizar coisas adicionais você precisa utilizar classes específicas existe uma classe específica para a realização de cálculos aritméticos no java existe uma classe chamada mestre que se você sabe o mínimo de inglês messi é matemática essa classe matemática ela possui constantes e métodos internos para a realização de cálculos matemáticos por exemplo se você quiser ver o valor de pi existe uma constante interna na classe média que realiza o retorno desse valor então por exemplo se utilizar mef ponto pi sendo que esse p são duas letras maiúsculas você se lembra muito bem em relação à letras maiúsculas e minúsculas a gente viu isso mais aulas anteriores todas as letras maiúsculas identificam constantes então caso utilize messi ponto pe ele vai retornar 3,14 khimki por aí vai outra coisa que vi a classe média e permite é o pw que é power ou exponenciação ou potência né que vai calcular a espoliação então eu posso utilizar por exemplo mef ponto pior w52 o que significa 5 2 então eu quero fazer uma potência entre 5 e 2 seria sim como base dois como expoente então seria 5 ao quadrado que resultaria em 25 também posso fazer trt que significa escolher entre ou raiz quadrada posso utilizar por exemplo messi ponto srt 25 srt 25 significa que estou tentando calcular a raiz quadrada de 25 que é 5 o método internos e brt calcula a raiz kubica então messi pontos e brt 27 seria a raiz cúbica de 27 que seria 3 porque três vezes três vezes três igual a 27 vamos utilizar alguns desses valores no nosso exemplo prático no caso aqui agora vejo utilizar essa classe 'feirinha usar nossa classe bonitinha vamos abrir aqui o meu operadores ruim só para a gente dar uma variada e você não falar que estou fazendo tudo do jeito feio mostrar aqui vou mudar isso aqui o texto para calcular eu vou mudar isso aqui pra raiz mudar esse nome também da lbl resultado de resultado vamos ao método calcular aqui ó então vamos ao código-fonte procurar o método de calcular de dito anteriormente tá aqui ó note que ele já mudou pra ele bebe rech ele já próprio netbeans muda o nome do controle muda aqui no lugar aqui desse réis o resultado ser feliz de poder calcular por exemplo a raiz quadrada do primeiro número então nós vamos colocar aqui mef com m maiúsculo porque é uma classe ponto o netbeans te ajudando ele já vai te dizer qual é a estrutura se você perceber aqui ó ele está utilizando a biblioteca java ponto leng ponto messi lembra que já valendo é o pacote já carregada automaticamente ele já carregou a classe média dentro dela então eu tenho um método aqui é se que r t local colégio rtpn do primeiro valor aí tá dando erro aqui porque olha só tipos incompatíveis possível conversão errada de double para flute você tem duas opções aqui ou você converte essa variável para a globo ó vai fazer bambu mas você vai ter um problema que traz a sua classe de fazer um teste aqui ou você vem aqui ó e coloca um type cast pra pegar esse valor e convertê la frontera vamos executar na minha tela que eu vou colocar por exemplo 25 denominador 5 ele vai calcular a divisão entre 25 e 5 ac ea raiz quadrada de 25 então tá lá a divisão 25 por 5 a 5 ea raiz quadrada de 25 é 5 também belezinha ea classe média e não para por aí tem mais algumas coisas dentro dela que eu quero mostrar pra vocês além da constante pp e dos métodos pws trt e c brt a gente tem os arredondamentos por exemplo se utilizar o método abs abs vem de valor absoluto por exemplo se eu boto messi ponto a bs - 10 significa o seguinte o número inteiro é 10 não faz inteiro ou real 10 10 e mail o que quer que seja o abs de -10 seria 10 do abs elimina o valor negativo é o valor é o valor absoluto o que vale é apenas um número não o sinal dele em relação à redondamente eu tenho três maneiras de arredondar a primeira seguinte flor que quer dizer chan vai fazer o arredondamento para baixo por exemplo messi ponto flor 3. 9 3. 911 número é quase 4 mas mandou a redonda para baixo seu arredondar para baixo 3.
9 vira 3 a gente chama isso também de truncagem isso é você tira a partir desse mal independente de qual ela seja a gente pode chamar se também de divisão inteira se você quiser sempre arredondar pra cima independente da parte desse mal você vai utilizar o se o que faz o arredondamento para cima então mef pontos e 14 ponto 24. 044 nem um pouquinho acima de 4 se eu fosse arredondar normalmente viraria 4 mas como estou utilizando se eu só arredonde pra cima ele vai jogar para 5 a banda apareceu quiser arredondado do jeito tradicional é o 4. 2 ela é redonda viraria 43.
9 também vedaria 4 eu utilizaria o balde round faz arredondamento aritmético então messi pontual 5. 6 arredondado aritmeticamente vai ser 6 vamos ver na prática funcionando eu vou abrir a minha primeira classe ela mais simples linha vamos botar um comentário esperto aqui e vamos fazer o seguinte agora vamos criar um valor real aqui ver 8. 383 é quase 82 efe né pra flot vamos fazer o seguinte eu quero arredondamento vou criar aqui a r é o arredondado vai ser messi ponto primeiro vamos testar o flor e flor de ver ele vai me dar um erro aqui que é por conta do tipo então ele vai querer doente possivelmente vai converter no meu caso aqui vou forçar que eu quero realmente int vou usar meu pai ps aqui pra isso então messi ponto flor de everton 8.
3 arredondado para baixo vou botar 8. 9 aqui 8. 9 quase 9 se eu quiser redonda para baixo eu vou utilizar o flor então manda escrever na tela aqui o hr na hora de mostrar e mostrou oito arredondou para baixo se eu quiser arredondar para cima se eu errei no produto acima 8.
9 pra cima e 9 para colocar aqui 8. 5 e no lugar da silva usar o round executando ele mostrou nove porque 8. 5 jogado pra cima agora se fosse 8.
4 já iria para 8 e aí tá confuso para trabalhar com tantos números se você é um programa do iniciante você deve também enrolado essa aula para assistir duas vezes três vezes não tem problema você tem uma semana até assistir a outra aula mas se você está acompanhando logo no lançamento senão não tenha pressa pra você pular para a próxima aula assistir essa entende exercita e praça próxima o terminal tem mais uma coisa pra mostrar pra vocês também está relacionado com essa coisa de número que são os números aleatórios o java assim como a maioria das linguagens de programação tem suporte a geradores de números o gerador de números do java é um método que faz parte da classe média que é o messi ponto renda significa randômico o rambo ele vai gerar um número entre 0 e 1 vamos ver isso funcionando colocar aqui como comentário também levamos o seguinte é uma variável da boa aqui que o mestre vai gerar um dano então eu facilito o travar a lei de aleatório colocar metro. uk isso mostrar na tela o valor ali o valor aleatório que ele gerou apertando play e miró 0. 26 era perto por lenovo 0.
66 0. 3 10. 480 ponto 17 10.
09 0.
Copyright © 2025. Made with ♥ in London by YTScribe.com