[Música] fala Mestres beleza no vídeo de hoje nós iremos iniciar aqui um novo módulo né que é o módulo de estrutura de controle de fluxo tá então nós iremos ver aqui como que nós podemos estar controlando o fluxo do nosso código né Para onde que o nosso código vai e nessa primeira aula nós iremos ver as estruturas condicionais tá então nós teremos aí o felse sut operator né E também o ternário que são basicamente operadores ou estruturas que nos permitem fazer uma condição né verificar por uma condição se aquela condição for satisfeita eu faço algo
sen não eu vou fazer outra coisa e e e essa essa organização né nós iremos ver como isso é feito como que é a sintaxe desse dessas operações tá então o primeiro aqui carinha que a gente vai falar é do IF else tá então aqui ó if else que Como como o nome já fala né a tradução aqui do IF seria se então eu vou verificar essa condição né se uma condição for verdadeira eu faço algo se não que seria o else eu faço outra coisa então a sintaxe disso aqui ó seria if parênteses e
Chaves tá abre e fecha parênteses e abre e fecha Chaves então dentro dos parênteses eu vou verificar a minha condição e dentro das chaves eu vou colocar o código que eu quero que Execute então eu vou criar uma variável aqui ó vou chamar de nota que eu vou falar que nota é igual a o então na minha condição eu vou verificar se nota é maior do que o tá então se nota for maior do que oito eu vou executar o código que está dentro desse bloco N dentro que das chaves então aqui dentro eu posso
colocar né console log maior que 8 é aprovado né aluno ó aprovado se eu executo isso aqui nós teremos aqui no console nada né não vai printar nada por qu porque a nota não é maior do que 8 n nota é igual a 8 então então se eu diminuir aqui a verificação Se eu colocar aqui seis e executar nós temos aqui o console log aprovado então ele executou né esse bloco aqui que esse esse bloco esse bloco de código por conta da nossa condição né Essa verificação aqui do condicional E aí nós temos o else
né que seria esse sinão que seria o código que é executado caso a condição não seja verdadeira então eu vou voltar tá aqui a condição para oito para isso para oito a comparação aqui porque se nota for maior do que oito que não é verdade Aí ele vai cair no else né que seria esse caso aí onde a primeira a primeira verificação não foi verdadeira e aqui no ELS eu vou dar um console log eh o aluno foi ficou na média ficou na média né que menor do que oito ali nesse intervalo entre cinco acima
de cinco tá acima de seis mas tudo bem Tanto faz Eh o importante é que nesse caso aqui agora ele vai executar o else né essa parte aqui de baixo vamos executar aqui ó dar o play ele printou média né que seria o ELS aqui o conso log do ELS Ou seja eu consigo né fazer a verificação e decidir qual parte do código vai ser executada e a gente viu que também que o if ele não precisa Obrigatoriamente de um de um else né então eu posso ter só o if só só verificando uma condição
eu posso ter o if ELS que verifica a condição e faz alguma coisa caso ela não seja verdadeira e nós temos também uma outra estrutura ou na verdade nós nós conseguimos fazer o alinhamento de ifs tá então eu consigo no else aqui adicionar um outro if E aí a gente começa a aninhar as coisas e a sintaxe seria mais ou menos isso aqui ó eu vou deixar isso aqui comentar e deixar aqui um comentário alinhando if if alinhamento de if el então aqui eu teria o seguinte eu vou pegar essa mesma estrutura de notas n
essa verificação só que agora no eu vou adicionar um if ó if parênteses então aqui agora eu vou conseguir fazer uma outra verificação Então o que seria né eu vou verificar se a nota é maior do que o o aluno foi aprovado se não eu vou verificar de novo if vou verificar se nota é maior do que 6 Opa se então se a nota for maior do que se o aluno vai est na média e por último né então aqui eu posso adicionar um outro else e nesse outro else eu vou colocar né console log
reprovado que é o caso de do aluno que tá com a nota menor do que seis né E com isso aqui nessa estrutura eu fiz um alinhamento né eu alinhei um if dois ifs um na verdade um if eu fiz o alinhamento de outro if né e eu posso continuar fazendo isso aqui no outro eu colocar um outro if e sair verificando e eu posso também ter ifs dentro de ifs tá então por exemplo tá vamos executar isso aqui primeiro para não ficar mais confuso que aqui agora ele não ele não printou nada não printou
nada então o que que aconteceu Eu verifiquei se a nota é maior do que 8 não é maior do que 8 é igual a 8 Então por isso que ele não ou dentro desse if tá e houve houve um um erro aqui porque eu eu acho que às vezes eu posso podde até verificar aí no no vídeo que quando eu tento executar com alguma coisa selecionada Ele vai tentar selecionar só aquele essa parte que eu selecionei né a nossa extensão esse Run code e por isso que as nesse agora que que não printou nada né
que foi aqui eh eu pensei que tinha dado algum problema na verdade não a lógica aqui tá correta vou dar play de novo e ele vai printar aqui ó média tá então o que que aconteceu foi as nossas verificações né a nota não é maior do que oito só que ela é maior do que seis Então nesse else if aqui né ele entrou aqui dentro e executou essa parte do código se eu se eu reduzir a nota ou seja eu vou colocar a nota ig a 5 e eu dar play aqui ele vai printar reprovado
tá Ou seja a nota não é nem maior do que oito nem maior do que seis então caiu no ELS aqui como reprovado tá então com essa estrutura de condicionais a gente consegue estender isso aqui para ficar muito maior e enfim as coisas podem ficar mais complexas igual eu tava falando a gente consegue ter um if dentro de outro if então aqui eu posso fazer o seguinte ó se a nota for maior do que o esse cara ele foi aprovado né só que se a nota for maior do que oit eu vou adicionar um if
dentro do outro então eu vou verificar aqui ó dentro do do do bloco de código aqui de nota maior do que 8 eu quero verificar se a nota é igual a 10 se a nota for igual a 10 eu vou dar um console log e lá gabaritou e se não se não for igual a 10 eu só vou dar o consol log de aprovado tá então aqui agora eu tenho um if dentro de outro if e a gente consegue fazer a essa usar ifs dentro de outros ifs e também dentro do ELS e enfim sair
usando Eh nessa estrutura aninhada tá a gente não tem limitação em relação a isso não e com essa estrutura do jeito que tá aqui agora se eu dar play ele vai printar reprovado porque a nota tá igual a cinco né se eu passar a nota igual a oit ele tá na média né tem que ser maior do que oito então vou colocar nove se a nota é maior do que maior do que oito né no caso nove aluno aprovado tá e se a nota for igual a 10 ele vai printar aqui que o aluno gabaritou
tá então tá correto um essas nossas condições né Essas essas comparações que a gente tá fazendo aqui Tá correto na lógica no que a gente propôs aqui a fazer que é essa verificação de notas e isso esse é o tipo de coisa é o tipo de estrutura que a gente acaba criando quando a gente tá trabalhando com ifs tá eh quando começa a ficar muito complexo a gente tem outras opções e essas outras opções eu vou mostrar para vocês aqui que seria o switch e temos também o ternário tá o ternário ele acaba sendo um
pouco mais abstrato mas o Switch que é o que nós vamos ver agora ele é interessante tá É bem interessante e assim a diferença de um pro outro seria que o sutch é mais adequado para quando nós temos mais verificações né mais casos aí eh para ficar verificando porque a notação em si a sintaxe é melhor tá então aqui no sut nós vamos manter esse exemplo da nota tá eu vou comentar esse primeiro if esse esse primeiro não esses ifs alinhados aqui pro nosso console continuar Limpo né E vamos continuar usando essa variável nota tá
então aqui no Switch o que que eu o que que eu vou fazer né no como que é a sintaxe disso aqui então nós temos Switch aqui dentro do Switch nós temos também parênteses e Chaves tá então dentro dos parênteses eu vou passar a variável que eu estou analisando então no caso aqui no a diferença no IF né porque no IF eu já fazia e a comparação Pô eu quero saber se nota é maior do que oito né no caso aqui do sut já vai ser diferente eu vou passar qual variável eu tô querendo analisar
que no caso é nota né então eu vou passar aqui ó sutch nota e dentro das chaves nós iremos verificar pelos casos que que nota pode assumir né os estados ali que nota que nota pode estar assumindo então eu posso verificar caso e aqui a anotação é esse Case eu vou verificar se caso nota for igual a o eu vou fazer alguma coisa tá então eu coloco dois pontos e aqui depois do Case eu posso escrever aqui a lógica que eu quero que Execute então no caso aqui eu vou querer dar um consol log e
aprovado Se eu quisesse fazer outras coisas aqui eu poderia executar ó ou outras coisas e no final de cada Case nós precisamos de um Break tá então esse Break aqui é para parar para indicar né que nós chegamos no fim desse caso que nós Eh que que foi encontrado né que é o caso onde o valor é igual a 8 se a gente não tiver isso todos os casos que tiverem depois desse Case eles vão também continuar executando se a gente não colocar o Break né que é o o fal true é um comportamento do
Switch Case padrão chamado F true né que se escreve assim tá E que a gente é muito difícil a gente ter um um um use case para isso então o padrão sempre que nós estamos aqui no Case a gente quando chega no final a gente coloca o Break tá então com a nota sendo igual a 8 eu vou trocar aqui para o e vamos executar isso aqui nós teremos no console aprovado outras coisas enfim o que eu for digitando aqui dentro do Case if chamar Enfim eu posso é como se fosse um bloco de códigos
aqui Depois desses dois pontos e eu posso adicionar outros casos né então case se nota for igual a 10 eu vou ter console log gabaritou e aqui o nosso Break eu vou tirar esse outras coisas Tá mas agora se eu trocar a nota para 10 e a gente executar o Switch Case vai ter aqui ó gabaritou tá então o Switch Case Ele é bem interessante a gente pode registrar vários casos e só que eu acho que vocês perceberam aí já que dessa forma que nós escrevemos o swit case ele vai avaliar por valores exatos tá
então Eu verifiquei se nota é igual a 10 se nota é igual a 8 e não tem nós não estamos fazendo essa comparação né se é maior que menor que igual e para conseguir fazer isso a anotação do Switch Case vai mudar um pouco na verdade não vai mudar muito do que nós temos aqui e a gente só muda o ao invés de passar a variável que eu quero comparar o caso eh aqui entre parênteses eu vou passar o seguinte eu vou passar true então o que que significa isso aqui que eu vou escrever ó
Switch true e aqui dentro eu vou registrar os meus casos né então caso eh nota for maior do que oo eu vou fazer alguma coisa e dar o Break né caso nota ou maior do que C eu vou fazer alguma outra coisa o que que mudou aqui eu estou fazendo o sut agora verificando por um valor true né que seria o boleano aí né verificando por um verdadeiro e esse verdadeiro ele vai ser resultado aqui dessa comparação que eu estou fazendo no Case né então se antes eu verificava se a o valor da variável nota
é algum desses valores agora com o su true eu vou verificar se alguma dessas expressões vai retornar true tá e se alguma delas retornar true a gente cai no caso e executa o código então aqui agora com esse Switch true eu posso verificar se a nota for maior do que oito eu vou ter lá o consol log aprovado né vai ser aqui e no final Break Opa Break se a nota for maior do que cinco vou ter que também consol log H maior do que cinco é média né E no final break break aqui também
então com esse Switch true eu vou comentar o Switch aqui na nota a gente vai ter o comportamento idêntico ao do IF né S só que agora é anotação ficou um pouco diferente e quando as coisas crescem quando a lógica começa a ficar um pouco mais complicada ficar fazendo if else if el if elif alinhando os ifs pode ficar bem complicado e já no Suit a anotação é um pouco melhor tá então se eu executar isso aqui ó ele vai mandar para mim um aprovado porque nota é maior do que oito nota é igual a
10 e só que o outro problema do sut é que nós não podemos alinhar os cases né eu não posso colocar um Case dentro do outro mas se eu quiser eu posso eu poderia colocar um sut dentro do outro só que não é tão comum né as coisas não você pode fazer mas é menos comum eu aninhar o Suit do que eu aninhar o ZS Tá mas enfim é uma outra estrutura de controle que nós temos que também é extremamente poderosa tá tanto sut direto na variável para verificar por valores exatos quanto o swit true
pra gente avaliar as expressões e executar o código referente ali ao resultado dessas opções Tá certo e e aqui por último nós temos o ternário ternário o ternário como o nome já diz ternário vem lembra eu não sei de onde vem mas lembra três tá e três o quê no ternário nós temos três operandos tá então o operador ternário ele ele tem esse nome porque nós temos três operandos a gente vai trabalhar com três ã podemos dier três expressões ou três valores três operandos né o nome que a gente dá então o operador por exemplo
operador de soma Ele trabalha em cima de dois operandos né eu tô somando um número com outro eh o operador de subtração ele vai ter dois operandos no ternário nós temos três operandos Então como que é a anotação disso aqui eh no ternário eu posso retornar valores eu posso executar valores de dentro do ternário executar os consoles log né Essa parte de retornar a gente vai falar mais disso lá em funções então eu não vou entrar muito aqui na ideia do retornar a gente vai basicamente chamar os nossos console logs então o que que eu
vou fazer eu vou verificar se a nossa variável nota se ela é maior do que o Beleza se ela for maior do que o eu tenho que a interrogação então se a nota for maior do que o eu coloco interrogação que vai ser esse caso de sucesso onde eu faria o console pon log console pon log aprovado e aqui se não for maior do que o eu vou ter o console pon log no caso é menor do que 8 né então ele tá na média tá então esse é operador al ternário né a gente os
três operandos seriam esses três caras aqui que no caso aqui esses dois o o do caso verdadeiro e o do caso falso são de fato aí consoles logs mas isso aqui pode ser e e quando a gente começar a aprofundar mais a gente vai ver que o pode ser retornos né retornos de valores enfim a gente pode criar bastante lógica interessante aqui da mesma forma que a gente pode dos ifs ou no Switch tá não tô falando que nos outros a gente não consegue inclusive o ternário ele vai lembrar muito if né então eu tenho
a expressão se ela for né Eh maior que ou melhor maior que no caso aqui né se a expressão for verdadeira eu vou executar o que tá depois da interrogação se não eu vou executar o que tá depois dos dois pontos tá então executando isso aqui nós temos lá aprovado então nota é maior do que oito né nota é 10 Se eu colocar um valor menor aqui c e executar estamos na média né caímos nesse outro caso aqui e no ternário a gente pode também alinhar né então se ao invés de dar o consol long
média aqui na aprovado eu posso verificar pô nota Ela é maior do que C se for console pon log média e aí se não for console log reprovado tá então aqui eu alinhei dois ternários né um um não tá bem dentro do outro mas é no retorno do outro e a gente consegue né brincar com isso aqui a a anotação fica bem mais abstrata né fica bem mais estranho de ler mas isso aqui é de de de primeiro momento assim quando a gente tá acostumando com o ternário isso aqui realmente vai ficar mais estranho mas
de acordo a gente vai se acostumando isso aqui deixa de ser algo tá então posso executar ó deu reprovado Então por que que deu reprovado a nota é igual a CCO né Então Eu verifiquei se a nota for maior do que C ele tá na média então se eu deix deixar aqui a nota igual a se e executar isso aqui de novo temos lá que o aluno está na média tá então com isso aqui com esses três operadores operadores expressões eh enfim a gente pode dar vários nomes aí que são if else suit case e
o ternário a gente abordou aí os principais eh as principais condicionais que nós temos aí no JavaScript tá então eu espero aí que eu tenha ajudado qualquer dúvida pode estar deixando um comentário logo abaixo e é isso aí muito obrigado e até a próximo [Música]