SlideShare uma empresa Scribd logo
1 de 28
Curso de Java
Aula 02 – Tipos e operadores
TIPOS E OPERADORES
 Java é uma linguagem fortemente tipada
 Todas as variáveis devem ter um tipo associado
 A utilização de uma variável deve ser posterior a sua declaração
 As conversões de tipo (Casting) devem ser rigidamente controladas pela
linguagem
 As conversões de tipo devem ser explicitas
Tipos primitivos e Tipos compostos
 Tipos primitivos são aqueles tiposjá embutidos na linguagem java,
enquanto os tipos compostos são todas as classes da linguagem java,
bem como as classes que você venha a criar.
 Variaveis de tipos primitivos são tratados de uma maneira bem diferente
das variáveis de referencia para objetos.
Tipos primitivos
 Quando você declara uma variável do tipo primitivo o java aloca um
pedaço da memória que é grande o suficiente para guardar valores do
tipo primitivo.
 Se você definie uma variavl do tipo primitivo como uma variável de
instancia ela inicializada para ‘0’ se for inteira; para false se for boolean e
para ‘0’ se for do tipo char.
 Variaveis primitivas armazenam seu valor . Se você declara uma valriavel
int e atribui o valor dela para 5 o valor é armazenado diretamente nos 4
bytes reservados para a variavel
Tipos compostos
 Quando você declara uma variável do tipo composto, também chamada
de variável de referencia ela também recebe um pedaço de memória,
mas esse pedaço de memória é grande o suficiente apenas para
armazenar a referencia ao objeto.
 Uma variável de referencia POR PADRÃO é sempre inicializada como null
para indicar que ainda não recebeu referencia para nenhum objeto.
 Use o operador de atribuição para fazer com que uma variável de
referencia se refira a uma instancia de classe.
 Essa atribuição pode ser um objeto existente ou para um objeto recém
criado através do operador new
Tipo boolean
Tipo Contem Default tamanho Faixa de
valores
boolean true ou false false 1 bit Pode ser true
ou false
O valor booleano não é um tipo inteiro onde false é representado por 0 e true
por 1. Um valor do tipo boolean não pode ser convertido para nenhum outro
tipo de dado
Tipo byte
Tipo Contém Default Tamanho Faixa de
valores
byte Inteiro com
sinal
0 8 bits Pode assumir
valores entre
-27 e 27 - 1
Literais inteiros podem ser expressos por notação octal ou
hexadecimal. Ou seja, um literal que começa
Com 0x ou 0X e os outros dígitos são representados por
caracteres de 0 a F para números com base 16
Tipo short
Tipo Contém Default Tamanho Faixa de
valores
byte Inteiro com
sinal
0 8 bits Pode assumir
valores entre
-215 e 215 - 1
Cada tipo inteiro possui uma classe involucro correspondente (Wrapper
classes) essas classes possuem constantes MIN_VALUE e MAX_VALUE que
definem os limites das faixas de valores. Possui também métodos
extremamente uteis como Byte.parseByte() e Integer.parseInt para realizar
conversões de Strings para inteiros.
Tipo int
Tipo Contém Default Tamanho Faixa de
valores
int Inteiro com
sinal
0 32 bits Pode assumir
valores entre
-231 e 231 - 1
Tipo long
Tipo Contém Default Tamanho Faixa de
valores
long Inteiro com
sinal
0 64 Pode assumir
valores entre
-263 e 263 - 1
Tipo double
Tipo Contém Default Tamanho Faixa de
valores
double Ponto
flutuante
0.0 64 bits Representa
números em
notação de
ponto
flutuante. Sua
representaçã
o é
exponencial,
alguns bits
representam
a base e
outros
oexpoente
Tipo float
Tipo Contém Default Tamanho Faixa de
valores
float Ponto
flutuante
0.0 32 bits Pode assumir
valores entre
-263 e 263 - 1
Literais de ponto flutuante também podem ser representados através de
notação cientifica na qual um numero é seguido pela letra e ou E
assinalando o expoente e por outro numero que representa a potencia de 10
pela qual o primeiro numero é multiplicado. Numeros com ponto flutuante
são double por padrão, para indicar que o numero é um float basta
adicionar o caracter f ou F no final do numero.
Tipo char
Tipo Contém Default Tamanho Faixa de
valores
char Caracter
unicode
u000 16 bits Armazena
dados
alfanuméricos
. Tambem
armazenas
dados inteiros
entre 0 e
65535
Tipo char
 O tipo char representa um caractere Unicode. É motivo de surpresa para
programadores experientes descobrir que um valor char possui 16 BITS de
tamanho.
 Um literal caractere vem sempre entre aspas simples.
 Um valor do tipo char não pode ser convertido para e nem a partir de
tipos inteiros pois o tipo tipo char é um tipo não sinalizado (unsigned)
Sequencia de Escape Valor do Caractere
b Backspace
t Tabulação horizontal
n Nova linha
f Alimentação de formulário
r Retorno de carro
” Aspas duplas
’ Aspas simples
 Contrabarra
uxxxx Caractere Unicode com
codificação xxx onde xxxx são
quatro dígitos hexadecimais.
Tipo String
 Alem dos tipos primitivos Java possui um tipo próprio de dado para
trabalhar com sequencias de texto(String)
 Ele no entanto não é um tipo primitivo devido ao uso frequente de strings
em programas.
 Um literal String é um conjuto de caracteres delimitados por aspas duplas.
 Strings aceitam qualquer sequencia de escape permitida para um valor
char.
 Use a sequencia ” para incluir aspas dentro de uma string
Conversoes de tipo (Casting)
 Java permite a conversão de tipo entre valores inteiros e valores reais
(ponto flutuante). Além disso por corresponder a um numero na
codificação Unicode o tipo char pode ser convertido para e a partir de
um tipo inteiro ou ponto flutuante.
 Em realidade o único tipo de dado que não pode ser convertido para ou
a partir de um numero é o boolean
 A conversão pode ser de ampliação quando um valor é convertido para
um tipo com uma faixa maior de valores.
 Ou pode ser de redução que é quando o valor é convertido para um
valor com menos bits de representação.Esse tipo de conversão pode ser
um problema é não é recomendada
Problemas em conversões de
narrowing(redução)
int byte
Sem uso de conversor
Erro em tempo de compilação.
Com conversão de tipo
Outro exemplo:
Esse tipo de casting é mais comum em conversões de números reais para
inteiros. Quando ela ocorre a parte fracional é truncada. (o valor após a
virgula é arredondado para 0 e não para o inteiro mais próximo
Expressões e Operadores
Aula 02
Expressões e operadores
 Variáveis são importantes para a arquitetura de um programa java.
 As expressões são o próximo nível de estrutura em um programa java. O
interpretador Java (JVM) avalia uma expressão para determinar o seu
resultado.
Operadores
Precedência em Java
 Precedência indica a ordem na qual as operações de uma expressão
serão executadas. No caso da expressão acima o sinal de multiplicação
tem uma prioridade mais alta do que o de adição, logo a será somado a
multiplicação de b por c.
 A precedência padrão de um operador pode ser alterada com o uso de
parenteseses de forma a explicitar a ordem na qual as operações devem
ser realizadas, segundo o exemplo abaixo
Associatividade
 Quando uma expressão possui vários operadores com o mesmo grau de
precedência, é a associatividade dos operadores que determina a ordem
padrão na qual as operações serão executadas.
 A maior parte dos operadores possui associatividade da esquerda para a
direita
 Os operadores unários e de atribuição possuem associatividade da direita
para a esquerda
Oparadores unários e binários

Mais conteúdo relacionado

Mais procurados

Java Básico :: Introdução
Java Básico :: IntroduçãoJava Básico :: Introdução
Java Básico :: IntroduçãoWesley R. Bezerra
 
Guia Rápido de Referência Java
Guia Rápido de Referência JavaGuia Rápido de Referência Java
Guia Rápido de Referência JavaMario Jorge Pereira
 
Python para desenvolvedores - material apoio (parte I)
Python para desenvolvedores - material apoio (parte I)Python para desenvolvedores - material apoio (parte I)
Python para desenvolvedores - material apoio (parte I)Marcelo Barros de Almeida
 
5 paradigma funcional usando haskell
5 paradigma funcional usando haskell5 paradigma funcional usando haskell
5 paradigma funcional usando haskellPéricles Miranda
 
Aula2 ambientação a linguagem deprogramação python
Aula2   ambientação a linguagem deprogramação pythonAula2   ambientação a linguagem deprogramação python
Aula2 ambientação a linguagem deprogramação pythonCleyton Fábio
 
Técnicas de programação 1º módulo
Técnicas de programação 1º móduloTécnicas de programação 1º módulo
Técnicas de programação 1º móduloMatheus Gomes Lima
 
Aula 02 - Aspectos fundamentais - JAVA
Aula 02  -  Aspectos fundamentais - JAVAAula 02  -  Aspectos fundamentais - JAVA
Aula 02 - Aspectos fundamentais - JAVAULBRA
 
Programando em python tipos basicos
Programando em python   tipos basicosProgramando em python   tipos basicos
Programando em python tipos basicossamuelthiago
 
Aula 03 - Classes math e string - JAVA
Aula 03   - Classes math e string - JAVAAula 03   - Classes math e string - JAVA
Aula 03 - Classes math e string - JAVAULBRA
 
Aula 06 vetores e matrizes
Aula 06   vetores e matrizesAula 06   vetores e matrizes
Aula 06 vetores e matrizesTácito Graça
 

Mais procurados (18)

Guia rapido java v2
Guia rapido java v2Guia rapido java v2
Guia rapido java v2
 
Java Básico :: Introdução
Java Básico :: IntroduçãoJava Básico :: Introdução
Java Básico :: Introdução
 
Guia Rápido de Referência Java
Guia Rápido de Referência JavaGuia Rápido de Referência Java
Guia Rápido de Referência Java
 
Python para desenvolvedores - material apoio (parte I)
Python para desenvolvedores - material apoio (parte I)Python para desenvolvedores - material apoio (parte I)
Python para desenvolvedores - material apoio (parte I)
 
5 paradigma funcional usando haskell
5 paradigma funcional usando haskell5 paradigma funcional usando haskell
5 paradigma funcional usando haskell
 
Aula2 ambientação a linguagem deprogramação python
Aula2   ambientação a linguagem deprogramação pythonAula2   ambientação a linguagem deprogramação python
Aula2 ambientação a linguagem deprogramação python
 
PHP: operadores e variáveis (TGPSI)
PHP: operadores e variáveis (TGPSI)PHP: operadores e variáveis (TGPSI)
PHP: operadores e variáveis (TGPSI)
 
Técnicas de programação 1º módulo
Técnicas de programação 1º móduloTécnicas de programação 1º módulo
Técnicas de programação 1º módulo
 
Aula 02 - Aspectos fundamentais - JAVA
Aula 02  -  Aspectos fundamentais - JAVAAula 02  -  Aspectos fundamentais - JAVA
Aula 02 - Aspectos fundamentais - JAVA
 
python.tipos
python.tipospython.tipos
python.tipos
 
Programando em python tipos basicos
Programando em python   tipos basicosProgramando em python   tipos basicos
Programando em python tipos basicos
 
Compiladores 2
Compiladores 2Compiladores 2
Compiladores 2
 
Aula 03 - Classes math e string - JAVA
Aula 03   - Classes math e string - JAVAAula 03   - Classes math e string - JAVA
Aula 03 - Classes math e string - JAVA
 
Aula 06 vetores e matrizes
Aula 06   vetores e matrizesAula 06   vetores e matrizes
Aula 06 vetores e matrizes
 
1 exercicio de vectores em C
1 exercicio de vectores em C1 exercicio de vectores em C
1 exercicio de vectores em C
 
Introducao logica3
Introducao logica3Introducao logica3
Introducao logica3
 
05 classes utilitarias
05   classes utilitarias05   classes utilitarias
05 classes utilitarias
 
Linguagem em c
Linguagem em cLinguagem em c
Linguagem em c
 

Semelhante a Java Tipos e Operadores

Semelhante a Java Tipos e Operadores (20)

Poo1 aula 4 - tipos de dados variáveis-constantes
Poo1   aula 4 - tipos de dados variáveis-constantesPoo1   aula 4 - tipos de dados variáveis-constantes
Poo1 aula 4 - tipos de dados variáveis-constantes
 
Ud3
Ud3Ud3
Ud3
 
Resumo tipo primitivo_java
Resumo tipo primitivo_javaResumo tipo primitivo_java
Resumo tipo primitivo_java
 
Guia rapido de_pascal
Guia rapido de_pascalGuia rapido de_pascal
Guia rapido de_pascal
 
Java - Aula 08
Java - Aula 08Java - Aula 08
Java - Aula 08
 
02 controle de fluxo
02   controle de fluxo02   controle de fluxo
02 controle de fluxo
 
7194099-Manual-de-Java
7194099-Manual-de-Java7194099-Manual-de-Java
7194099-Manual-de-Java
 
Java2
Java2Java2
Java2
 
Apostila condição se visu alg
Apostila condição se visu algApostila condição se visu alg
Apostila condição se visu alg
 
Curso Básico de Java - Aula 4
Curso Básico de Java - Aula 4Curso Básico de Java - Aula 4
Curso Básico de Java - Aula 4
 
Módulo 2 pascal
Módulo 2  pascalMódulo 2  pascal
Módulo 2 pascal
 
Lp m2(parte3)
Lp m2(parte3)Lp m2(parte3)
Lp m2(parte3)
 
PHP
PHPPHP
PHP
 
Paradigmas de Linguagens de Programação - Tipos primitivos e compostos
Paradigmas de Linguagens de Programação - Tipos primitivos e compostosParadigmas de Linguagens de Programação - Tipos primitivos e compostos
Paradigmas de Linguagens de Programação - Tipos primitivos e compostos
 
PHP - Strings
PHP - StringsPHP - Strings
PHP - Strings
 
Aula04-POOJAVA
Aula04-POOJAVAAula04-POOJAVA
Aula04-POOJAVA
 
Aula 2 conversao de variaveis j option-pane
Aula 2   conversao de variaveis j option-paneAula 2   conversao de variaveis j option-pane
Aula 2 conversao de variaveis j option-pane
 
Algoritmos Aula 02
Algoritmos Aula 02Algoritmos Aula 02
Algoritmos Aula 02
 
2-Material Extra - Variaveis.pptx
2-Material Extra - Variaveis.pptx2-Material Extra - Variaveis.pptx
2-Material Extra - Variaveis.pptx
 
Henriquecristovao manual c-cpp
Henriquecristovao manual c-cppHenriquecristovao manual c-cpp
Henriquecristovao manual c-cpp
 

Mais de Antonio Alves

Sistema gerenciadores de bancos de dados
Sistema gerenciadores de bancos de dadosSistema gerenciadores de bancos de dados
Sistema gerenciadores de bancos de dadosAntonio Alves
 
Trabalhando com Chromakey
Trabalhando com ChromakeyTrabalhando com Chromakey
Trabalhando com ChromakeyAntonio Alves
 
Adobe illustrator vetorizacao - aula 08
Adobe illustrator   vetorizacao - aula 08Adobe illustrator   vetorizacao - aula 08
Adobe illustrator vetorizacao - aula 08Antonio Alves
 
Lógica de programação em java
Lógica de programação em javaLógica de programação em java
Lógica de programação em javaAntonio Alves
 
Curso de java - Antonio Alves - aula 04
Curso de java - Antonio Alves -  aula 04Curso de java - Antonio Alves -  aula 04
Curso de java - Antonio Alves - aula 04Antonio Alves
 
Teoria das cores aplicada ao design
Teoria das cores aplicada ao designTeoria das cores aplicada ao design
Teoria das cores aplicada ao designAntonio Alves
 
Introdução ao designer gráfico aula 01
Introdução ao designer gráfico   aula 01Introdução ao designer gráfico   aula 01
Introdução ao designer gráfico aula 01Antonio Alves
 
Curso de Java - Antonio Alves - Aula 03
Curso de Java - Antonio Alves - Aula 03Curso de Java - Antonio Alves - Aula 03
Curso de Java - Antonio Alves - Aula 03Antonio Alves
 
Curso de Java - Antonio Alves - Aula 03
Curso de Java - Antonio Alves - Aula 03Curso de Java - Antonio Alves - Aula 03
Curso de Java - Antonio Alves - Aula 03Antonio Alves
 
Curso de Java - Antonio Alves - Aula 01
Curso de Java - Antonio Alves - Aula 01Curso de Java - Antonio Alves - Aula 01
Curso de Java - Antonio Alves - Aula 01Antonio Alves
 

Mais de Antonio Alves (11)

Sistema gerenciadores de bancos de dados
Sistema gerenciadores de bancos de dadosSistema gerenciadores de bancos de dados
Sistema gerenciadores de bancos de dados
 
Trabalhando com Chromakey
Trabalhando com ChromakeyTrabalhando com Chromakey
Trabalhando com Chromakey
 
Adobe illustrator vetorizacao - aula 08
Adobe illustrator   vetorizacao - aula 08Adobe illustrator   vetorizacao - aula 08
Adobe illustrator vetorizacao - aula 08
 
Lógica de programação em java
Lógica de programação em javaLógica de programação em java
Lógica de programação em java
 
Escopo de variaveis
Escopo de variaveisEscopo de variaveis
Escopo de variaveis
 
Curso de java - Antonio Alves - aula 04
Curso de java - Antonio Alves -  aula 04Curso de java - Antonio Alves -  aula 04
Curso de java - Antonio Alves - aula 04
 
Teoria das cores aplicada ao design
Teoria das cores aplicada ao designTeoria das cores aplicada ao design
Teoria das cores aplicada ao design
 
Introdução ao designer gráfico aula 01
Introdução ao designer gráfico   aula 01Introdução ao designer gráfico   aula 01
Introdução ao designer gráfico aula 01
 
Curso de Java - Antonio Alves - Aula 03
Curso de Java - Antonio Alves - Aula 03Curso de Java - Antonio Alves - Aula 03
Curso de Java - Antonio Alves - Aula 03
 
Curso de Java - Antonio Alves - Aula 03
Curso de Java - Antonio Alves - Aula 03Curso de Java - Antonio Alves - Aula 03
Curso de Java - Antonio Alves - Aula 03
 
Curso de Java - Antonio Alves - Aula 01
Curso de Java - Antonio Alves - Aula 01Curso de Java - Antonio Alves - Aula 01
Curso de Java - Antonio Alves - Aula 01
 

Último

Recomposiçao em matematica 1 ano 2024 - ESTUDANTE 1ª série.pdf
Recomposiçao em matematica 1 ano 2024 - ESTUDANTE 1ª série.pdfRecomposiçao em matematica 1 ano 2024 - ESTUDANTE 1ª série.pdf
Recomposiçao em matematica 1 ano 2024 - ESTUDANTE 1ª série.pdfFrancisco Márcio Bezerra Oliveira
 
Jogo de Rimas - Para impressão em pdf a ser usado para crianças
Jogo de Rimas - Para impressão em pdf a ser usado para criançasJogo de Rimas - Para impressão em pdf a ser usado para crianças
Jogo de Rimas - Para impressão em pdf a ser usado para criançasSocorro Machado
 
PRÁTICAS PEDAGÓGICAS GESTÃO DA APRENDIZAGEM
PRÁTICAS PEDAGÓGICAS GESTÃO DA APRENDIZAGEMPRÁTICAS PEDAGÓGICAS GESTÃO DA APRENDIZAGEM
PRÁTICAS PEDAGÓGICAS GESTÃO DA APRENDIZAGEMHELENO FAVACHO
 
Slides Lição 05, Central Gospel, A Grande Tribulação, 1Tr24.pptx
Slides Lição 05, Central Gospel, A Grande Tribulação, 1Tr24.pptxSlides Lição 05, Central Gospel, A Grande Tribulação, 1Tr24.pptx
Slides Lição 05, Central Gospel, A Grande Tribulação, 1Tr24.pptxLuizHenriquedeAlmeid6
 
Projeto de Extensão - ENGENHARIA DE SOFTWARE - BACHARELADO.pdf
Projeto de Extensão - ENGENHARIA DE SOFTWARE - BACHARELADO.pdfProjeto de Extensão - ENGENHARIA DE SOFTWARE - BACHARELADO.pdf
Projeto de Extensão - ENGENHARIA DE SOFTWARE - BACHARELADO.pdfHELENO FAVACHO
 
2° ANO - ENSINO FUNDAMENTAL ENSINO RELIGIOSO
2° ANO - ENSINO FUNDAMENTAL ENSINO RELIGIOSO2° ANO - ENSINO FUNDAMENTAL ENSINO RELIGIOSO
2° ANO - ENSINO FUNDAMENTAL ENSINO RELIGIOSOLeloIurk1
 
Historia da Arte europeia e não só. .pdf
Historia da Arte europeia e não só. .pdfHistoria da Arte europeia e não só. .pdf
Historia da Arte europeia e não só. .pdfEmanuel Pio
 
ENSINO RELIGIOSO 7º ANO INOVE NA ESCOLA.pdf
ENSINO RELIGIOSO 7º ANO INOVE NA ESCOLA.pdfENSINO RELIGIOSO 7º ANO INOVE NA ESCOLA.pdf
ENSINO RELIGIOSO 7º ANO INOVE NA ESCOLA.pdfLeloIurk1
 
Teoria heterotrófica e autotrófica dos primeiros seres vivos..pptx
Teoria heterotrófica e autotrófica dos primeiros seres vivos..pptxTeoria heterotrófica e autotrófica dos primeiros seres vivos..pptx
Teoria heterotrófica e autotrófica dos primeiros seres vivos..pptxTailsonSantos1
 
About Vila Galé- Cadeia Empresarial de Hotéis
About Vila Galé- Cadeia Empresarial de HotéisAbout Vila Galé- Cadeia Empresarial de Hotéis
About Vila Galé- Cadeia Empresarial de Hotéisines09cachapa
 
Projeto_de_Extensão_Agronomia_adquira_ja_(91)_98764-0830.pdf
Projeto_de_Extensão_Agronomia_adquira_ja_(91)_98764-0830.pdfProjeto_de_Extensão_Agronomia_adquira_ja_(91)_98764-0830.pdf
Projeto_de_Extensão_Agronomia_adquira_ja_(91)_98764-0830.pdfHELENO FAVACHO
 
PROJETO DE EXTENSÃO - EDUCAÇÃO FÍSICA BACHARELADO.pdf
PROJETO DE EXTENSÃO - EDUCAÇÃO FÍSICA BACHARELADO.pdfPROJETO DE EXTENSÃO - EDUCAÇÃO FÍSICA BACHARELADO.pdf
PROJETO DE EXTENSÃO - EDUCAÇÃO FÍSICA BACHARELADO.pdfHELENO FAVACHO
 
planejamento_estrategico_-_gestao_2021-2024_16015654.pdf
planejamento_estrategico_-_gestao_2021-2024_16015654.pdfplanejamento_estrategico_-_gestao_2021-2024_16015654.pdf
planejamento_estrategico_-_gestao_2021-2024_16015654.pdfmaurocesarpaesalmeid
 
PROJETO DE EXTENSÃO I - AGRONOMIA.pdf AGRONOMIAAGRONOMIA
PROJETO DE EXTENSÃO I - AGRONOMIA.pdf AGRONOMIAAGRONOMIAPROJETO DE EXTENSÃO I - AGRONOMIA.pdf AGRONOMIAAGRONOMIA
PROJETO DE EXTENSÃO I - AGRONOMIA.pdf AGRONOMIAAGRONOMIAHELENO FAVACHO
 
aula de bioquímica bioquímica dos carboidratos.ppt
aula de bioquímica bioquímica dos carboidratos.pptaula de bioquímica bioquímica dos carboidratos.ppt
aula de bioquímica bioquímica dos carboidratos.pptssuser2b53fe
 
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...azulassessoria9
 
Considere a seguinte situação fictícia: Durante uma reunião de equipe em uma...
Considere a seguinte situação fictícia:  Durante uma reunião de equipe em uma...Considere a seguinte situação fictícia:  Durante uma reunião de equipe em uma...
Considere a seguinte situação fictícia: Durante uma reunião de equipe em uma...azulassessoria9
 
PROJETO DE EXTENSÃO I - TERAPIAS INTEGRATIVAS E COMPLEMENTARES.pdf
PROJETO DE EXTENSÃO I - TERAPIAS INTEGRATIVAS E COMPLEMENTARES.pdfPROJETO DE EXTENSÃO I - TERAPIAS INTEGRATIVAS E COMPLEMENTARES.pdf
PROJETO DE EXTENSÃO I - TERAPIAS INTEGRATIVAS E COMPLEMENTARES.pdfHELENO FAVACHO
 
Currículo - Ícaro Kleisson - Tutor acadêmico.pdf
Currículo - Ícaro Kleisson - Tutor acadêmico.pdfCurrículo - Ícaro Kleisson - Tutor acadêmico.pdf
Currículo - Ícaro Kleisson - Tutor acadêmico.pdfTutor de matemática Ícaro
 
atividades_reforço_4°ano_231206_132728.pdf
atividades_reforço_4°ano_231206_132728.pdfatividades_reforço_4°ano_231206_132728.pdf
atividades_reforço_4°ano_231206_132728.pdfLuizaAbaAba
 

Último (20)

Recomposiçao em matematica 1 ano 2024 - ESTUDANTE 1ª série.pdf
Recomposiçao em matematica 1 ano 2024 - ESTUDANTE 1ª série.pdfRecomposiçao em matematica 1 ano 2024 - ESTUDANTE 1ª série.pdf
Recomposiçao em matematica 1 ano 2024 - ESTUDANTE 1ª série.pdf
 
Jogo de Rimas - Para impressão em pdf a ser usado para crianças
Jogo de Rimas - Para impressão em pdf a ser usado para criançasJogo de Rimas - Para impressão em pdf a ser usado para crianças
Jogo de Rimas - Para impressão em pdf a ser usado para crianças
 
PRÁTICAS PEDAGÓGICAS GESTÃO DA APRENDIZAGEM
PRÁTICAS PEDAGÓGICAS GESTÃO DA APRENDIZAGEMPRÁTICAS PEDAGÓGICAS GESTÃO DA APRENDIZAGEM
PRÁTICAS PEDAGÓGICAS GESTÃO DA APRENDIZAGEM
 
Slides Lição 05, Central Gospel, A Grande Tribulação, 1Tr24.pptx
Slides Lição 05, Central Gospel, A Grande Tribulação, 1Tr24.pptxSlides Lição 05, Central Gospel, A Grande Tribulação, 1Tr24.pptx
Slides Lição 05, Central Gospel, A Grande Tribulação, 1Tr24.pptx
 
Projeto de Extensão - ENGENHARIA DE SOFTWARE - BACHARELADO.pdf
Projeto de Extensão - ENGENHARIA DE SOFTWARE - BACHARELADO.pdfProjeto de Extensão - ENGENHARIA DE SOFTWARE - BACHARELADO.pdf
Projeto de Extensão - ENGENHARIA DE SOFTWARE - BACHARELADO.pdf
 
2° ANO - ENSINO FUNDAMENTAL ENSINO RELIGIOSO
2° ANO - ENSINO FUNDAMENTAL ENSINO RELIGIOSO2° ANO - ENSINO FUNDAMENTAL ENSINO RELIGIOSO
2° ANO - ENSINO FUNDAMENTAL ENSINO RELIGIOSO
 
Historia da Arte europeia e não só. .pdf
Historia da Arte europeia e não só. .pdfHistoria da Arte europeia e não só. .pdf
Historia da Arte europeia e não só. .pdf
 
ENSINO RELIGIOSO 7º ANO INOVE NA ESCOLA.pdf
ENSINO RELIGIOSO 7º ANO INOVE NA ESCOLA.pdfENSINO RELIGIOSO 7º ANO INOVE NA ESCOLA.pdf
ENSINO RELIGIOSO 7º ANO INOVE NA ESCOLA.pdf
 
Teoria heterotrófica e autotrófica dos primeiros seres vivos..pptx
Teoria heterotrófica e autotrófica dos primeiros seres vivos..pptxTeoria heterotrófica e autotrófica dos primeiros seres vivos..pptx
Teoria heterotrófica e autotrófica dos primeiros seres vivos..pptx
 
About Vila Galé- Cadeia Empresarial de Hotéis
About Vila Galé- Cadeia Empresarial de HotéisAbout Vila Galé- Cadeia Empresarial de Hotéis
About Vila Galé- Cadeia Empresarial de Hotéis
 
Projeto_de_Extensão_Agronomia_adquira_ja_(91)_98764-0830.pdf
Projeto_de_Extensão_Agronomia_adquira_ja_(91)_98764-0830.pdfProjeto_de_Extensão_Agronomia_adquira_ja_(91)_98764-0830.pdf
Projeto_de_Extensão_Agronomia_adquira_ja_(91)_98764-0830.pdf
 
PROJETO DE EXTENSÃO - EDUCAÇÃO FÍSICA BACHARELADO.pdf
PROJETO DE EXTENSÃO - EDUCAÇÃO FÍSICA BACHARELADO.pdfPROJETO DE EXTENSÃO - EDUCAÇÃO FÍSICA BACHARELADO.pdf
PROJETO DE EXTENSÃO - EDUCAÇÃO FÍSICA BACHARELADO.pdf
 
planejamento_estrategico_-_gestao_2021-2024_16015654.pdf
planejamento_estrategico_-_gestao_2021-2024_16015654.pdfplanejamento_estrategico_-_gestao_2021-2024_16015654.pdf
planejamento_estrategico_-_gestao_2021-2024_16015654.pdf
 
PROJETO DE EXTENSÃO I - AGRONOMIA.pdf AGRONOMIAAGRONOMIA
PROJETO DE EXTENSÃO I - AGRONOMIA.pdf AGRONOMIAAGRONOMIAPROJETO DE EXTENSÃO I - AGRONOMIA.pdf AGRONOMIAAGRONOMIA
PROJETO DE EXTENSÃO I - AGRONOMIA.pdf AGRONOMIAAGRONOMIA
 
aula de bioquímica bioquímica dos carboidratos.ppt
aula de bioquímica bioquímica dos carboidratos.pptaula de bioquímica bioquímica dos carboidratos.ppt
aula de bioquímica bioquímica dos carboidratos.ppt
 
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...
 
Considere a seguinte situação fictícia: Durante uma reunião de equipe em uma...
Considere a seguinte situação fictícia:  Durante uma reunião de equipe em uma...Considere a seguinte situação fictícia:  Durante uma reunião de equipe em uma...
Considere a seguinte situação fictícia: Durante uma reunião de equipe em uma...
 
PROJETO DE EXTENSÃO I - TERAPIAS INTEGRATIVAS E COMPLEMENTARES.pdf
PROJETO DE EXTENSÃO I - TERAPIAS INTEGRATIVAS E COMPLEMENTARES.pdfPROJETO DE EXTENSÃO I - TERAPIAS INTEGRATIVAS E COMPLEMENTARES.pdf
PROJETO DE EXTENSÃO I - TERAPIAS INTEGRATIVAS E COMPLEMENTARES.pdf
 
Currículo - Ícaro Kleisson - Tutor acadêmico.pdf
Currículo - Ícaro Kleisson - Tutor acadêmico.pdfCurrículo - Ícaro Kleisson - Tutor acadêmico.pdf
Currículo - Ícaro Kleisson - Tutor acadêmico.pdf
 
atividades_reforço_4°ano_231206_132728.pdf
atividades_reforço_4°ano_231206_132728.pdfatividades_reforço_4°ano_231206_132728.pdf
atividades_reforço_4°ano_231206_132728.pdf
 

Java Tipos e Operadores

  • 1. Curso de Java Aula 02 – Tipos e operadores
  • 2. TIPOS E OPERADORES  Java é uma linguagem fortemente tipada  Todas as variáveis devem ter um tipo associado  A utilização de uma variável deve ser posterior a sua declaração  As conversões de tipo (Casting) devem ser rigidamente controladas pela linguagem  As conversões de tipo devem ser explicitas
  • 3. Tipos primitivos e Tipos compostos  Tipos primitivos são aqueles tiposjá embutidos na linguagem java, enquanto os tipos compostos são todas as classes da linguagem java, bem como as classes que você venha a criar.  Variaveis de tipos primitivos são tratados de uma maneira bem diferente das variáveis de referencia para objetos.
  • 4. Tipos primitivos  Quando você declara uma variável do tipo primitivo o java aloca um pedaço da memória que é grande o suficiente para guardar valores do tipo primitivo.  Se você definie uma variavl do tipo primitivo como uma variável de instancia ela inicializada para ‘0’ se for inteira; para false se for boolean e para ‘0’ se for do tipo char.  Variaveis primitivas armazenam seu valor . Se você declara uma valriavel int e atribui o valor dela para 5 o valor é armazenado diretamente nos 4 bytes reservados para a variavel
  • 5. Tipos compostos  Quando você declara uma variável do tipo composto, também chamada de variável de referencia ela também recebe um pedaço de memória, mas esse pedaço de memória é grande o suficiente apenas para armazenar a referencia ao objeto.  Uma variável de referencia POR PADRÃO é sempre inicializada como null para indicar que ainda não recebeu referencia para nenhum objeto.  Use o operador de atribuição para fazer com que uma variável de referencia se refira a uma instancia de classe.  Essa atribuição pode ser um objeto existente ou para um objeto recém criado através do operador new
  • 6. Tipo boolean Tipo Contem Default tamanho Faixa de valores boolean true ou false false 1 bit Pode ser true ou false O valor booleano não é um tipo inteiro onde false é representado por 0 e true por 1. Um valor do tipo boolean não pode ser convertido para nenhum outro tipo de dado
  • 7. Tipo byte Tipo Contém Default Tamanho Faixa de valores byte Inteiro com sinal 0 8 bits Pode assumir valores entre -27 e 27 - 1 Literais inteiros podem ser expressos por notação octal ou hexadecimal. Ou seja, um literal que começa Com 0x ou 0X e os outros dígitos são representados por caracteres de 0 a F para números com base 16
  • 8. Tipo short Tipo Contém Default Tamanho Faixa de valores byte Inteiro com sinal 0 8 bits Pode assumir valores entre -215 e 215 - 1 Cada tipo inteiro possui uma classe involucro correspondente (Wrapper classes) essas classes possuem constantes MIN_VALUE e MAX_VALUE que definem os limites das faixas de valores. Possui também métodos extremamente uteis como Byte.parseByte() e Integer.parseInt para realizar conversões de Strings para inteiros.
  • 9. Tipo int Tipo Contém Default Tamanho Faixa de valores int Inteiro com sinal 0 32 bits Pode assumir valores entre -231 e 231 - 1
  • 10. Tipo long Tipo Contém Default Tamanho Faixa de valores long Inteiro com sinal 0 64 Pode assumir valores entre -263 e 263 - 1
  • 11. Tipo double Tipo Contém Default Tamanho Faixa de valores double Ponto flutuante 0.0 64 bits Representa números em notação de ponto flutuante. Sua representaçã o é exponencial, alguns bits representam a base e outros oexpoente
  • 12. Tipo float Tipo Contém Default Tamanho Faixa de valores float Ponto flutuante 0.0 32 bits Pode assumir valores entre -263 e 263 - 1 Literais de ponto flutuante também podem ser representados através de notação cientifica na qual um numero é seguido pela letra e ou E assinalando o expoente e por outro numero que representa a potencia de 10 pela qual o primeiro numero é multiplicado. Numeros com ponto flutuante são double por padrão, para indicar que o numero é um float basta adicionar o caracter f ou F no final do numero.
  • 13. Tipo char Tipo Contém Default Tamanho Faixa de valores char Caracter unicode u000 16 bits Armazena dados alfanuméricos . Tambem armazenas dados inteiros entre 0 e 65535
  • 14. Tipo char  O tipo char representa um caractere Unicode. É motivo de surpresa para programadores experientes descobrir que um valor char possui 16 BITS de tamanho.  Um literal caractere vem sempre entre aspas simples.  Um valor do tipo char não pode ser convertido para e nem a partir de tipos inteiros pois o tipo tipo char é um tipo não sinalizado (unsigned)
  • 15. Sequencia de Escape Valor do Caractere b Backspace t Tabulação horizontal n Nova linha f Alimentação de formulário r Retorno de carro ” Aspas duplas ’ Aspas simples Contrabarra uxxxx Caractere Unicode com codificação xxx onde xxxx são quatro dígitos hexadecimais.
  • 16. Tipo String  Alem dos tipos primitivos Java possui um tipo próprio de dado para trabalhar com sequencias de texto(String)  Ele no entanto não é um tipo primitivo devido ao uso frequente de strings em programas.  Um literal String é um conjuto de caracteres delimitados por aspas duplas.  Strings aceitam qualquer sequencia de escape permitida para um valor char.  Use a sequencia ” para incluir aspas dentro de uma string
  • 17. Conversoes de tipo (Casting)  Java permite a conversão de tipo entre valores inteiros e valores reais (ponto flutuante). Além disso por corresponder a um numero na codificação Unicode o tipo char pode ser convertido para e a partir de um tipo inteiro ou ponto flutuante.  Em realidade o único tipo de dado que não pode ser convertido para ou a partir de um numero é o boolean  A conversão pode ser de ampliação quando um valor é convertido para um tipo com uma faixa maior de valores.  Ou pode ser de redução que é quando o valor é convertido para um valor com menos bits de representação.Esse tipo de conversão pode ser um problema é não é recomendada
  • 18. Problemas em conversões de narrowing(redução) int byte
  • 19. Sem uso de conversor Erro em tempo de compilação.
  • 21. Outro exemplo: Esse tipo de casting é mais comum em conversões de números reais para inteiros. Quando ela ocorre a parte fracional é truncada. (o valor após a virgula é arredondado para 0 e não para o inteiro mais próximo
  • 23. Expressões e operadores  Variáveis são importantes para a arquitetura de um programa java.  As expressões são o próximo nível de estrutura em um programa java. O interpretador Java (JVM) avalia uma expressão para determinar o seu resultado.
  • 25. Precedência em Java  Precedência indica a ordem na qual as operações de uma expressão serão executadas. No caso da expressão acima o sinal de multiplicação tem uma prioridade mais alta do que o de adição, logo a será somado a multiplicação de b por c.  A precedência padrão de um operador pode ser alterada com o uso de parenteseses de forma a explicitar a ordem na qual as operações devem ser realizadas, segundo o exemplo abaixo
  • 26. Associatividade  Quando uma expressão possui vários operadores com o mesmo grau de precedência, é a associatividade dos operadores que determina a ordem padrão na qual as operações serão executadas.  A maior parte dos operadores possui associatividade da esquerda para a direita  Os operadores unários e de atribuição possuem associatividade da direita para a esquerda
  • 27.