Iniciantes aprender problema básico do conhecimento Java _ acabamento

  1. java principais pontos fortes:
    uma plataforma cruzada, pois um sistema JVM diferente permite jvm javaapp enfrentado por diferentes sistemas operacionais
  2. versões do Java significados:
    JavaSE: JAVA Standard Edition: Standard Edition: posicionamento de um computador pessoal, plataforma Java núcleo fornece uma rica API inclui AWT e Swing, além Applet é FLASH, HTML5 substituir; vai aprender
    JavaEE: JAVA Enterprise Edition: Empresa versão, servidor de localização, extensão SE, bibliotecas aumento de classe para desenvolvimento do servidor. Como o JDBC, o servlet, o Pedido-a resposta, o JSP
    JAVEME: JAVE no micro: Micro Edition, posicionando electrónica de consumo, J2SE contendo parte das classes principais, que se prolongam na SE. Android é substituído
  3. Características e Benefícios do java:
    ① cross-platform / Portabilidade: Se int é sempre 32
    ② Segurança: Construindo um ambiente anti-vírus de rede / distribuída, o sistema à prova de violação
    ③ orientada a objeto: mais de C ++ (compatíveis C) mais profundamente , totalmente opor-orientado.
    ④ Simplicidade: C + ±, removendo cabeçalho, aritmética ponteiro, estrutura, união, a sobrecarga de operador, classe base virtual, com base em C é fácil de aprender
    ⑤ alto desempenho: baixo desempenho inicial, jvm pós-optimização adicionado ao JIT (técnicas de compilação tempo), pelo compilador localizada código "pontos quentes" e em cache, melhorando a eficiência de codificação.
    ⑥ distribuída: projetado para Internet ambientes distribuídos, para lidar com o protocolo TCP / IP, pode ser acessado através de um URL semelhante a recursos de rede e acesso a arquivos locais, o apoio a invocação de método remoto (RMI, Remote Method Invocation), para que o programa pode chamar através do método de rede.
    ⑦ Multithreading: trazer melhor comportamento interativo e em tempo real. Também tornar-se uma das principais razões para a linguagem de desenvolvimento do lado do serviço.
    ⑧ robustez: a remoção dos ponteiros, alocação de memória e solte. Ele vem com GC; excelente mecanismo de exceção a falhas no computador evitar e falhas.
  4. java operando mecanismo:
    .java arquivo de origem, pelo compilador jdk em arquivos .class, bytecode verificador, intérprete e JIT ser interpretados, aplicativo está sendo executado através do carregador JRE classe de sistema
  5. JVM, JRE, JDK diferença
    JVM: máquina virtual java: o bytecode máquina virtual máquina de execução bytecode virtual definido: o conjunto de instruções, conjunto de registos, uma estrutura de pilha, área de memória heap a coleta de lixo. Responsável pela runs intérprete do código java byte, corrida lado interpreta.
    JRE: Java Runtime Environment: com JVM, bibliotecas, java executar o arquivo programa must (javaapp apenas executar apenas jre precisa)
    o JDK: java Development Kit: contém JRE, bem como o aumento compiladores e depuradores e outros documentos para o desenvolvimento do programa ( desenvolvimento necessário);
    o JDK (javac, JAR, a depuração, ferramentas, javap) "o JRE (Java, javaw, as bibliotecas, RT, JAR)" a JVM (JIT)
  6. identificadores conceito e normas, especificações:
    Conceito: para nomear: variável, classe, nome método
    regras: letras, números, sublinhado _, aberto cabeça pelo palavra mãe , número palavra , baixar desenhar linha , No início de letras, números, sublinhados, números
    maiúsculas e minúsculas, sem limite de comprimento
    pode não ser tão palavras-chave;
    Especificações: Nome da classe: capitalizar a primeira letra de cada palavra
    nomes de métodos, variáveis: a primeira letra da primeira palavra minúsculas, ea palavra "princípio corcunda" restantes capitalizados
  7. variáveis essência:
    é espaço contíguo operável, a posição espacial é determinado, o conteúdo de variável, o nome da variável pode ser acedida por um "espaço de armazenamento", e opera.
    Composta por: nome da variável, tipo de variável, o escopo; comprimento após a primeira declaração é atribuído um respectivo espaço de memória, [Inicializar] utilizado;
  8. tipos de variáveis:
    tipos básicos, tipos de referência
  9. Variável Categorias:
    Variáveis locais variável local: declaradas dentro de um bloco de método dependente declarações processo de desativação ou período de bloco de declaração seguindo o método de bloco de instrução ao vivo deve ser inicializado usando;
    membro variáveis membro variável (variáveis de instância): declarar externo ao método interno classe, série o objecto, o objecto seguinte do ciclo, pode padrão de inicialização,
    variáveis estáticas variável estática (variáveis de classe): declaração sobre classes internas, modificação estática, a classe escravo, carregamento periódica classe seguimento, descarga, desaparecem, pode ser alterado, todos partilham um objecto de classe.
  10. definições constantes, a classificação:
    Definição: um valor fixo (constante simbólica) com uma modificação final, não pode ser alterado uma vez inicializado, (acesso à variável estática não pode ser alterado, e, portanto, tornou-se final com uma vantagem estática e exigem constante de inicialização manual)
    Categoria: literal: 1,2, verdadeira, 'b', "Olá"
    constante simbólica: A modificação final é definido. definitiva PI dupla = 3,14;
  11. Variáveis e constantes convenção de nomenclatura:
    todas as variáveis, métodos, nomes de classes: ver o nome conhecido italianos
    variáveis membros de classes: a primeira letra minúscula, princípio corcunda de
    variáveis locais: a primeira letra minúscula corcunda princípio
    constante: letras maiúsculas e sublinhado combinação: MAX_VALUE
    nome da classe: a primeira letra princípios de capital e corcunda: Goodman
    nome do método: a primeira letra minúscula e princípios carta hump
  12. A classificação de dados tipo, detalhada
    tipos de dados de base (tipo de dados primitivos):
    : numérico
    tipos inteiros: 1byte byte, curto 2byte, int 4byte, longo 8byte
    ponto flutuante tipo: 4byte flutuador, duplo 8byte
    personagem: char 2byte
    booleana: booleana 1bit
    tipos de dados de referência (tipo de dados de referência) :( endereço de destino é registada)
    classe: classe 4byte
    interfaces: 4byte interface de
    matriz: matriz [] 4byte
  13. gama variável número inteiro de cada tipo, formas:
    byte 1byte -128-127 (binário oito, mais ou menos metade sub)
    2byte Curto -32.768-32.767
    4byte int -21 -21 cem milhões de cem milhões de
    8byte longo -2 63-2 63- 1
  14. Quatro tipos decimal inteiro expressões constantes:
    Decimal: 99,
    octal: começando 0
    0 X ou início 0x: hex
    binário: 0b ou 0B início
  15. Java inteiro padrão (literalmente) Tipo constante:
    int, long tipo literal if podem ser adicionados após a L ou l (int sem exceder o intervalo pode resultar, nenhum erro está na faixa de transição automática)
  16. E a gama de variáveis de ponto flutuante para cada tipo de
    flutuador 4byte -3.4E38-3.4E38
    Duplo 8byte -3.4E308-3.4E308
    flutuador sete mantissa precisamente, é um único comum de casal, duplo flutuante de precisão, e
  17. O tipo padrão de ponto flutuante literal:
    Duplo
  18. Cada forma do binário flutuante-literal:
    decimal: 3,14
    notação científica: 314e2,314E-2
    após o valor literal para aumentar o flutuador F ou F, o padrão não é um duplo, ou D pode ser adicionado após o duplo d
  19. Não há números exatos calculados usando classes de erro:
    classe java.math.BigDecimal para operações de ponto flutuante, comumente utilizados no campo das finanças.
    java.math.BigInteger tipo comumente usado na aritmética inteira.
  20. De ponto flutuante formas de comparação:
    por BigDecimal;
  21. BigDecimal métodos comuns:
    BigDecimal.valueOf (duplas): utilizados para obter um valor preciso do ponto flutuante
    de subtracção (BigDecimal): para subtracção.
    multiplicar (BigDecimal): multiplicar
    suplemento (BigDecimal): Adicionador
    divisão (BigDecimal): divisão
    abs (BigDecimal): valor absoluto
    compareTo (BigDecimal): comparação, outro é 0, 1 grandemente, uma pequena -1
    Aqui Insert Picture Descrição
  22. 'A' == resultados de "A", por quê?
    Os resultados não são comparáveis, o erro do compilador, um é uma cadeia de caracteres.
  23. conjunto de caracteres carvão animal usado, do tamanho do espaço, a gama de
    tabela de códigos de caracteres Unicode, 2 bytes, caracteres permitido 0-65536; que codifica a partir de '\ U000' a '\ uFFFF'
    U representa Unicode, após a adição de 16 quatro ary. Note-se que 'One' é errado, ele é um caractere inválido
  24. carbonizar manifestação literal do
    carvão animal pode hexadecimal caracteres pode ser directamente utilizada para representar.
  25. O caractere comumente caractere de escape \ com
    \ b backspace \ u0008
    \ n-wrap \ u000A
    \ P & lt retorno de carro \ u000D
    \ T guia Tab \ u0009
    \ "aspas duplas \ u0022
    \ 'aspas simples \ u0027
    \ barra invertida \ u005c
  26. A natureza da cadeia:
    sequência de caracteres: sequência de char
  27. valor constante boolean true / false ocupam espaço na memória?
    1
  28. classificação operador: 8 tipos de
    operações aritméticas (mono-, di-)
    operador de atribuição
    operadores de extensão
    operadores relacionais (excepto o tamanho, etc., bem como o mesmo para o Exemplo Comparativo instanceof)
    Lógico Operadores
    bit a bit
    operador condicional
    carácter o operador de concatenação
  29. Role%:
    modulo, tomar o restante
  30. regra operação operador binário:
    inteiro aritmética:
    dois inteiro operando literal, a presença de um resultado longo, Long também é
    nenhum longa, são int, se o operando é um byte ou curto
    operações de ponto flutuante:
    Não duplo o resultado é dobrar
    tanto para flutuar o resultado é um float.
    Modulo aritmética:
    número de operações em vírgula flutuante podem, em geral um número inteiro, o resultado é um "remanescente", os mesmos números de referência e operando à esquerda.
  31. Unário regra operação: "+ / -" operador de incremento
    I ++: primeiro com incremento
    ++ I: Após o incremento com
    o operador ver um primeiro incremento, o primeiro incremento para a frente.
  32. Operando Tipo operadores relacionais, o tipo de resultado
    = não operadores relacionais;
    ! ==, todos = (básicos e de referência) tipos de dados podem ser usadas, quando um de referência (por exemplo, String) rácio é uma referência para o endereço.
    '>,> =, <, <=' Apenas para o tipo numérico (byte / short / int / long , float / double, char)
  33. Operando tipo de operador lógico, o tipo do resultado da operação, e & &&, | e || a diferença, o exclusivo OR ^ é determinado por:
    operandos e resultados tipos: valor booleano.
    && é curto-circuito e, uma vez que deixou a primeira condição é falsa diretamente retorna false, e Análise de todos os operadores são obrigados, além & operando é uma operação non-bit quando o boolean.
    Retorna verdadeiro || está diretamente em curto-circuito e, uma vez que deixou a primeira condição for verdadeira, | ele julga se todos os operandos necessários, além | operandos booleanos é uma operação non-bit quando o não-
    prevenção de curto-circuito comumente ponteiro nulo.
    ^: Fase dois operandos é falso, diferente de verdade, além disso | quando o operando é uma operação XOR boolean é pouco
  34. '<< 2 3' 'valor de valor, um valor de 3 ~: '12 >> 3
    3 0b10100b0101: Resultados de 4
    ' 3 2 2', 2 3 binário desvio à esquerda de dois, o resultado é 12
    '12 / 2/2/2', 3 binário 12 posição 3 tem o movimento para a direita. o resultado é uma forma semelhante, '12 >> 4' é 0 resultado
  35. Cordas operador de concatenação "+" Regra:
    enquanto um tipo String quando os dois operandos, o sistema irá automaticamente o outro operando é convertido para uma string e costura.
  36. Precedência de Operadores:
    Geral NÃO lógico "lógica" OU
    A || B && C cálculo real é: A || (B && C)
  37. conversão automática de tipos de dados:
    Aqui Insert Picture Descrição
    Aqui Insert Picture Descrição
    preste atenção para o intervalo do número de literais, se o padrão for intervalo não mais de 2,1 bilhões int
  38. O conceito de um elenco:
    também conhecido como modelagem (descendente): usado para exibir a conversão de um tipo de valor, você pode ter falta de informação pode resultar em precisão reduzida ou estouro.
    (Tipo) var
    quando a série de ocorrer o tipo de alvo, irá ser truncado para valores diferentes (tipicamente na gama do ciclo)
    não pode ser feita entre o fundido e o booleano qualquer tipo numérico.
  39. Java classes e métodos de entrada de teclado comum:
Scanner   scanner =  new Scanner(System.in);
String   name =  scanner.nextLine();
int   age = scanner.nextInt();
  1. fluxo livre instruções de controle:
    estrutura sequencial, estrutura de selecção, uma estrutura cíclica
  2. A natureza do programa:
    variável, selecione declaração, declaração de loop
  3. A configuração básica do algoritmo:
    estrutura selecção variável, estrutura sequencial, uma estrutura de suporte comum da estrutura de base cíclica do algoritmo
  4. estrutura de seleção de classificação:
    o Se a estrutura de seleção: se uma única estrutura de seleção, if-else estrutura de seleção dupla, if-else if-else múltipla estrutura de seleção
    estrutura de seleção Switch.
  5. A obtenção de um número aleatório entre 0-1,
    Java.lang.Math.ramdom (); pode gerar um [número aleatório entre 0 e 1).
  6. Se o único ramo se não efetuar gravação subsequente {} código de execução:
    executa uma primeira declaração mais tarde.
  7. If-else, por vezes, ser substituído por aquele caminho:
    1> 2 "false": "true"; condicional operador ?.
  8. If-else estrutura if-else da ordem de execução mais opções, e preparar recomendações:
    a ordem de execução: de cima para baixo, Yuzhen na execução e retorno
    para preparar recomendações: condição não em galho subseqüente e condições de primeira ordem intersecção. Camada progressiva, necessidade de resolver a ordem.
  9. mudança de estrutura escolha gramática múltipla, a aplicação do princípio:
switch (表达式) {
case 值1: 
语句序列1;
[break];
case 值2:
 语句序列2;
[break];
     … … …      … …
[default:
 默认语句;]
}

Dependendo do valor da expressão, que coincide com o caso no início da implementação da etiqueta, tem vindo a implementar para quebrar a declaração ou o fim da instrução. Se o jogo ainda não tem, o processo avança para default (padrão quando presente)
tipos disponíveis no interruptor expressão 50.:
jdk1.5 antes: deve ser um inteiro, exceto longa, ou enumeração, não uma string
após jdk1.7: Maio Cadeia
expressão corrente pode ser: byte, curto, int, carvão animal , enumeração; Stirng (1,7 ou mais)
51. Se o interruptor de multi-ramificado e multi-ramificado é usado para distinguir:
qualquer interruptor pode ser mais ramificada multi-ramificada substituído por se;
mesa julgamento intervalo, quando apenas o suficiente se muitos ramos;
ramos interruptor recomendado limpar quando o valor é clara para fazer o equivalente a julgamento.
52. A estrutura do ciclo de classificação:
Quando Tipo: expressão booleana quando a condição é verdadeira, executa repetidamente um bloco de instruções quando a expressão é falsa apenas para parar o ciclo. Enquanto / para
se digitar: primeira execução de uma sentença, e então determinar a expressão booleana. Se for verdade, executar novamente. Repetidamente, até que a parada expressão booleana é falsa. O tempo-fazer
53. Nota a utilização dos enquanto que os pontos de loop:
início do ciclo isto é, a expressão booleana é determinada. Primeira implementação do primeiro acórdão
declaração deve ser o fim da tendência ciclo de declaração, ou um loop infinito.
54. do-while loop usando os pontos de atenção:
Primeiras declarações são executadas uma vez, e, em seguida, determinar a expressão booleana. Após o julgamento execução
declaração deve ser o fim da tendência ciclo de declaração, ou um loop infinito.
55. para a sintaxe loop, a ordem de execução de instrução:
para (expressão inicial; expressão booleana; factor de iteração) {
corpo do laço;
}
A. Definir o valor inicial da secção de inicialização variável do laço
B. Condições arbitrário expressão booleana julgar porção
C. ciclo (pode ignorar)
D. Iteração controlar o aumento ou diminuição do factor de ciclo variável
B. . . . . .
56. para a diferença entre o ciclo e ao mesmo tempo, DoWhile de:
para loop: Apoio a estrutura geral de interativo, flexível e eficaz, antes da primeira iteração, você precisa executar a inicialização, e então determinar a expressão booleana; em seguida, executar a instrução, após a execução, será realizando fator passo iterativo; (inicialização, e, em seguida, determina, depois de realizar a última iteração),
o tempo: iterações não suportados, o manual iterativa, efectuada após a primeira determinação,
se o tempo-: não suporta iteração, a iteração manualmente, depois de realizar a primeira determinação.
57. Separadores de vírgula usados Java, onde:
uma pluralidade de declarações de variáveis; loop para expressão inicial; expressão booleana; uma pluralidade de iterações de divisão fator; uma pluralidade de interface de; formal e parâmetros reais lista segmentação
58. loop se o ciclo pode estar vazia:
lata, mas usar dois separadas por um ponto e vírgula representa a entrar num ciclo infinito
59. o circuito duplo-internos para a compreensão:
número de linhas de controlo exteriores, controlar o número de colunas interiores
60. Continuar e quebrar distinção
pausa: para controlar os loops de fluxo, forçosamente sair do loop, o loop não executa o resto da frase; Além disso, mudar para quebrar declaração ramo interrompido multi-ramificada. A seguinte declaração não está em andamento
Continuar: usado para terminar um ciclo de processo, o ciclo de pular o resto da frase, o próximo ciclo está ligado, para as demonstrações precisa executar um fator passo iterativo, e enquanto em volta salto direto DoWhile ciclo de cabeçalho.
61. A pausa e continuar o uso de abas:
Desde o java Goto é uma palavra reservada, para sair do ciclo atual requer o uso de uma pausa multi-camada e continuar com abas
uso:
(apenas) antes do loop, adicione "nome de tag:" na forma de uma declaração fora de posição, usando um loop: fazer fora do nome da marca Braek ou nome da marca do formulário continuar.
62. A definição de um bloco de instruções, bloco de instrução aninhada pode declarar uma variável com o mesmo nome fazer:
também conhecida como instrução composta, {} com qualquer número em chaves java frase simples, determina o escopo de variáveis locais, bloco código de programa a ser executado como um todo. E o bloco pode ser aninhados.
não pode.
63. O método definido:
para um segmento de código de conclusão função específica;
para características comportamentais e funcionalidade das classes de objectos e conseguido.
O método é uma classe abstrata e uma características de comportamento do objeto.
É a unidade básica dos java programa, classes e objetos pertencentes ao método.
64. Um método de invocação:
nome método Nome do objecto (lista de argumentos); aqui, o nome do objecto é uma referência a um exemplo endereço real
do lado do processo estático também ser directamente invocado pelo nome de classe. Exemplos de método não-estática tem de ser chamado, não é comum para ver o interior de uma classe de objecto é adicionado como padrão porque não é esse ponteiro indica o objecto actualmente criado.
65. Observa o método utilizado:
argumentos reais, a mesma forma de tipos de dados e métodos devem ser declarados no parâmetro de ordem.
instrução de retorno termina operação ilegal e retornar o tipo necessário de dados. Use um tipo de retorno void fazer quando não há nenhum valor de retorno.
do método Java chamadas passar parâmetros, siga a transferência de valores (uma cópia de todos os dados transmitidos, o tipo de referência de dados é uma cópia do endereço)
do tipo básico de transferência é copiar o valor do valor de dados de
um tipo de referência é passado cópia do valor da aplicação alvo, mas apontando para o mesmo objeto.
Aqui Insert Picture Descrição
66. O método de sobrecarga: sobrecarga definir:
uma classe a ser definida no mesmo nome de método múltipla, mas diferentes parâmetros do método. Quando invocado, o método de correspondência automática correspondentes aos diferentes parâmetros.
67. O método de configuração condições sobrecarregados:
método sobrecarregado, é realmente uma abordagem completamente diferente, mas o nome não apenas o mesmo!
Diferente: tipos de parâmetros formais, o número de parâmetros formais, a ordem dos parâmetros formais
apenas valores de retorno são diferentes, o método não constitui uma carga pesada, ele será relatado anomalia. (Não de acordo com o valor de retorno é determinado com base)
que diferem apenas no nome dos parâmetros formais do método não constitui uma carga pesada. (Sem sentido)
Aqui Insert Picture Descrição
Nota tipo de conversão automática.
Aqui Insert Picture Descrição
Aqui Insert Picture Descrição
Aqui Insert Picture Descrição
68. A chamada de método, quando se trata de sobrecargas do método correspondentes:
por tipo dos parâmetros reais do método chamado, pela primeira vez pelo correspondente tipo de linha original, se não, siga automaticamente convertido para corresponder ao tipo de regra, e segue um pequeno princípios de nível cruz. Se nenhuma exceção.
Aqui Insert Picture Descrição
69. A idéia básica de um algoritmo recursivo, composto por:
chama-se
70. definição recursiva da cabeça: não saber quando chamar o método em si. Se ele não vai acabar em um loop infinito.
71. definição recursiva do corpo: a necessidade real para o método de tratamento específico processamento recursivo, declaração de processos de negócios, ao mesmo tempo demonstrando chamadas recursivas.
Procure n!;

public class TestRecursion{
		public static void main(String[] args){
				long n = 100;
				System.out.printf("%d阶乘的结果:%s%n", n, factorial(n))
		}
		static long factorial(long n){
			if(n==1){//递归头(尽头)
				return n;
			}else{
					return n*factorial(n-1);//递归体  //实际就是  n * (n-1) 这里的n-1就是//需要通过递归求取的  
			)
}
}

princípio de chamadas:
Aqui Insert Picture Descrição
as vantagens e desvantagens 72. recursiva:
um pouco: o programa é simples e fácil de entender, fácil de entender e depurar, sem ênfase na eficiência, com recursividade.
:( desvantagens demorado e memória) pilha sistema intensivo; o consumo de memória e mais, quando o nível de chamada por um longo tempo, o que é muito mais lento do que o ciclo. Além de resolver qualquer problema com uma utilização recursiva de iterações do loop pode ser resolvido. Quando os requisitos de alto desempenho, com circulação.

Publicado 37 artigos originais · ganhou elogios 29 · vê 10000 +

Acho que você gosta

Origin blog.csdn.net/qq_42755868/article/details/104873492
Recomendado
Clasificación