Curso de Java #06 - Tipos Primitivos e Manipulação de Dados

618.09k views8035 WordsCopy TextShare
Curso em Vídeo
Tipos Primitivos do Java O Java tem os tipos primitivos: Lógico: boolean Literal: char Inteiro: by...
Video Transcript:
[Música] [Música] Olá seja bem-vindo a mais uma aula do seu curso de Java o meu nome é Gustavo Guanabara eu sou seu professor e na última aula a gente já começou a criar algumas coisas mais interessantes não foi mesmo e agora a gente vai dar continuidade a nossos estudos em Java aprendendo tipos primitivos e manipulação de dados você deve se lembrar muito bem do curso de algoritmo e se você ainda não fez olha aqui ele aqui meu querido você precisa saber algoritmo eu não vou cansar de encher o seu saco eu sou chato enquanto você
não estudar algoritmo vai vai ser complicado para você você deve lembrar do curso de algoritmo que a gente tem quatro tipos básicos o tipo inteiro tipo real caractere e lógico então esses quatro tipos na verdade no Java vão virar quatro famílias então se você tem algum problema com esses quatro tipos você volte lá no curso de algoritmo porque esses quatro tipos vão virar quatro famílias só o tipo inteiro ele tem quatro subtipos dentro dele então meu querido gafanhoto nada de preguiça bota os seus estudos em dia porque senão o Java vai se tornar difícil volto
a dizer a mesma coisa tem muita gente que chega para mim para mim fala assim Guanabara mas Java é muito difícil eu falou beleza você não gosta de Java você acha Java difícil como é que você se vira com algoritmo ah algoritmo eu não sei direito não se você não sabe algoritmo direito meu querido você não vai conseguir aprender Java você não vai conseguir aprender linguagem nenhuma não existe Professor santo que faça milagre eu não sou milagreiro tô te dizendo Eu eu prometi para você lá no início do curso que eu vou fazer você aprender
Java mas você precisa me ouvir se você não aprender algoritmo direito você não vai conseguir ir aprender Java não há santo que faça isso acontecer e além dos tipos primitivos a gente vai aprender como fazer saída de dados a gente já viu o System out print e o System out print LN só que a gente vai ver mais dois comandos de saída a gente vai ver como é que vai fazer os comandos de entrada você vai entender que o Java não tem comando de entrada por padrão a gente vai ter que importar alguma coisa por
fora e a gente também vai fazer Nossa interface saída e entrada utilizando o conjunto de bibliotecas swing então sem muito papo sem muita conversa vamos botar a mão na massa porque ó prepara o coraçãozinho essa aula tá grande e eu dou uma dica para você assiste essa aula aos poucos vai assistindo um pouquinho agora daqui a pouquinho um pouquinho mais depois você assiste ela toda pratica essa aula está grande mas eu precisei condensar isso tudo na mesma aula pra galera que sente falta de aula grande essa aqui ó tá chuchu beleza para quem não tem
muita paciência faz aos pouquinhos mas não desiste bem antes de começar a ver os tipos primitivos eu tenho que te mostrar uma coisa importante que já apareceu algumas vezes com certeza você já entendeu mas eu vou mostrar para vocês como é que se comenta um código Sabe aqueles códigos que você pega que estão bem comentad dinhos que são fáceis de entender Pois é o programador que criou eles provavelmente pensou que alguém poderia mexer no código depois e comentou toda a estrutura do programa para que que serve um módulo para que que serve uma determinada classe
então ele deixou tudo comentad Dinho como é que você vai fazer isso existem várias maneiras no Java você tem comentários de linha você tem comentários de múltiplas linhas como toda linguagem de programação e a gente também tem a opção de fazer comentários paraa documentação se você quiser comentar uma linha específica você vai utilizar o barra barra esse barra barra tudo que estiver depois dele vai ser comentário você pode colocar um comando antes logo depois do comando depois do ponto e vírgula botar um barra barra e comentar esse comando ou então você pode transformar uma lin
inteira como comentário utilizando barra barra como os primeiros caracteres uma outra forma de comentar é utilizando múltiplas linhas quando você tem muitas linhas para comentar você vai utilizar um formato que vem do c que é o barra asterisco asterisco barra todas essas três linhas que estão aí seriam comentários no Java E aí por questões estéticas alguns programadores fazem isso daqui ó colocam pequenos asterístico em cada linha só para tornar a coisa mais bonitinha isso não é obrigatório Mas é uma tradição entre programadores fazer desse tipo se você ver isso significa que esses asteriscos estão em
linhas isoladas eles não fazem parte do comentário é só uma questão estética e como eu disse existe uma terceira forma de comentar que são comentários para a documentação dá uma olhada nesse comentário aí tá vendo ele parece muito com o de cima só que no lugar de um asterisco na abertura do comentário ele tem dois todo comentário de múltiplas linhas com dois asteristicos no início serão utilizados para documentação e você pode utilizar marcas específicas por exemplo nesse código eu estou dizendo Quem é o autor qual é a versão do software e qual foi a primeira
versão criada e como esse é um curso de caráter introdutório eu não vou me apegar essas diretivas de documentação Dos comentários em Java caso você queira maiores informações Faça uma busca no Google por dox E aí você vai aprender como fazer esse tipo de coisa nosso objetivo aqui é criar programas simples mas quando você se tornar um gafanhoto experiente dá uma olhada nisso porque isso é importantíssimo para gerar documentação do seu sistema vamos passar então pros tipos primitivos fazendo uma ligeira revisão do curso de algoritmos você deve se lembrar no curso de algoritmos que a
gente tinha a declaração de tipos e inicialização de variáveis por exemplo no meu algoritmo eu tinha a área de variáveis e a área do corpo do programa na área de variáveis eu poderia de por exemplo a variável idade do tipo inteiro mais tarde no Programa eu poderia atribuir uma idade por exemplo idade recebe três eu poderia também criar uma variável do tipo real por exemplo salário é real números reais são aqueles que temm ponto flutuante ou a vírgula por exemplo salário recebe 1825 e54 Lembrando que o ponto decimal no caso do algoritmo e também no
caso do Java é o ponto e não a vírgula um outro tipo de variável que eu posso utilizar é o tipo caracter por exemplo a variável letra é do tipo caractere para fazer essa atribuição eu poderia fazer letra recebe G sendo que os caracteres em algoritmo ficam entre aspas o último tipo que a gente tinha em algoritmo era o tipo lógico por exemplo uma variável casado do tipo lógico quero saber se uma pessoa é casada ou não eu posso fazer casado recebe falso Isso é a pessoa não é casada e como eu falei isso é
uma breve revisão no curso de algoritmos eu vi cada um desses tipos vi vários exemplos então se você não lembra desses quatro volta ó curso de algoritmo você volta lá é uma playlist aqui você vai ter acesso a todas essas informações sobre os quatro tipos primitivos que volto a dizer viram quatro famílias no Java E por falar em Java você deve estar se perguntando aí na sua cabecinha gafanhota mas Guanabara como é que eu faço para fazer essas quatro declarações pro início dentro de um código JAVA eu te respondo existem três maneiras básicas existem mais
de três mas três são básicas eu vou te mostrar cada uma delas Veja com atenção vamos por exemplo fazer a atribuição da variável idade recebe três que você tá vendo aí do lado esquerdo da tela existem três maneiras de fazer a maneira mais simples é assim int idade recebe três simples eu boto int que é uma referência a integer com ou inteiro idade que é o nome da variável recebe três isso é eu já faço a declaração e a atribuição no Java molezinha né Essa é a primeira maneira uma coisa que eu gostaria de deixar
registrada aqui é o seguinte o Java é uma linguagem que a gente diz como fortemente tipada isso é o tipo é muito importante e caso você queira fazer tramitações entre tipos na maioria das vezes você tem que fazer conversões ou especificações por exemplo você pode dizer que esse valor 3 pode ser real 3.0 ou inteiro como três então o valor três ele é inteiro e real ao mesmo tempo tem como eu especificar isso tem e vou te mostrar agora uma técnica muito comum para especificar tipos de valores específicos é utilizando o typecast então a segunda
forma de DEC para essa variabilidade que eu acabei de mostrar para vocês aí é dessa maneira entidade recebe int entre parênteses 3 Note que todos os íes que eu escrevi até agora são em letras minúsculas Isso deve ser seguido no Java esse tipo entre parênteses antes do três quer dizer o seguinte considere esse três como inteiro o nome que se dá isso é typecast e se você se lembra muito bem e você fez o curso de PHP deve Recordar que também existem typecast em PHP a terceira e última maneira é utilizando classes e apenas Relembrando
classes em Java começam com a primeira letra maiúscula então eu posso fazer o seguinte integer idade recebe New integer TR então eu acabei de te dar três formas de fazer a declaração da mesma variável sendo que nas duas primeiras elas são variáveis e na terceira opção ela é um objeto as Guanabara Qual é a diferença entre uma variável e um objeto A gente vai ver isso mais paraa frente mas o fato é o seguinte sempre que eu utilizar a palavra new NW novo dentro de uma declaração esse New automaticamente está criando um objeto Então eu
tenho que ter uma classe referenciando ele então por exemplo aqui no meu caso o integer vamos olhar o código olha do lado esquerdo integer idade você vai falar ah idade é do tipo integer não integer não é um tipo é uma classe A palavra New logo depois do identificador idade indica que idade não é uma variável e sim um objeto e o último três lá quer dizer que o valor três vai ser considerado como um valor inteiro e colocado dentro do objeto idade o nome que se dá a essa classe é rapper Class Y [Música]
rapper não é bem rapper é rapper que quer dizer invólucro então uma coisa rapper eu tenho isso aqui eu quero botar um invólucro então eu faço um rapper Vamos fazer as outras declarações por exemplo a variável sal que é real para guardar o salário real como eu falei anteriormente você deve se lembrar é ponto flutuante então no caso do Java seria considerado como float então float sal recebe 1825 54 percebe ali no final que tem um pequeno F minúsculo isso indica que o número é float que o número é real para esse tipo de declaração
se eu não colocar o f no final o próprio Java vai dar erro e se esse F Tá te incomodando você pode fazer com que o 1825 p54 seja considerado float da seguinte maneira float sal recebe o typecast de float de 1825 54 você está dizendo que esse valor é para ser considerado como float a terceira maneira utilizando classes rapper é usando a linha float sal recebe New float 1825 p54 a maneira de declarar variáveis caracteres são o seguinte eu vou botar char letra recebe G percebe aí que o g no algoritmo tem aspas duplas
e o g no caso do Java tem aspas simples e o Java tem uma coisa meio incômoda que quando gente tá começando a aprender Java ela incomoda um pouquinho o tipo char ele só ocupa uma letra ele só permite armazenar uma letra você vai falar Puxa mas não tem nenhum tipo que aceita mais uma letra não não tem no Java só que você tem uma classe para isso já já a gente vai ver Calma aí porque no gafanhoto você tá com muita pressa nesse seu pequeno coraçãozinho para declarar utilizando typecast eu vou usar char letra
recebe o typecast de g mais uma vez eu estou dizendo que esse G deve ser considerado como sendo do tipo char Pode parecer que para você logo no início essa declaração com typecast não seja tão importante mas ainda nessa aula você vai entender melhor por que eu tô ensinando Essa maneira logo de cara a terceira maneira para usar char é utilizando a classe rapper que não é char é caráter letra recebe New chac G por fim o tipo Lógico que também é conhecido como boleano vai ser declarado da seguinte maneira boolean casado recebe false se
eu quiser utilizar typecast boolean casado recebe boolean de false se eu quiser utilizar classes invólucro eu vou utilizar boolean casado recebe New bullan fals Pode parecer um pouco confuso no início porque eu tô mostrando três formas mas você vai esclarecer isso ainda nessa aula pode confiar em mim então você falou assim Ah beleza você declarou essas quatro Mas você disse Guanabara que os quatro tipos não são quatro tipos são quatro famílias e é aí que a gente entra existe uma tabela bem grande que a gente vai ver a partir de agora com cada um dos
tip suportados pelo Java inclusive com as suas classes invólucro porque seguinte sempre que você vai fazer uma declaração o importante é você saber qual é o tipo para você saber como é que se utiliza a declaração simples e a declaração com typecast e também tem que entender Quais são as classes invólucro porque você vai precisar delas mais cedo ou mais tarde ainda nessa aula então o que eu vou fazer aqui é criar uma tabela com família tipo primitivo classe invólucro o tamanho que ocupa na memória cada um dos tipos e um exemplo de atribuição para
cada um deles a primeira família que a gente vai ver é a família mais simples que é a família de lógicos ela só tem um tipo relacionado que a gente já viu e é o boolean a classe ólogo para boolean é boolean com b maiúsculo uma variável do tipo boolean ela ocupa apenas um bit de memória isso é zero ou um e um exemplo é true esse valor será convertido para um valor de um bit a segunda família é a classe dos literais que tem um tipo primitivo mas tem duas classes invólucro o primeiro tipo
primitivo é o char que a gente acabou de ver o tipo char ele tem classe involucro caracter e ocupa na memória um byte isso porque ele ocupa uma letra Então são oito bits para armazenar uma letra um exemplo é a letra A todo tipo char é colocado entre aspas simples é importante que você lembre disso Como eu disse o literal só tem um tipo então não existe mais nenhum tipo primitivo mas existe uma classe invólucro que a gente vai usar bastante que é a classe invólucro string e é aí que eu respondo a sua primeira
pergunta Lembra quando eu acabei de falar assim que o tipo char ele aceita apenas uma letra e você às vezes fica caramba mas só uma letra como é que eu vou guardar um nome você não vai utilizar o tipo char você vai utilizar a classe invólucro string não existe o tipo string no Java Existe sim uma classe invólucro e Isso sim faz toda a diferença os objetos da classe invol string eles ocupam um byte para cada letra por exemplo a string Java note entre aspas duplas ocupa qu bytes na memória porque ela tem quatro letras
terceira família que a gente vai ver é a família de números inteiros Essa é a maior de todas porque ela possui quatro tipos relacionados o primeiro tipo é o tipo byte que é o menor de todos os números inteiros sua classe invólucro é byte e o tamanho é um byte né sacou o tipo byte Ocupa um byte por ocupar um byte ele não aceita números muito grandes o maior número guardado dentro de um número inteiro é 127 e aí você pode perguntar mas Guanabara se eu quiser um número inteiro um pouco maior você pode utilizar
o tipo short que tem classe invólucro short Note que as classes invólucro sempre tem a primeira letra maiúscula isso faz toda a diferença ele ocupa 2 bytes isso é ele tem o dobro do tamanho e ele aceita valores até 32.767 e esse é o valor que eu vou cobrar a partir de agora para você assistir uma aula não tô brincando ah mas bar Se eu quiser passar um pouco de 32.000 tem como tem eu vou utilizar o tipo int ou a invólucro integer o tipo int ele vai ocupar 4 bytes da memória mas ele aceita
valores até 2.17.48 E esse sim é o valor que eu vou te cobrar para assistir cada aula a partir de agora se você ainda é megalomaníaco e precisa de um número inteiro maior do que isso você pode utilizar o tipo long que tem a classe invólucro long ocupa 8 byes na memória e aceita valores inteiros gigantes até 2 elevado a 63 pega a calculadora aí e tenta fazer é um número muito grande da ordem dos quintilhões e você deve estar perguntando Mas Guanabara Por que que o Java tem essa frescura Por que que o Java
tem tantos números inteiros presta atenção pequeno gafanhoto você deve se lembrar que eu falei que a linguagem Java ela foi feita para rodar em qualquer coisa inclusive num pequeno relógio por exemplo um relógio concorda comigo que ele tem pouca memória Então você tem que economizar essa memória não adianta então eu tenho um tipo int que ocupa 4 bytes para guardar um número pode ser que a memória do meu dispositivo seja pequena e eu não precise guardar um número tão grande Então essa é a necessidade de tantos tipos primitivos você tem que saber economizar memória para
criar um bom aplicativo em Java a última família que a gente vai ver é a família dos números reais que existem dois tipos o primeiro é o tipo float que tem a classe invólucro float ocupa 4 bytes na memória e armazena valores da ordem de 3. 4 x e elevado a + 38 Se você precisar de um número maior você pode utilizar o dobro de memória você vai utilizar o tipo Double que tem classe invólucro Double ocupa 8 byes de memória que é o dobro do tipo float e guarda valores até 1.8 x e elevado
a + 308 uh deu um trabalho né então esses são os tipos primitivos do Java não existe mais Nada Além disso os tipos primitivos as classes invólucros para tratar esses tipos primitivos E você já sabe o exemplo de cada um guarda essa tabela no seu pequeno coração dá um print eu vou Ó presta atenção vai tira um print screen disso aí dessa tabela bonita Pronto agora Volta para mim guarde essa tabela a gente vai precisar bastante dela nesse aprendizado básico de Java para iniciantes é para iniciantes Mas eu não deixo faltar nada para você vamos
dar continuidade ao nosso aprendizado e vamos fazer os testes desses tipos primitivos também aprendendo saídas de dados em Java saída de dado é quando eu pego um dado que está na memória do computador e mostro de alguma maneira para você nós já utilizamos os comandos System out print e System out print LN Vamos aprender alguns outros e também a manipular os tipos primitivos utilizando os comandos de saída Vamos dar um exemplo aqui vou criar uma variável float nota recebe 8 e me note que como eu não utilizei typecast eu tenho que colocar aquele F lá
no final para escrever essa nota na tela eu posso usar System out print sua nota é concatenado esse mais pode ser soma ou concatenação ou você pode utilizar o System out print LN sua nota é nota na verdade esse LN vai fazer a diferença somente do salto de linha Vamos ver isso funcionando no nosso netbeans então vá até seu ambiente e Abra o netbeans pra gente poder criar uma classe esperta aí no seu ambiente do netbeans você vai criar um projeto novo clicando aqui no botãozinho Amarelo vamos criar uma aplicação Java normal clique em próximo
e nós vamos chamar de tipos primitivos tudo junto começando com a letra maiúscula que é o nome do projeto vamos deixar ele criar a classe principal clique em finalizar e os arquivos serão criados depois desse processo ele vai abrir a classe principal já com o código pronto para você aqui no lado esquerdo então ele criou isso daqui nota aqui ó Isso aqui é um comentário de múltiplas linhas isso aqui é um comentário de uma linha que nós vimos no início da aula e isso aqui é um comentário pra documentação nós temos aqui todos os tipos
de comentário que a gente já viu anteriormente vamos fazer aquele exemplo float nota igual a 8,5 tá vendo ó se eu botar ponto e vírgula aqui ele vai dar erro porque ele deu esse porque o tipo é incompatível mas se eu disser aqui ó F ele parou de reclamar outra forma de fazer é dizer eu quero que esse 8 me seja float então eu boto typec na frente ele também não reclama vou manter com fzin no final resultado é exatamente o mesmo agora nós vamos fazer aqui System ponto print abre aspas a nota é concatenado
com nota viu que ele não deu erro nenhum vamos apertar o Play e na tela de terminal ele vai escrever a nota é 85 percebe aqui que o construído com sucesso aparece bem do lado isso porque eu não dei um salto de linha então para dar um salto de linha eu posso vir aqui ó print LN Então logo após escrever a nota 8 E5 ele vai pular uma linha para isso isso que serve esse Alan vamos apertar o play de novo ó lá anota 8,5 e agora ele pulou pra linha de baixo e uma coisa
que às vezes incomoda Os Pequenos gafanhotos iniciantes é essa coisa do system.out pprint porque você vai aprender em PHP para escrever na tela Eco ou print acabou por que que no Java ele tem que ter system.out pprint existe uma maneira fácil de você utilizando netbeans escrever isso né a gente tem system.out então é só escrever Salt ó vou apagar essa linha aqui vou mostrar uma maneira simples você vai escrever tudo em minúsculo Salt S Alt E aí você vai apertar no teclado a sua tecla Tab apertando Tab magicamente tudo se transforma em System out print
LN aí eu posso colocar a nota é mais nota facinho né Isso é muito simples você utilizando o a sal sempre que eu for fazer na tela agora eu vou escrever Salt isso nas aulas mais pra frente também mas você tem que lembrar que você tem que escrever Salt e apertar a tecla Tab então esses são os dois tipos básicos para você escrever na tela mas não existem só esses dois eu vou mostrar mais dois o próximo é o System out print F esse F é de formatado é uma impressão formatada E aí você vai
olhar sua nota é por. 2f ví nota confundiu muito é fácil presta atenção que você vai entender basicamente como funciona Aisa eu vou transformar ISO aqui para um print F então ele é um print formatado eu fazer o seguinte ó V deixar só aspas votar a nota e e depois eu querer escrever um número real real ou float n isso então por F então basicamente que eu V querer é o seguinte escreva a nota é por F E nesse por F eu vou colocar a nota então vírgula nota basicamente essa nota vai se encaixar nesse
por F se eu quiser formatar esse F para ter por exemplo duas casas decimais então eu boto entre o porcento e o f P2 Olha como vai ser o resultado Esse é o resultado anterior ó a nota é 8,5 então se eu quiser que essa nota seja 8.50 eu tenho que fazer uma impressão formatada olha lá o resultado 8,50 já formatado com duas casas decimais uma coisa que pode estar te incomodando é que ele não quebrou a linha para quebrar a linha você vai colocar contra barra n minúsculo para cada quebra de linha vou mandar
executar tá lá ó a nota é 8,50 E tá lá se você quiser com uma casa decimal só uma casa decimal executando tá com uma só se eu quiser com quatro casas decimais também posso botar Ó lá ele vai fazer 8,5 escrito com quatro casas decimais Vamos fazer um outro exemplo aqui ó por exemplo eu posso colocar aqui string nome igual Gustavo nota 8,5 a nota de por S para string é por. 4f então basicamente eu tenho duas coisas a substituir primeiro um string depois um número real então ten que colocar primeiro a string depois
número real executando a nota de Gustavo é 8,5 agora ficou fácil além de utilizar o printf eu posso usar essa mesma sintaxe com um outro método no lugar de utilizar print F eu posso utilizar o system.out Format a sintaxe é exatamente a mesma então no lugar de utilizar printf aqui eu posso utilizar Format sem perder nada vou executar e o resultado vai ser exatamente o mesmo vou colocar aqui que eu tirei 2,5 Eu Sou meio lerdo com uma casa decimal a nota de Gustavo é 2,5 E aí ficou Claro Então essa é a maneira de
mostrar dados na tela utilizando terminal mais paraa frente a gente vai ver como é que se faz isso em tela gráfica mas antes de partir pra tela gráfica eu preciso mostrar uma coisa para vocês a gente já viu a saída de dados agora a gente vai aprender como fazer a entrada de dados entrada de dados é todo dado que está fora e eu quero colocar ele para dentro do computador normalmente utilizando o teclado e aí eu preciso te lembrar de um pequeno detalhe o Java é uma linguagem como se fosse um carro popular ele não
tem nada ele vem pelado inclusive ele já vem com os comandos de saída de dados mas não vem com nenhum comando de entrada de dados se você se lembra muito bem a gente tinha o Java e o Java ele já vem com o conjunto de bibliotecas que é o java.lan prévia acontece que o Java P leng ele não tem um comando específico pra entrada de dados então eu vou ter que utilizar uma outra classe que é a classe [Música] [Música] java.util.set então eu vou utilizar o comando scanner vou colocar um nome de um objeto qualquer
vou chamar de teclado por exemplo recebe New scanner entre parênteses eu vou passar o que ele vai escanear o que ele vai ficar monitorando se o System Pout é a saída do meu dispositivo o system.in é a entrada dele vamos ver como fazer isso na prática então basicamente aqui eu vou querer ler o nome e lê a nota do cara aqui e permitir que o usuário digite isso então basicamente eu não preciso fazer a importação aqui em cima você vai ver que ela vai ser automática mas presta atenção eu vou botar aqui ó scanner dá
o nome do objeto teclado pode ser o nome que você quiser chamei de teclado igual New lembra que a palavra New é poderosa cria um objeto scanner e entre parênteses eu vou colocar Qual é o dispositivo que ele vai monitorar Então vou colocar entre parênteses aqui ó System P in isso é ele vai monitorar a minha entrada padrão percebe aqui que ele ficou sublinhado o scanner significa ó Passa aqui em cima da l que esse símbolo não foi encontrado clica nela e a você vai ter um comando que é o adicionar a importação a java.util.set
perceba que quando eu clicar ó ele já veio aqui e colocou aquela linha sozinho para mim viu como é que é simples utilizando netbeans então assim né quando as pessoas chegarem para você e falarem assim ai você programa utilizando netbeans Por que que você não programa utilizando Notepad ou qualquer outra ferramenta mais simples cara o netbeans é de graça é oficial é recomendado pela própria S pela própria Oracle né que agora é a detentora dos direitos da linguagem e não é vergonha nenhuma cara ele te ajuda na hora de criar seus programas a partir de
agora eu quero que esse nome seja lido então no lugar de atribuir a Gustavo eu vou fazer o seguinte eu acabei de criar um objeto teclado então string nome recebe teclado ponto aí eu vou utilizar o método next Line percebe aqui ó ele já completou tentou completar para mim eu tô usando a seta do teclado parando em next line e apertando então eu já fiz aqui pro nome vou fazer a mesma coisa pra nota no lugar de colocar 2 E5 direto eu vou fazer o meu teclado ler um next float que é para ler um
número real no fim ele vai me mostrar a nota de fulano é e a nota do cara vamos ver lá aperto Play que no caso ele tá parado Ele tá esperando digitar o nome Gustavo dei enter vou botar a nota set dando enter a nota do Gustavo é e ficou faltando alguma coisa né ficou faltando um pouquinho de interatividade vou dar um pouquinho de interatividade de maneira simples mostrando mensagens na tela Antes de ler o nome vou fazer o seguinte ó vou dar um sal aqui print vou dar print vou colocar digite o nome do
aluno dois pontos Antes de ler a nota também V fazer System out no LN e vou colocar Digite a nota do aluno vamos executar note agora ó digite o nome do aluno eu vou digitar aqui José José tirou quatro Que vergonha José dá enter a nota de José é quatro viu como é que é feita essa interatividade bem legal né e existem vários métodos para você ler valores de tipos diferentes por exemplo se você quiser utilizar esse objeto teclado que a gente acabou de criar para ler um número inteiro você vai botar entidade recebe teclado
pnex int por exemplo então next int é o método do objeto teclado para ler o número inteiro nós podemos utilizar o Next float para números reais next Double também para números reais a gente tem o Next short o Next bte a gente tem todos os tipos para ler string você vai utilizar a classe involucro string e utilizando o método nextline como a gente fez anteriormente Quer uma dica vai aí no teu net Bin que eu tenho certeza que você tá digitando bota aí teclado bota o nome do objeto que você colocou ponto next e espera
vai aparecer uma lista de todos os métodos disponíveis pra leitura de todos os tipos primitivos e uma das coisas que pode estar te incomodando agora é o seguinte Pô na bara tá no terminal tá feio né você prometeu para mim que ia ficar bonitinho calma porque no gafanhoto vamos fazer ficar bonitinho ainda nessa aula eu falei que essa aula é grande antes de partir pro swing e essa frase ficou um tanto esquisita eu preciso mostrar mais uma coisa para vocês como eu falei anteriormente a linguagem Java é fortemente tipada e às vezes se você não
souber trabalhar direito com isso os tipos começam a brigar entre eles começa a ter uma pequeno um pequeno F FC entre tipos e Existe uma grande incompatibilidade entre valores numéricos e valores string a gente vai aprender como resolver isso agora sim pequeno gafanhoto Existe uma grande briga aí entre tipos no Java existe uma compatibilidade muito grande entre números e string vamos ver um exemplo prático disso basicamente Vamos considerar a seguinte atribuição inidade recebe 30 então Acabei de criar uma variável idade que é do tipo inteiro e ela vai receber 30 Vamos criar agora um objeto
string vamos fazer string valor recebe idade isso é eu tentando fazer com que idade que é um número inteiro Entre no string na maioria das linguagens isso é possível vamos ver no Java no netbeans eu vou fechar essa classe que eu acabei de criar e vou criar um novo projeto esse projeto eu vou chamar de teste Tipos vou deixar criar a classe principal finalizar processo foi criado e aqui eu tenho o meu método principal Vamos fazer lá idade recebe 30 vamos fazer agora string valor recebe idade você vai ver que ele já deu incompatibilidade á
tipos incompatíveis int não pode ser convertido para string E aí você como um gafanhoto esperto Vai falar Mag Guanabara usa typecast vamos tentar usar typecast então como eu disse anteriormente se eu quiser que a cidade seja considerada como string poderia colocar assim não funcionou posso colocar um typecast int também não funcionou então basicamente minhas tentativas foram frustradas eu não consigo fazer essa atribuição e eu também não consigo fazer essa atribuição até porque string não é um typecast ele é uma classe invólucro A maneira correta de fazer isso é utilizando classes invólucro mas não como typecast
maneira correta é fazendo isso aqui string valor recebe a classe invólucro integer e como toda classe tem métodos Eu tenho um método chamado to string isso é converter um número inteiro para string integer string vamos fazer isso então então eu tenho que pegar essa idade aqui e converter ela é um número inteiro ponto string Então eu estou convertendo a minha idade para string e jogando dentro do valor perceba que agora ele não deu problema nenhum posso inclusive mandar escrever na tela o valor ele vai me mostrar 30 funcionou sem problema Tudo graças à minha classe
invólucro e o método two string Viu como é que a gente resolve uma briga então o tipo inteiro e o tipo string não se falavam agora eles se falam graças à nossa classe invólucro Viu como é que as rapper classes são importantes e você pode estar se perguntando como é que eu faço o contrário será que dá problema vamos ver o contrário seria fazer o seguinte eu tenho uma variável string valor recebendo 30 num string e eu tento fazer com que criando uma vari idade esse valor seja colocado dentro dela vamos ver se isso funciona
vou transformar esse código aqui em comentário então vou fazer ó barra asterisco asteristico Barra no final acabei de criar um comentário nós vamos fazer o seguinte string valor recebe 30 né porque é um string vamos fazer com que in idade receba valor deu problema passando o mouse aqui tipos incompatíveis Então essa atribuição é inválida E aí você pode estar pensando Gu barara usa typecast porque agora a int é um typecast vamos ver então vamos fazer com que esse valor aqui seja considerado int ainda deu problema porque os tipos não podem ser convertidos olha ó tipos
incompatíveis string não pode ser convertida para int por quê Porque eles brigam não esquece disso Então a nossa segunda maneira também é frustrada porque eu não consigo fazer E adivinha quem vai ajudar a gente mais uma vez classes invólucro vamos fazer a atribuição dessa maneira idade recebe integer pon par in de valor parse é converter então eu vou fazer com que um valor seja convertido seja parado para inteiro sendo assim eu vou ter que pegar esse valor converter utilizando a classe integer parse int de valor Note que agora sem problema nenhum eu consigo inclusive escrever
na tela a idade ele vai me mostrar 30 e tudo isso que eu fiz pros valores inteiros também podem ser feitos para valores reais vamos ver somente um exemplo vou fazer aqui 30 E5 e eu vou mandar converter utilizando a variável float então eu vou ter que esse valor vai ser convertido pela classe invólucro float ponto parse float Note que ele não deu problema nenhum executando Ele me mostrou 30.5 sem problema nenhum se você quiser você pode ainda botar um print formatado para porcento p3f por exemplo três casas decimais manda mostrar ele mostrou lá com
três casas decimais depois beleza isso funciona para todas as classes se você tá com alguma dúvida volta naquela tabela que eu falei para você tirar um print né eu não dou ponto sem Noca dá uma olhada em todas as classes invólucro todas elas possuem métodos específicos é só você fazer seus próprios exemplos e agora que nós resolvemos todas as brigas entre tipos numéricos e string vamos ver como fazer isso utilizando interface gráfica chegou a hora nós vamos fazer tudo isso utilizando o swing basicamente eu preparei o seguinte exercício nós vamos ter uma interface onde eu
tenho duas caixas de texto um símbolo de mais para somar elas duas e um botão de igual no final um zero o valor que eu digitar na primeira caixa e o valor que eu digitar na segunda Caixa quando eu clicar no botão igual vão ser somados e será mostrada a soma no valor final que está à direita antes da gente partir pro netbeans eu quero decidir uma coisa com vocês aqui vamos colocar alguns nomes nos objetos que eu vou utilizar primeira caixa eu vou chamar ela de TX tn1 e vou deixar o text dela vazio
a segunda caixa ela vai se chamar txn 2 e o text também vazio o botão eu vou dar o nome dele de btn soma e o text dele vai ser igual por fim o Label com o valor zero ele vai se chamar lbl resultado e o text vai ser zero é importante que a gente decida os nomes antes pra gente poder trabalhar então se você fizer com um nome diferente do meu o teu programa não vai funcionar então não adianta depois chegar para mim no Face Facebook no Twitter no YouTube onde quer que seja f
bara o meu não funcionou porque eu mudei o nome no início uso os nomes que eu coloquei peeno gafa partindo pro netbeans vou fechar a minha classe atual dar uma encolhida aqui nos meus projetos e vou criar um projeto novo que é o Projeto somac swing vou criar Java aplicação Java vou chamar de soma swing vou desmarcar a minha classe principal sempre que eu for utilizar um programa com swing eu desmarco a classe principal porque eu não vou precisar dela se você não desmarcar vai dar problema finalizar Já criei aqui e vou criar um novo
arquivo só que esse arquivo vai ser swing jframe partindo pro próximo Essa é a tela de soma e eu vou colocar ela no pacote ponto curso em vídeo ponto soma finalizar eu já tô com o pacote criado aqui ó pacote a classe que já tá como jframe não vou precisar do terminal nesse momento vou dar uma encolhida nele vou juntar a paleta aqui com a janela de propriedades para ficar a mesma forma caso você chegue aqui tua tela esteja bagunçada nunca se esqueça você vai clicar em janela e redefinir janelas ele vai voltar paraa tela
como era antigamente Então essa aqui é a tela que eu vou colocar Lembrando que aqui você tem o projeto e o código fonte que eu posso mexer Vamos criar rapidamente utilizando a paleta os controles que eu quero são dois Campos de texto text Field outro text Field eu vou ter um Label vai ficar aqui no meio depois eu vou colocar ele lá eu vou ter outro Label no final que é para colocar o zero e vou ter um botão aqui que é o meu botão de igual vamos configurar agora os nomes e textos conforme eu
tinha antes botão direito no primeiro o nome da variável vai ser TX tn1 como a gente tinha declarado lá lembre o n aqui vai ser maiúsculo Mas como ele é nome de objeto eu vou começar com o t minúsculo Ok utilizando keme vamos modificar o texto vou apagar ele diminui aqui depois a gente pode aumentar de volta vou largar aqui uns 43 de largura fazer a mesma coisa com esse segundo alterar o nome da variável T xn2 vou alterar o texto dele editar texto apago ele diminuiu fazer ficar do mesmo tamanho 43 fazer o Label
agora o Label vamos editar só o texto o nome pode ficar o nome padrão dele não há problema nenhum nós não vamos utilizar esse mais para nada só para apresentar pro usuário o que que é isso colocar o botão aqui nome da variável vai ser btn soma e o texto vai ser igual uma pequena reduzida para ficar bonitinho e vou colocar o segundo Label aqui o último alterar nome da variável lbl soma Ok e o texto vai ser zero Então agora eu já tenho a minha interface configurada vou só reposicionar os controles aqui mais ou
menos modificar o tamanho da tela e Já estamos prontos Beleza o que a gente fez até agora Foi só desenhar interface utilizando netbeans que facilita a nossa criação de tela swing basicamente o que eu tenho que fazer agora é criar o meu evento o usuário do meu programa vai digitar o primeiro valor na primeira caixa o segundo valor na segunda e vai clicar em igual quando eu clicar em igual eu vou par o evento de soma doss dois valores Então o que eu tenho que programar é o botão não as caixas de texto vou clicar
com o botão direito no botão que é quem vai receber o evento vou escolher evento vou para Action e Action performed que é ação performada que é a ação executada ele vai criar aqui ó btn soma Action performed vou começar a programar basicamente o que eu vou quer é o seguinte eu vou ter uma variável int pro N1 e in pro n2 Então eu quero que o N1 venha para cá o n2 venha para cá E aí surge uma dúvida como é que eu tiro o dado de dentro de uma caixa de texto é simples
vem comigo vamos tomar como base aquele meu lbl resultado ali você deve lembrar que a gente modificou a propriedade text dela Vamos considerar o seguinte Existem os métodos acessores nós temos do lbl resultado nós temos por exemplo a propriedade text Então eu tenho dois métodos acessores um método getter e um método Setter o método getter é pegar o valor que está dentro o método Setter é colocar um valor lá dentro o método getter para text seria o nome do objeto pon get text isso é pegue o texto o método Setter seria o nome do objeto
pon set text isso é mude o texto Então aqui ó meu N1 como eu quero pegar o texto de Tx tn1 então eu vou botar TX tn1 que é o nome da minha caixa de texto ponto get text que é o meu método getter você vai perceber aqui ó que ele deu um pequeno problema passo o mouse em cima tipos incompatíveis string não pode ser convertido para inteiro basicamente esse programa deu problema então eu botei lá uma variável pro número um e mandei jogar o get text da caixa de texto e isso deu problema isso
porque a variável é inteira e o que eu tô pegando de texto é então basicamente o que eu tenho que fazer é converter esse valor string para inteiro como utilizando nossas queridas classes invólucro então eu vou poder fazer o integer PP int disso tudo e aí sim isso vai funcionar então para resolver esse erro basta que eu coloque isso aqui entre parênteses e antes do parênteses eu coloque integer ponto paciente pronto resolvido Sem estresse sem problemas fazer a mesma coisa para n2 TX tn2 pget text o comando acaba ficando grande mas depois é simples de
você entender é porque ele é um comando com conversão vou criar uma variável inteira s para somar vai ser N1 + n2 no início a gente ainda não viu os operadores Mas você sabe que mais soma na próxima aula a gente vai ver mais operadores vamos agora mostrar o s na tela meu lbl som ponto set text né o get text pega agora eu quero mudar o texto Então set text S ele me deu um erro passando o mouse em cima tipos incompatíveis inteiro convertido para string você já sabe que é briga né não precisa
nem reclamar muito vamos converter utilizando integer pon string de S ele não deu erro mais com isso a gente termina o nosso código caso você não tenha digitado pause o programa agora Digite o seu código do evento pra gente poder continuar por fim vamos apertar o play perguntar qual é a minha classe principal eu vou dizer que a minha tela de soma Ok o meu programa foi executado vamos fazer aqui se com nove deu 15 E aí gostou faça seus testes faça suas modificações no seu código e pratique a prática vai te levar à perfeição
como eu te prometi ess essa aula foi grande mas ela pode ser dividida em pequenas aulas ela pode ser digerida aos poucos é o que eu recomendo mas por enquanto eu fico por aqui porque essa aula finalmente Graças a Deus chegou ao fim os editores devem estar arrancando os cabelos nessa hora eu gostaria de pedir o que eu sempre peço clicando desse lado aqui você vai se inscrever no canal e sempre que tiver uma aula nova pequena ou grande como essa você vai ser avisado Por e-mail marca também do lado da engrenagem quero receber mensagens
por e-mail clicando desse lado você vai vai ter acesso à playlist todo o curso de Java tá condensado aqui dentro clicando aqui você vai direto aqui no meio é a experiência completa aqui você vai acessar o site do curso em vídeo Lembrando que aqui em cima agora A gente tem o botão de interatividade que é um pequeno izinho que fica aqui em cima aqui tem links importantes tudo que eu for mostrar para vocês o que eu julgar importante tá aqui em cima vê Quais são as aulas importantes né vai abrir uma uma telinha aqui do
lado não sei se o seu celular é compatível com isso mas vê pelo navegador web que você vai ver com certeza então aqui em cima deve ter um izinho clica sobre ele e você vai ver todos os links que eu preparei para essa aula para você é a interatividade do curso em vídeo cada Curso Novo uma novidade Estude bastante pratique essa aula foi bem grande na próxima aula a gente vai ver operadores como é que a gente vai trabalhar esses cálculos a gente fez só uma soma simples aqui como é que a gente faz mais
cálculos Que tipo de operadores quem é feito primeiro quem é feito depois isso só na próxima aula pequeno gafanhoto a gente se vê na próxima semana um forte abraço e até a próxima [Música]
Copyright © 2024. Made with ♥ in London by YTScribe.com