O documento descreve os tipos primitivos em Java, incluindo seus tamanhos e faixas de valores. Também discute literais, conversões entre tipos, operadores aritméticos e bitwise.
Este documento discute operadores e estruturas de controle de fluxo em Java, incluindo:
1) Diferentes tipos de operadores como aritméticos, lógicos, relacionais e de atribuição;
2) Estruturas de controle como if/else, for, while, do/while e switch;
3) Conceitos como precedência, promoção, coerção e controle de fluxo.
O documento discute conversão de tipos primitivos em Java, incluindo conversão entre strings, inteiros, floats e doubles. Também apresenta métodos úteis para manipulação de strings como length(), charAt(), toUpperCase() e equals().
Poo1 aula 4 - tipos de dados variáveis-constantesDenis Sobrenome
O documento discute tipos de dados primitivos em Java, incluindo números inteiros, fracionários, lógicos e caracteres. Também aborda variáveis e constantes, declarando e inicializando variáveis, e a diferença entre variáveis de valor e referência.
O documento resume os principais tipos de dados e operadores em C#. Apresenta tipos primitivos como int, float e bool e tipos complexos como arrays, enumerações e estruturas. Descreve também operadores aritméticos, relacionais e lógicos e declarações como if/else e laços de repetição.
Poo1 aula 4 - tipos de dados variáveis-constantes - copiaDenis Sobrenome
O documento discute tipos de dados primitivos em Java, incluindo números inteiros, fracionários, lógicos e caracteres. Também explica variáveis e constantes, declarando e inicializando variáveis, e a diferença entre variáveis de valor e referência.
1) O documento discute os tipos primitivos de dados suportados pela linguagem C, incluindo constantes, variáveis, operadores e declarações.
2) É destacado que o C diferencia maiúsculas de minúsculas e os principais tipos de dados como char, int, float e double são explicados.
3) São apresentados exemplos de como declarar e inicializar variáveis em C e os operadores aritméticos básicos da linguagem.
O documento apresenta um guia rápido de referência sobre variáveis, tipos de dados, operadores e fluxos de controle na linguagem Java, incluindo a declaração e inicialização de variáveis, tipos primitivos, constantes, operadores aritméticos, relacionais e lógicos. Também aborda comentários, strings, entrada e saída de dados, e convenções de codificação.
Este documento fornece um guia rápido sobre variáveis, tipos de dados, operadores e estruturas de controle na linguagem Java, descrevendo oito tipos primitivos, como declarar e inicializar variáveis, operadores aritméticos e lógicos, fluxos como if/else e loops. Também apresenta convenções de codificação e dicas do Eclipse para desenvolvimento em Java.
Este documento discute operadores e estruturas de controle de fluxo em Java, incluindo:
1) Diferentes tipos de operadores como aritméticos, lógicos, relacionais e de atribuição;
2) Estruturas de controle como if/else, for, while, do/while e switch;
3) Conceitos como precedência, promoção, coerção e controle de fluxo.
O documento discute conversão de tipos primitivos em Java, incluindo conversão entre strings, inteiros, floats e doubles. Também apresenta métodos úteis para manipulação de strings como length(), charAt(), toUpperCase() e equals().
Poo1 aula 4 - tipos de dados variáveis-constantesDenis Sobrenome
O documento discute tipos de dados primitivos em Java, incluindo números inteiros, fracionários, lógicos e caracteres. Também aborda variáveis e constantes, declarando e inicializando variáveis, e a diferença entre variáveis de valor e referência.
O documento resume os principais tipos de dados e operadores em C#. Apresenta tipos primitivos como int, float e bool e tipos complexos como arrays, enumerações e estruturas. Descreve também operadores aritméticos, relacionais e lógicos e declarações como if/else e laços de repetição.
Poo1 aula 4 - tipos de dados variáveis-constantes - copiaDenis Sobrenome
O documento discute tipos de dados primitivos em Java, incluindo números inteiros, fracionários, lógicos e caracteres. Também explica variáveis e constantes, declarando e inicializando variáveis, e a diferença entre variáveis de valor e referência.
1) O documento discute os tipos primitivos de dados suportados pela linguagem C, incluindo constantes, variáveis, operadores e declarações.
2) É destacado que o C diferencia maiúsculas de minúsculas e os principais tipos de dados como char, int, float e double são explicados.
3) São apresentados exemplos de como declarar e inicializar variáveis em C e os operadores aritméticos básicos da linguagem.
O documento apresenta um guia rápido de referência sobre variáveis, tipos de dados, operadores e fluxos de controle na linguagem Java, incluindo a declaração e inicialização de variáveis, tipos primitivos, constantes, operadores aritméticos, relacionais e lógicos. Também aborda comentários, strings, entrada e saída de dados, e convenções de codificação.
Este documento fornece um guia rápido sobre variáveis, tipos de dados, operadores e estruturas de controle na linguagem Java, descrevendo oito tipos primitivos, como declarar e inicializar variáveis, operadores aritméticos e lógicos, fluxos como if/else e loops. Também apresenta convenções de codificação e dicas do Eclipse para desenvolvimento em Java.
O documento apresenta um mini-curso de Java Básico ministrado por duas professoras. O mini-curso irá apresentar os principais conceitos de Java e Orientação a Objetos em apenas 3 horas e incluirá apresentações, práticas e esclarecimento de dúvidas. A agenda inclui tópicos como variáveis, tipos primitivos, controle de fluxo, classes, herança e interfaces.
Esta estrutura de decisão simples avalia se um número digitado pelo usuário é par ou ímpar e exibe uma mensagem correspondente. Se o resto da divisão do número por 2 for igual a 0, é exibida a mensagem "É par". Caso contrário, nenhuma ação é realizada.
O documento apresenta os principais conceitos da linguagem de programação C, incluindo tipos de dados primitivos, variáveis, operadores, entrada e saída. Ele discute declarações de variáveis, inicialização, escopo, operadores aritméticos e relacionais, modeladores e as funções printf e scanf para entrada e saída.
Este documento discute os tipos básicos de dados em C, como char, int, float e double. Também aborda modificadores de tipos, constantes, variáveis, operadores e conversão de tipos.
Este documento fornece uma introdução à linguagem C#, abordando sua estrutura, tipos, variáveis, operadores, tratamento de erros e outros conceitos fundamentais. O foco está na entrada e saída de dados usando a classe Console, bem como na conversão entre tipos primitivos. Enumerações são introduzidas como uma alternativa às constantes tradicionais.
Slide da vídeo aula grátis publicada no Blog do JCursos:
http://jcursos.com.br/video-aulas/php-guia-de-referencia-03-variaveis
Link para o Guia no Youtube: http://www.youtube.com/playlist?list=PLdRLfw1rdyFGCCLOp76Sz76jePtsMqIDX
O documento apresenta uma introdução sobre ponteiros em C, definindo-os como variáveis que armazenam endereços de memória e explicando como eles permitem a manipulação dinâmica de estruturas de dados. Os principais pontos apresentados são: (1) ponteiros permitem simular passagem por referência e criar estruturas dinâmicas; (2) ponteiros armazenam endereços de memória ao invés de valores; (3) os operadores & e * são usados para obter endereços e valores apontados.
O documento resume os principais tópicos sobre a linguagem C#. Ele discute 1) a história e características de C#, 2) os tipos de dados suportados como inteiros, strings e arrays, e 3) conceitos de programação orientada a objetos como classes, herança e polimorfismo.
O documento discute sobre memória de computadores e ponteiros em C. Explica que cada byte na memória tem um endereço numérico e cada objeto ocupa bytes consecutivos, tendo um endereço associado. Também define ponteiros como variáveis que armazenam endereços de memória e discute operações com ponteiros.
Material de apoio das aulas de tutoria de Algoritmos e Estrutura de dados da Universidade Federal de Ouro Preto, Campus João Monlevade. O conteúdo abordado é uma revisão sobre ponteiros na linguagem de programação C.
Este documento fornece uma introdução aos fundamentos da linguagem Java, incluindo tipos de dados primitivos, operadores, declaração e uso de variáveis, comentários e identificadores. O documento também discute conversões entre tipos de dados como casting e promoção.
O documento descreve operadores e comandos de controle de fluxo em Java, incluindo operadores unários, aritméticos, de atribuição, comparação, lógicos e instanceof. Também explica comandos condicionais como if/else e switch e comandos de repetição como while, do/while e for, além de break e continue.
O documento descreve a arquitetura de Von Neumann utilizada nos computadores pessoais, onde a mesma memória é usada para armazenar tanto dados quanto código executável. Também explica o conceito de ponteiros em C, que são variáveis que armazenam endereços de memória e permitem a manipulação direta desses endereços no código.
O documento discute operadores e variáveis em PHP, incluindo tipos de variáveis como booleanos, números, strings e arrays. Também cobre operadores aritméticos, de atribuição, comparação e lógicos.
Pseudocódigo ou Portugol (Lógica de Programação)Gercélia Ramos
Existem diversas formas de se representar um algoritmo, neste slide estaremos falando sobre Pseudocódigo ou Portugol onde descrevemos algoritmo utilizando características e regras da programação mas em português. Utilizamos a ferramenta Visualg.[Aula para curso técnico]
O documento apresenta um módulo de treinamento em ASP.NET e C#, abordando tópicos como declaração de variáveis, tipos de dados, operadores, lógica de controle, arrays, métodos e tratamento de exceções.
Este documento apresenta os conceitos fundamentais da Máquina de Turing, incluindo:
1) A Máquina de Turing é constituída por uma fita, unidade de controle e função de transição.
2) A função de transição define o novo estado, símbolo a ser gravado e sentido de movimento da cabeça da fita.
3) Uma Máquina de Turing pode ser usada para reconhecer linguagens, aceitando ou rejeitando palavras de entrada.
Este documento discute operadores e estruturas de controle de fluxo em Java, incluindo:
1) Diferentes tipos de operadores como aritméticos, lógicos, relacionais e de atribuição;
2) Estruturas de controle como if/else, for, while, do/while, break, continue e switch;
3) Conversão e promoção de tipos.
Este documento apresenta os fundamentos da linguagem Java, incluindo: 1) Uma introdução à linguagem Java e seus tipos primitivos; 2) Estruturas de controle como if/else e switch/case; 3) Estruturas de repetição como for e while. O objetivo é fornecer uma revisão geral dos conceitos básicos da programação em Java.
O documento discute tipos de dados e operadores em Java. Ele explica:
1) Identificadores e como nomear variáveis, métodos e classes.
2) Como usar comentários e declarar e inicializar variáveis.
3) Diferentes tipos de operadores aritméticos, relacionais e lógicos.
4) Tipos primitivos como int, double, boolean e char e como fazer conversões entre eles.
O documento apresenta os fundamentos da linguagem Java, incluindo tipos de dados, declaração de variáveis, estruturas de controle como if/else e switch/case, e estruturas de repetição como for, while e do/while. O objetivo é fornecer uma revisão geral dos conceitos básicos da programação em Java.
A aula abordou: 1) Listas de argumentos em métodos; 2) Como parâmetros de tipos primitivos e objetos são tratados; 3) Precedência de operadores; 4) Conversões implícitas e explícitas entre tipos de dados.
O documento apresenta um mini-curso de Java Básico ministrado por duas professoras. O mini-curso irá apresentar os principais conceitos de Java e Orientação a Objetos em apenas 3 horas e incluirá apresentações, práticas e esclarecimento de dúvidas. A agenda inclui tópicos como variáveis, tipos primitivos, controle de fluxo, classes, herança e interfaces.
Esta estrutura de decisão simples avalia se um número digitado pelo usuário é par ou ímpar e exibe uma mensagem correspondente. Se o resto da divisão do número por 2 for igual a 0, é exibida a mensagem "É par". Caso contrário, nenhuma ação é realizada.
O documento apresenta os principais conceitos da linguagem de programação C, incluindo tipos de dados primitivos, variáveis, operadores, entrada e saída. Ele discute declarações de variáveis, inicialização, escopo, operadores aritméticos e relacionais, modeladores e as funções printf e scanf para entrada e saída.
Este documento discute os tipos básicos de dados em C, como char, int, float e double. Também aborda modificadores de tipos, constantes, variáveis, operadores e conversão de tipos.
Este documento fornece uma introdução à linguagem C#, abordando sua estrutura, tipos, variáveis, operadores, tratamento de erros e outros conceitos fundamentais. O foco está na entrada e saída de dados usando a classe Console, bem como na conversão entre tipos primitivos. Enumerações são introduzidas como uma alternativa às constantes tradicionais.
Slide da vídeo aula grátis publicada no Blog do JCursos:
http://jcursos.com.br/video-aulas/php-guia-de-referencia-03-variaveis
Link para o Guia no Youtube: http://www.youtube.com/playlist?list=PLdRLfw1rdyFGCCLOp76Sz76jePtsMqIDX
O documento apresenta uma introdução sobre ponteiros em C, definindo-os como variáveis que armazenam endereços de memória e explicando como eles permitem a manipulação dinâmica de estruturas de dados. Os principais pontos apresentados são: (1) ponteiros permitem simular passagem por referência e criar estruturas dinâmicas; (2) ponteiros armazenam endereços de memória ao invés de valores; (3) os operadores & e * são usados para obter endereços e valores apontados.
O documento resume os principais tópicos sobre a linguagem C#. Ele discute 1) a história e características de C#, 2) os tipos de dados suportados como inteiros, strings e arrays, e 3) conceitos de programação orientada a objetos como classes, herança e polimorfismo.
O documento discute sobre memória de computadores e ponteiros em C. Explica que cada byte na memória tem um endereço numérico e cada objeto ocupa bytes consecutivos, tendo um endereço associado. Também define ponteiros como variáveis que armazenam endereços de memória e discute operações com ponteiros.
Material de apoio das aulas de tutoria de Algoritmos e Estrutura de dados da Universidade Federal de Ouro Preto, Campus João Monlevade. O conteúdo abordado é uma revisão sobre ponteiros na linguagem de programação C.
Este documento fornece uma introdução aos fundamentos da linguagem Java, incluindo tipos de dados primitivos, operadores, declaração e uso de variáveis, comentários e identificadores. O documento também discute conversões entre tipos de dados como casting e promoção.
O documento descreve operadores e comandos de controle de fluxo em Java, incluindo operadores unários, aritméticos, de atribuição, comparação, lógicos e instanceof. Também explica comandos condicionais como if/else e switch e comandos de repetição como while, do/while e for, além de break e continue.
O documento descreve a arquitetura de Von Neumann utilizada nos computadores pessoais, onde a mesma memória é usada para armazenar tanto dados quanto código executável. Também explica o conceito de ponteiros em C, que são variáveis que armazenam endereços de memória e permitem a manipulação direta desses endereços no código.
O documento discute operadores e variáveis em PHP, incluindo tipos de variáveis como booleanos, números, strings e arrays. Também cobre operadores aritméticos, de atribuição, comparação e lógicos.
Pseudocódigo ou Portugol (Lógica de Programação)Gercélia Ramos
Existem diversas formas de se representar um algoritmo, neste slide estaremos falando sobre Pseudocódigo ou Portugol onde descrevemos algoritmo utilizando características e regras da programação mas em português. Utilizamos a ferramenta Visualg.[Aula para curso técnico]
O documento apresenta um módulo de treinamento em ASP.NET e C#, abordando tópicos como declaração de variáveis, tipos de dados, operadores, lógica de controle, arrays, métodos e tratamento de exceções.
Este documento apresenta os conceitos fundamentais da Máquina de Turing, incluindo:
1) A Máquina de Turing é constituída por uma fita, unidade de controle e função de transição.
2) A função de transição define o novo estado, símbolo a ser gravado e sentido de movimento da cabeça da fita.
3) Uma Máquina de Turing pode ser usada para reconhecer linguagens, aceitando ou rejeitando palavras de entrada.
Este documento discute operadores e estruturas de controle de fluxo em Java, incluindo:
1) Diferentes tipos de operadores como aritméticos, lógicos, relacionais e de atribuição;
2) Estruturas de controle como if/else, for, while, do/while, break, continue e switch;
3) Conversão e promoção de tipos.
Este documento apresenta os fundamentos da linguagem Java, incluindo: 1) Uma introdução à linguagem Java e seus tipos primitivos; 2) Estruturas de controle como if/else e switch/case; 3) Estruturas de repetição como for e while. O objetivo é fornecer uma revisão geral dos conceitos básicos da programação em Java.
O documento discute tipos de dados e operadores em Java. Ele explica:
1) Identificadores e como nomear variáveis, métodos e classes.
2) Como usar comentários e declarar e inicializar variáveis.
3) Diferentes tipos de operadores aritméticos, relacionais e lógicos.
4) Tipos primitivos como int, double, boolean e char e como fazer conversões entre eles.
O documento apresenta os fundamentos da linguagem Java, incluindo tipos de dados, declaração de variáveis, estruturas de controle como if/else e switch/case, e estruturas de repetição como for, while e do/while. O objetivo é fornecer uma revisão geral dos conceitos básicos da programação em Java.
A aula abordou: 1) Listas de argumentos em métodos; 2) Como parâmetros de tipos primitivos e objetos são tratados; 3) Precedência de operadores; 4) Conversões implícitas e explícitas entre tipos de dados.
O documento descreve o que é Java, incluindo que é uma linguagem de programação orientada a objetos projetada para ser portável e segura. Ele também discute os tipos básicos em Java como inteiros, caracteres e pontos flutuantes, assim como convenções de codificação e operadores.
O documento descreve os principais conceitos da linguagem de programação C++, incluindo variáveis, tipos de dados, operadores, estruturas condicionais e de repetição. É apresentada a sintaxe básica e exemplos de declaração de variáveis, uso de operadores, comandos if/else e laços for e while.
O documento discute operadores e estruturas de controle de fluxo na linguagem Java. Ele explica os diferentes tipos de operadores como aritméticos, lógicos e de atribuição, além de estruturas como if/else, for loops e switch cases. O documento também fornece detalhes sobre precedência de operadores e conversão de tipos.
Este documento discute operadores e estruturas de controle de fluxo na linguagem Java. Ele explora os tipos de operadores matemáticos, lógicos e de atribuição, bem como estruturas como if/else, for loops e while loops. O documento também discute conversão e promoção de tipos, além de operadores como instanceof.
Este documento discute operadores e estruturas de controle de fluxo na linguagem Java. Ele explora os tipos de operadores matemáticos, lógicos e de atribuição, bem como estruturas como if/else, for loops e while loops. O documento também discute conversão e promoção de tipos, além de operadores como instanceof.
O documento apresenta uma introdução sobre a linguagem de programação Java. Apresenta conceitos básicos como APIs, reutilização de software e tipos de dados primitivos em Java, incluindo inteiros, pontos flutuantes, booleanos e strings. Também descreve operadores aritméticos, relacionais, lógicos e atribuição, além de variáveis, conversão de tipos e os primeiros programas em Java.
O documento fornece uma introdução à linguagem de programação Java, descrevendo seus principais conceitos como identificadores, tipos de dados, operadores, declaração de variáveis, conversão de tipos, entrada de dados e exercícios de exemplo.
O documento apresenta os principais conceitos da linguagem de programação C, incluindo tipos de dados primitivos, variáveis, operadores, entrada e saída. É uma apostila introdutória ao C que explica como declarar variáveis, os tipos de dados suportados e suas propriedades, e como usar operadores aritméticos, relacionais e lógicos.
O documento apresenta os principais conceitos da linguagem de programação C, incluindo tipos de dados primitivos, variáveis, operadores, entrada e saída. Ele discute declarações de variáveis, inicialização, escopo, operadores aritméticos e relacionais, modeladores e as funções printf e scanf para entrada e saída.
O documento discute os tipos de dados inteiros em Java, incluindo suas faixas de valores e operações aritméticas comuns como adição, subtração e incremento. Ele também explica como overflow pode ocorrer e como diferentes tipos de operadores funcionam com variáveis inteiras.
Este documento apresenta um resumo sobre programação funcional em Haskell. Ele discute o editor WinHugs, tipos de dados, definições de funções, escopo e tratamento de exceções.
O documento apresenta um resumo sobre tópicos fundamentais da linguagem de programação C/C++, incluindo diretivas, variáveis, constantes, entrada e saída, estruturas de controle, vetores, matrizes, ponteiros, arquivos e conceitos orientados a objetos como classe e herança.
Este manual fornece informações sobre a linguagem C/C++. Ele contém três capítulos principais: Introdução, Elementos do Programa e Tipos de Dados e Declarações. O manual é de domínio público e pode ser copiado e distribuído livremente, incentivando contribuições para seu aprimoramento.
O documento explica que a memória de um computador é composta de bytes, cada um com um endereço único. Objetos na memória como variáveis e strings ocupam bytes consecutivos, e cada objeto tem seu próprio endereço. Alocação dinâmica de memória permite reservar espaços de tamanho variável usando funções como malloc() e free().
Este documento apresenta os elementos básicos de uma linguagem algorítmica, especificamente a linguagem C. Ele discute a estrutura de um programa em C, identificadores, tipos de dados, declaração de variáveis, bibliotecas, constantes e operações com expressões.
1. Tipos Primitivos
Java possui oito tipos primitivos, sendo que todos os tipos primitivos iniciam com palavras
em minusculo. Os tipos primitivos são:
* byte, 8 bits com sinal
* short, 16 bits com sinal
* int, 32 bits com sinal
* long, 64 bits com sinal
* char, é representado por caracter Unicode de 16 bits (sem sinal)
* float, 32 bits com sinal
* double, 64 bits com sinal
* boolean, só aceita os valores: true e false
Tipos primitivos em JAVA
Tipos primitivos
em JAVA Tipo
Tamanho (bytes) Faixa
char 2 Caracteres UNICODE
boolean 1 true ou false
byte 1 Inteiro: -128 a 128
short 2 Inteiro: -32768 a 32767
int 4 Inteiro: -2147483648 a
2147483647
long 8 Inteiro: -9223372036854775808
a 9223372036854775807
float 4 Ponto flutuante: +/-3.4E-38 a +/-
3.4E+38
double 8 Ponto flutuante: +/-1.7E-308 a
+/-1.7E+308
Primitiva Classe
boolean Boolean
byte Byte
char Character
int Integer
long Long
float Float
double Double
Converte boolean byte short char int long float double
boolean - N N N N N N N
byte N - S S S S S S
short N C - S S S S S
char N C C - S S S S
int N C C C - S S* S
long N C C C C - S* S*
float N C C C C C - S
double N C C C C C C -
2. onde: N - não pode realizar a conversão; S - conversão de ampliação (não é necessário o uso
de cast); S* - apesar de ser conversão de ampliação pode ocorrer perda de informação; C -
conversão de estreitamento, o uso de cast é obrigatório.
Palavras chave e valores literais
Java possui 49 palavras chave, todas elas são escritas em minúsculas:
byte - short - int - long - char - boolean - double - float - public - private - protected - static -
abstract - final - strictfp - transient - synchronized - native - void - class - interface - implements -
extends - if - else - do - default - switch - case - break - continue - assert - const - goto - throws -
throw - new - catch - try - finally - return - this - package - import - instaceof - while - for - volatile
– super
Possui três identificadores que são valores literais: null, false, true
Cada uma dessas palavras serão vistas mais adiante no tutorial.
Literais
O valor literal é um valor escrito no código fonte e identificado como de um tipo primitivo.
int x = 1; // literal inteiro
char u = 'a'; // literal char
boolean b = true; // literal boolean
double d = 002.11d; // literal double
Há três maneiras de representar literais numéricos inteiros em Java:
– octal (base 8). Representado com um 0 na frente de cada valor numérico. Exemplo:
int x = 01;
int x = 0931;
int x = 021;
– hexadecimal (base 16). Representado com um 0x na frente de cada valor numérico.
Exemplo:
int quinze = 0xF; // 15 (decimal)
int vinte_e_nove = 0x1D; // 29 (decimal)
int vinte_e_nove = 0x1D; // 29 (decimal)
int valor = 0xBAFAFA; // 12253946 (decimal)
int valor = 0XBaFaFa; / / 12253946 (decimal)
Caracteres também possuem representação especial. Todo o caractere se encontra entre
aspas simples, porém pode-se atribuir um valor inteiro ao caractere sem precisar de uma conversão
explícita. Alguns exemplos são:
char a = 'A'; // letra A
char b = '&'; // caractere &
char c = 'u004D'; // letra M (Unicode)
char d = 'n'; // Pula de linha
char e = 't'; // Tab
char f = 'r'; // Retorno de carro
char g = 'b'; // Backspace
char h = 'f'; // FormFeed
char i = ''; // Barra
char j = '''; // Apostrofo
char k = '"'; // Aspas duplas
char l = 65; // char recebe o valor de um int
char m = (char) -1; // fora do intervalo, conversão explícita
3. char n = (char) 100000; // fora do intervalo, conversão explícita
Conversão implícita, quando o tamanho de uma variável é maior que o tamanho da variável
ou o valor que está sendo atribuído. Exemplo:
int y = 10;
long x = y;
O tamanho de int é menor que o de long, portanto é perfeitamente aceitável.
Conversão explícita, quando o tamanho de uma variável é menor que o tamanho da variável
ou o valor que está sendo atribuído. Exemplo:
long y = 10L;
int x = (int) y;
O tamanho de long é maior que o de int, portanto necessita indicar uma conversão. Esta
indicativa é feita pelo tipo da variável, que irá receber o valor, entre parênteses: (int). Se esta
informação não for colocada, ocorreria um erro de compilação indicando tipos incompatíveis. Outra
forma é usar as constantes de identificação de tipos para fazer uma conversão explícita, como em:
long y = 10L;
Operadores aritméticos
Operadores aritméticos são aqueles que efetuam operações aritméticas em um ou mais tipos
primitivos. A seguir são apresentados os operadores aritméticos unários, que atuam sobre um único
identificador.
Op Nome Uso Descrição
++ Incremento var++ / ++var Retorna e adiciona / adiciona e retorna.
-- Decremento var-- / --var Retorna e subtrai / subtrai e retorna.
- Negativo -var Inverte o sinal da variável
+ Positivo +var Não tem efeito.
Operadores bitwise
Os operadores bitwise são aqueles que alteram o valor das variáveis em operações lógicas
diretamente no processador, tornando-as muito mais performáticas. Estas operações são geralmente
chamadas de ? tratamento por bits ? pois são operações que comparam e modificam a variável bit
por bit.
Op Nome Uso Descrição
~ Inversão ~x Inversão dos bits de x.
& E lógico x & y AND bit a bit entre x e y.
| OU lógico x | y OR bit a bit entre x e y.
^ OU excl. lógico x ^ y XOR bit a bit entre x e y.
<< Desloc. a esq. x << y Desloc. a dir os bits de x, y vezes.
>> Desloc. a dir. x >> y Desloca a direita os bits de x, y vezes.
>>> Desloc. a dir. x >>> y Preenche zero a esquerda de x, y vezes.
O operador de atribuição composto
Já foi apresentado o operador de atribuição " = ". Porém este operador pode funcionar em
conjunto com outros operadores reduzindo o tempo de processamento de determinadas chamadas.
O operador de atribuição composto junta um operador aritmético ou de bitwise com o operador de
atribuição. É sempre utilizado na sintaxe var = var como no exemplo abaixo:
public class OperadorAtribuicaoComposto {
public static void main (String [] args) {
4. int x = 1;
x + = 5;
}
}
Neste exemplo a variável inteira x é inicializada com 1 e na linha seguinte é realizado
uma operação composta: A soma e atribuição. Esta instrução é semelhante a esta: x = x + 5;.
O resultado em x será 6. Outros exemplos são:
public class OperadorAtribuicaoComposto {
public static void main (String [] args) {
int x = 1; // Atribui 1 a x
x += 5; // Equivalente a x = x + 5; x é igual a 6
x *= 2; // Equivalente a x = x * 2; x é igual a 12
x /= 2; // Equivalente a x = x / 2; X é igual a 6
x -= 3; // Equivalente a x = x - 3; x é igual a 3
x %= 5; // Equivalente a x = x % 5; x é igual a 3
x |= 4; // Equivalente a x = x | 4; x é igual a 7
x ^= 1; / / Equivalente a x = x ^ 1; x é igual a 6
x &= 255; / / Equivalente a x = x & 255; x é igual a 6
x <<= 2; / / Equivalente a x = x << 2; x é igual a 24
x >>= 4; // Equivalente a x = x > > 3; x é igual a 1
x >>>= 7; / / Equivalente a x = x > > > 7; x é igual a 0
}
}
Validar unboxing para tipos primitivos
Java, a partir da versão 5, permite que tipos primitivos sejam usados em conjunto com
objetos que os encapsulem sem necessidade de uma conversão explícita. Este processo, que
transforma automaticamente um int em Integer, é chamado de Autoboxing e seu reverso (que
transforma um Integer em int) de unboxing. Entretanto os objetos que encapsulam tipos primitivos
(conhecidos por wrappers) permitem o valor null enquanto os tipos primitivos não aceitam. Um
serviço que receba objetos wrapper deve validar se o objeto não é nulo antes de proceder a
operações que envolvam o unboxing. O trecho de código abaixo:
public void f(Integer wrapper) {
int primitive = 0;
if(wrapper == primitive) {
// ... excuta operação ...
}
}
Pode comprometer a execução da aplicação caso o chamador do serviço envie valores nulos.
Para evitar que o serviço provido seja interrompido por uma exceção, o trecho deve ser reescrito de
forma a testar se o parâmetro é nulo:
public void f(Integer wrapper) {
int primitive = 0;
if(wrapper != null && wrapper == primitive) {
// ... excuta operação ...
}
5. }
Dessa forma evitando o erro ao executar o unboxing.