Tipos de dados
Os componentes básicos do 1.Java programa
- Palavras-chave: foi dado significado específico da palavra linguagem Java, não como identificadores, como privado.
- Identificador: uma seqüência de números, letras e $ _ composto por uma variável de referência. E a primeira letra não pode ser um número.
- Variáveis: durante a execução do programa, dentro de uma gama de valores da quantidade de mudança.
- Constante: O valor não é alterado durante a execução, em literais e constantes personalizadas, como 3,14.
- Expressões: Java é utilizado na expressão infix. A dupla a + (BC) / 2.
2. Os tipos de dados básicos:
tipo |
Ocupam espaço de armazenamento |
alcance |
byte |
1 byte |
-128 ~ 127 |
curto |
2 bytes |
-2 ^ 15 ~ 2 ^ 15-1 |
int |
4 bytes |
-2 ^ 31 ~ 2 ^ 31-1 |
grandes |
8 bytes |
-2 ^ 63 ~ 2 ^ 63-1 |
flutuador |
4 bytes |
-3.403E ~ 3.403E38 |
Duplo |
8 bytes |
-1.798E308 ~ 1.798E308 |
Tipo de conversão:
- Padrão de conversão: byte, curto, carac-> INT> longo> float-> dobrar onde byte, curto, char não podem ser convertidos entre si, que estão envolvidos no cálculo do tipo int primeiro convertido. expressão de atribuição com a operação variável se a força calculada, insuficiência compilação ocorre. como
- Fundido: nome da variável = tipo de destino (tipo alvo) (dados convertidos); convertido em binário considerado. Por exemplo, para imprimir um byte = 130, pode ser utilizada para alcançar fundido.
3. Operador
mesa de precedência do operador
(1) Os operadores aritméticos (+, -, *, /,%, +, -)
A: + Uso de
um: adição
b: acrescido
c: conector de cadeia (p + está sobrecarregado)
B: /% e a diferença entre
um: divisão / entre inteiros, o resultado é um número inteiro.
Arredondamento para 0
Se um desejo decimal, a * 1.0.
b:%
determina se um número impar é
uma% b = a - (a / b) * b
operação de módulo é uma operação muito demorada, é melhor não utilizar um desempenho mais crítico quando
D: ++ e - uso de
um: seu papel é para aumentar ou diminuir
b: use
** sozinho
na frente e atrás os dados da operação o mesmo efeito.
uma ++ ou ++ um mesmo efeito.
** operação envolveu em usar
a frente em operandos: primeiro incremento ou decremento, em seguida, participar na operação
Mais tarde em operandos: o primeiro envolvidos na operação e, em seguida aumentar ou diminuir
c: princípio subjacente:
A = A ++;
int temp = A;
A ++;
A = TEMP;
(2) operador de atribuição (=, + =, - =, * =, / =,% =, etc)
R: = operador de atribuição é chamado, é o mais básico operador de atribuição
int x = 10; 10 atribuído para a variável tipo int x.
a = b = 10;
operador de atribuição é ligado direita para a esquerda.
expressão de atribuição tem valor, valor = valor igual a expressão correta.
B: características operador de atribuição estendidas
implícita auto-cast.
As perguntas da entrevista:
Curto S = 1;
// S = S + 1;
Curto S = 1;
S + = 1;
Será que o código acima que há um problema?
(3) um operador de comparação (== ,! =,>,> =, <, <=, InstanceOf)
A: Não importa quão simples ou complexo operador termina o resultado final é um tipo booleano.
B: Não coloque == = escritos
(4) Os operadores lógicos (e, | !, ^ ,, &&, ||)
A: Os operadores lógicos para conectar a expressão booleana
B: Conclusão
&: há false false
|: Não é verdade verdadeira
^: o mesmo é falso, então um verdadeiro diferente.
o relacionamento do casal.
!: Non-verdadeiro é falso, falso se não verdadeira
&&: & conclusões e é o mesmo, mas há um efeito de curto-circuito. A esquerda é falso, o direito não é executado.
||: Conclusão e | é o mesmo, mas há um efeito de curto-circuito. A esquerda é verdade, o direito de não executar.
Recomendado &&, ||
(5) Operadores bit a bit (&, |, ^, ~, <<, >>, >>>)
A: Conclusão:
&: 1 são, é um 1, caso contrário, 0
|: 0 simultaneamente, é 0, caso contrário 1
^: o mesmo é 0, a é um diferente;
A ^ B = B ^ A;
A ^ a = 0;
a ^ a = 0;
~: 1 ~ 0, 1 ~ 0;
<<: alta devoluções removíveis, 0s baixas;
deixadas n unidades, correspondendo a n ^ multiplicado por 2;
> >: baixo descarte removido, se o bit de sinal é de 0, o bit de 0, se o bit de sinal é um, o bit de 1;
direito por n unidades, o equivalente a dividir o n ^ 2;
>>>: remoção descartando a baixa, alta preenchimento 0;
Nota: como uma unidade móvel excede o comprimento de palavra de m, o movimento real de
um mod m (módulo computação matemática)
B: entrevista perguntas
um: determinar se um número impar é == 1. 1 & A;.
B: para tomar mais do que 2 ^ n. & A (n-2 ^ - 1.);
C: (. 1-A) Como para determinar se um número é n-A & ^ 2 == 0
D: troca entre dois números inteiros;
E: Há um grupo de números, são emparelhados aparece, apenas uma única pessoa, identificar o número de
f: avaliação 8 2 * 2 << 3 com a forma mais eficiente;
(6) operador ternário
Formato A:
Expressão comparativa Expressão 1: Expressão 2 ;?
B: processo de execução:
Primeiro, o cálculo e a comparação dos valores de expressão, para ver é verdadeira ou falsa.
Se for verdade, a expressão 1 é o resultado.
Se for falsa, a expressão 2 é o resultado.
C: Case:
A: Comparação de duas igualdade de dados
b: adquirir o máximo de dois dados
c: aquisição de três dados de valor máximo
int = max (a> b a ?:? B)> C (a> ? B A: B): C;
max int = A> B (A> C A: ?? C): (B> C B: C) ;?
afirmação
1. instrução Declare
Criar algum tipo de variável e dar-lhe um nome com um identificador, Java é uma linguagem fortemente digitado, o compilador verifica o tipo de consistência. Assim, a primeira vez que você usar uma variável deve ser declarada. Como int a, b;
2. atribuição
A c = 5, 5 que é atribuído a uma variável do tipo int constante C, o lado esquerdo do comando de atribuição deve ser uma única variável, o lado direito da expressão pode ser qualquer tipo apropriado de valor pode ser obtido.
3. As indicações condicionais
Um bloco de código de acordo com a condição sucursal estabelecida, e se existem dois tipos de estrutura da frase swich
A instrução if
if (<boolean expression>)
{
<Bloco statements1>
}outro
{
<Bloco Afirmações2>
}
switch
switch (<boolean expression>)
{
caso value1:
<Bloco statements1>
break; // switch pode acabar
caso value2:
<Bloco Afirmações2>
pausa;
...
default: // Quando todos os casos que não correspondem, sobre a implementação dos conteúdos das instalações
<bloco declarações>
pausa;
}
- Se o resultado da relação entre a expressão deve ser um tipo booleano
- O valor da relação interruptor expressão pode ser: byte, curto, int, char
- Após JDK5 podem ser enumerados, JDK7 pode mais tarde ser Cadeia
- Por trás do caso só pode ser uma constante, não uma variável. padrão, pausa pode ser omitido, mas não é recomendado
- quebrar e continuar declarações
- quebrar: uma saída imediata do circuito
- continuar: começar imediatamente o próximo ciclo rodada
4. Loops
while:
while (<boolean expression>)
{
<bloco declarações>
}
Ansa no segmento de código chamado circuito.
para a declaração:
De um modo mais compacto para expressar o while loop
for (<initialize>; <boolean expression>; <incremento>)
{
<bloco declarações>
}
5. instruções de controle de Atalhos
quebrar interrupção
- cenários de uso: instrução switch para selecionar a estrutura, laço, outras cenas sem sentido, vai reclamar
- Acção: único ciclo de fora (uma multicamada se, apenas por camada), fora do circuito de camadas múltiplas, com a afirmação de marcação é necessário
continue continue
- cenários de uso: laço
- Papel: Saia desta iteração, começar a próxima iteração (tempo de ciclo)
Voltar
- Uma maneira de acabar com o evento de retorno, o método não irá continuar para a próxima execução
ordem
1. Conceito:
- Uma disposição de uma pluralidade do mesmo tipo de dados é um conjunto de elementos de armazenamento
2. estática Inicialização:
- valor dado, o sistema de matriz em Java deve ser inicializado antes de usar, que normalmente leva três etapas (nome e tipo de declaração da matriz, criar uma matriz, inicializar os elementos da matriz)
3. inicialização dinâmica:
- O valor padrão é dada apenas ao comprimento do sistema. A dupla [] = new um duplo [N]; // declarar a matriz é igual ao lado esquerdo, o direito de criar uma matriz. Neste momento, um valor inicial padrão de 0,0.
A inicialização de matriz-tempo de compilação. O int [] a = {1, 1, 2, 5, 8};
4. A matriz bidimensional:
- matriz bidimensional é uma matriz de uma matriz tridimensional, tal como o dobro [] [] = new um duplo [H] [N];
método
Significado:
É a conclusão de um bloco de função particular, em Java, funções semelhantes em outros idiomas, são chamados métodos.formato:
nome do modificador tipo de retorno do método (parâmetro nome do parâmetro tipo 1, tipo de parâmetro nome do parâmetro 2 ...) {
corpo do método;
retorno valor de retorno;
}
Modificadores : Atualmente no uso de estática público. E, em seguida, outros modificadores depois explicar em detalhe
o tipo do valor de retorno : o resultado é uma função do tipo de dados
o nome do método : que tem um nome, chamamos esse método conveniente.
Parâmetro Tipo : tipo de dados parâmetro é um
nome de parâmetro : nome da variável é
a classificação paramétrico :
argumentos: transferência de parâmetro chamada de método
de parâmetros: modo de definir, parâmetro definido.
Método declaração corpo : bloco de código função é completo
retorno : o fim do método, ea parte traseira resultado calculado para o chamador.
valor de retorno : a função é o resultado de um retorno para trazer o chamador.
3. Natureza:
parâmetros do método são passados por valor:
- parâmetros do método e variáveis locais das mesmas variáveis de processo, a única diferença é o valor inicial do parâmetro variável é fornecido pelo chamador. O método de tratamento é o valor do parâmetro, em vez do próprio parâmetro. Os resultados gerados desta forma é para alterar o valor de uma variável de parâmetro em um método estático não tem efeito sobre o chamador.
nome do método podem ser sobrecarregados:
- O chamado heavy-duty, refere-se à mesma classe, existe um método para permitir que mais de um do mesmo nome, contanto que o número de seus parâmetros, tipos de parâmetro de ordem diferentes parâmetros.
- Sobrecarga de método não tem nada a ver com o tipo de valor de retorno, basta olhar para o nome do método e lista de parâmetros (máquina virtual para distinguir entre os diferentes métodos de mesmo nome pela lista de argumentos ao chamar)
O método pode retornar apenas um valor, mas pode conter várias instruções de retorno:
- Método A Java pode retornar apenas um valor, seu tipo é o tipo declarado na assinatura do método, como a dupla, int, e assim por diante. Qualquer método estático sempre retornará um valor, um parâmetro da primeira execução ou seja instrução de retorno.
O método pode produzir efeitos colaterais:
- O valor de retorno pode ser um vazio, o que indica que o método não retorna valor. Após o conjunto de métodos de controle após uma declaração está terminado ele será devolvido para o chamador. Chamamos vazio tipo de métodos estáticos causar efeitos colaterais (aceita a entrada e gera uma saída, modificar a matriz ou alterar o estado do sistema).