Treinamento Java. Aulas de programação Java. Ganhar experiência inicial. Freelancer

Estamos acostumados ao acesso rápido à informação e à absorção igualmente rápida. Preferimos vídeos de cinco minutos a palestras profundas e artigos curtos a livros. Não vou afirmar que um bom livro sobre programação substituirá qualquer artigo, não é assim. E certamente não substituirá a prática. No entanto, para mim pessoalmente, uma compreensão real dos fundamentos da programação veio depois que eu, tendo resolvido centenas de problemas em um curso de programação e lido uma tonelada de artigos, comecei a estudar simultaneamente a teoria dos livros e me aprofundei bem neles. Há algum tempo que procuro meu “melhor tutorial de Java para iniciantes” pessoal. Abaixo estão vários livros que foram úteis para mim, em maior ou menor grau, em diferentes fases de meus estudos.

"Para os mais pequenos"

Você pode começar a ler os próximos dois livros no início dos estudos, paralelamente ao vídeo, ou, se estudar com JavaRush, junto com os primeiros níveis. Eles, especialmente o primeiro, são adequados para pessoas com zero experiência em programação.

Use a cabeça primeiro Java

Comecei com este livro não porque seja o meu favorito, mas porque é o mais simples. Este livro, de acordo com muitos programadores, é o melhor tutorial Java do zero. Além disso, é verdadeira e completamente “do zero”, ou seja, é indicado para quem está começando e ainda não entende bem o que é programação fera. Ela veio até mim tarde demais. Acho que foi por isso que não consegui apreciar. Foi muito agradável “só ler”, mas durante muito tempo tive que procurar algo específico nele. O material ali é apresentado de forma vívida, mas um tanto superficial (porque é do zero!) e muitos tópicos e explicações necessárias simplesmente não estão lá. Mas meu amigo, a quem foi herdado, ficou encantado com ele e gritou que este não era apenas o melhor livro de Java para iniciantes, mas uma obra-prima do mundo real e é assim que o material complexo deveria ser apresentado. Vantagens:
  • O melhor tutorial Java do zero, para manequins completos, escrito em linguagem viva;
  • Ilustrações legais e humor;
  • Explicações com exemplos da vida real.
Imperfeições:
  • Muita “água” para quem já entrou no assunto;
  • Nem sempre quebra-cabeças e exercícios bem-sucedidos.

Herbert Shildt. Guia para iniciantes em Java 8

Depois de ler este livro, pensei que seria adequado para quem gosta de uma apresentação do material mais tradicional do que no Headfirst, e ao mesmo tempo procura um tutorial do zero. Em alguns lugares, a apresentação do livro é muito detalhada, lembrando documentação ampliada e traduzida com bons exemplos visuais. Às vezes, quanto a mim, o autor passa dos limites e começa a mastigar demais, a leitura fica chata... e de repente - cambalhota - e algum lugar bastante complexo é perdido quase que instantaneamente, e você fica completamente desnorteado tentando entender o que e onde você perdeu. No entanto, não há muitas passagens desse tipo no livro, e conheço pessoas que acreditam que o Guia do Iniciante é o melhor tutorial de Java para quem ainda não sabe nada. Pessoalmente, não achei muito tranquilo. Digamos que eu comece a classificar as coleções e, em vez de uma explicação humana, eles me dêem a tarefa de criar independentemente um conjunto baseado em matrizes. Problema legal, mas gostaria de entender melhor o que são as coleções padrão primeiro! Embora este livro, como o anterior, seja considerado um livro didático para iniciantes, minha experiência como professor sugere que ele só funciona em conjunto com outros materiais: nem tudo será simples e compreensível para um estudante de humanidades. O “Guia para Iniciantes” é mais adequado para quem pelo menos aprendeu programação (por exemplo, na universidade), desistiu há muito tempo e ao mesmo tempo gosta do estilo de apresentação do autor. Vantagens:
  • Apresentação tradicional e cuidadosa do básico;
  • Bons exemplos.
Imperfeições:
  • Há “saltos” de “muito mastigável” para “dito rapidamente”;
  • Um pouco chato em alguns lugares.
A propósito, Herbert Schildt tem outro livro famoso sobre programação - “Java 8. Guia Completo" Este é um livro completamente diferente, mais fundamental. Vamos prosseguir.

Referências e guias avançados

Os livros desta seção serão úteis para quem já se envolveu ao máximo e procura livros para melhor compreensão da teoria e da prática.

Herbert Shildt "Java 8. O guia completo"

Resolvi baixar este livro da Internet para avaliá-lo e depois decidir se comprava ou não. Não é brincadeira, 1300 páginas de texto! Bem, o preço não é menos impressionante que o volume. Fiz exatamente a mesma coisa com os dois volumes “Biblioteca do Profissional” de Kay Horstmann (mais sobre isso abaixo). Olhando para o futuro, direi que escolhi o segundo. Por que? Porque no livro “Java. O Guia Completo" Vi as mesmas deficiências do "Guia do Iniciante". Às vezes está mastigado, às vezes está amassado, mas ao mesmo tempo não está apenas amassado, mas de alguma forma amassado detalhadamente. Este é provavelmente o estilo do autor e acho que alguém vai gostar, ou melhor, da sua forma de pensar. No geral, Java 8: The Definitive Guide é um bom livro de referência para Java. Mas pessoalmente gostei mais da apresentação dos mesmos temas em outro livro. Vantagens:
  • Guia completo. Parece ter todos os tópicos que um iniciante, e não apenas um iniciante, precisa saber.
  • Explicações detalhadas.
Imperfeições:
  • Muita água (mas algumas pessoas podem gostar disso!);
  • A tradução para o russo não é das melhores.

Java. A Biblioteca do Profissional, Kay S. Horstmann, Gary Cornell

Os livros de Schildt e Horstmann são frequentemente comparados entre si. Ambos têm fãs leais. Para mim, o livro de dois volumes de Horstmann é o melhor livro sobre Java. Também se tornou um livro de referência para mim nos níveis iniciante e intermediário do JavaRush. Quando eu não entendia um assunto, recorria principalmente ao Horstmann, e ele esclareceu muitas coisas. O livro cobre tudo, desde sintaxe até programação multithread, localização de aplicativos e trabalho com XML. E não deixe o nome “Biblioteca Profissional” te assustar (foi isso que me assustou), o básico está muito bem abordado. Além disso, é útil relê-lo periodicamente para atualizar e organizar seus conhecimentos. Dizem que até os profissionais encontram nisso algo útil para si... não sei. Se eu me tornar um profissional, eu te conto! Vantagens:
  • Com um número impressionante de páginas, há pouca água (ao contrário de Schildt).
  • Contém tudo que os iniciantes precisam.
  • Revela Java 8.
  • Boa apresentação de tópicos sobre coleções e genéricos.
  • Combina muito bem com JavaRush. Vá direto ao assunto, resolva problemas, em algum momento você não entende alguma coisa - observe Horstmann, tente novamente.
Imperfeições:
  • Alguns podem achar o livro um pouco seco;
  • Nenhuma prática;
  • Tradução russa com erros.

"Java" Métodos de programação". Blinov, Romanchik

Certa vez li em um fórum que havia um livro chamado “Programação Industrial” e ele apresentava alguns problemas. Acontece que eles não mentiram. Encontrei uma cópia em PDF no site da EPAM bielorrussa. A publicação lá não é a mais nova (em Java 6), mas o livro é escrito como um sólido livro universitário, ou seja, em alguns lugares a apresentação é um tanto pesada e acadêmica. MAS! Existe realmente uma coleção muito boa de problemas de programação Java, bem como tarefas de teste. Dizem que os estagiários do EPAM estudam com este livro, e ele também foi adotado por muitos cursos Java offline.

A abordagem das tarefas lá é um pouco diferente da do JavaRush, ou seja, em média, as tarefas aqui são um pouco mais complicadas e cada uma delas é algo como... não um mini, mas um microprojeto. Por isso recomendo o JavaRush até para estudantes, pois acho que a desvantagem do lado prático do curso é que todas as tarefas dele já estão totalmente desenhadas e tem muitas dicas. Digamos que os problemas de OOP desta coleção me ajudaram a entender muito bem esse OOP, junto com os livros dos “clássicos atemporais” sobre os quais escrevo abaixo. O livro foi escrito como se fosse para futuros “remadores”, portanto descreve as tecnologias Hibernate para o desenvolvimento de sistemas distribuídos, bem como os fundamentos de HTML, XML, JavaScript. “Programação Industrial” é, se não o melhor tutorial de Java, então um livro muito bom. Mas você precisa chegar já preparado. Digamos, depois de uma dúzia ou dois níveis de JavaRush. Mais tarde descobri sua edição mais recente e revisada, já com o nome “Java. Métodos de programação."

Vantagens:
  • Excelente seleção de problemas e itens de teste;
  • Existe uma versão gratuita oficial (acredito que seja oficial, pois não está em algum root tracker, mas sim no site da EPAM);
  • Comparação com C++.
  • Oportunidade de compreender o que se passa num estágio na EPAM.
Imperfeições:
  • Apresentação muito fundamental. Mas para repetição com prática será adequado.
  • Sem Java 8.

Clássico atemporal

Os livros sobre os quais escrevo abaixo podem ser chamados de textos sagrados para iniciantes e “javistes” avançados.

Java Eficaz, Joshua Bloch

É um tesouro, não um livro, e concentra-se nos princípios básicos da linguagem de um de seus autores, Joshua Bloch. Muito provavelmente você já usou suas bibliotecas (na Java Collection, por exemplo). Farei uma reserva imediatamente: iniciantes, exceto alguns prodígios-speedrunners, não precisam do livro Effective Java. Primeiro, é melhor dominar a sintaxe e adquirir pelo menos alguma prática de programação, por assim dizer, “pegar o jeito”, e então assumir a criação de Joshua Bloch. O livro será útil para quem deseja realmente entender Java, formar a abordagem correta ao programar nesta linguagem e entender não apenas como fazê-lo, mas tudo o mais que precisa ser feito exatamente dessa maneira. E também para quem quer entender profundamente OOP (em princípio, são coisas inter-relacionadas). Este livro é o melhor livro sobre Java no contexto da abordagem de programação orientada a objetos. Vantagens
  • Uma apresentação brilhante de material sobre o tema OOP.
  • As melhores práticas de programação são fornecidas.
  • O autor conhece Java muito bem por dentro.
Imperfeições
  • Ainda não há tradução da mais nova edição do livro (a terceira).

Filosofia Java, Bruce Eckel

O título deste livro fala por si. Esse é mais um “alfa e ômega” para quem quer conhecer Java! Neste livro você encontrará exemplos bons e claros, e a partir deles ficará claro como o Java funciona. É difícil para mim dizer qual dos dois livros - "The Philosophy of Java" ou "Effective Programming" - é melhor. Eu diria que Eckel é um pouco mais amigável com iniciantes, enquanto Bloch requer alguma experiência. Li pela primeira vez o capítulo de “Filosofia Java” quando estava começando a aprender JavaRush (acho que foi listado como recomendado em um dos níveis iniciais). Então ela não combinava comigo. Mas depois do nível 10 ou 12 – era uma música! E, direi, uma música muito útil. Voltei a isso mais tarde, quando cheguei à Programação Eficaz. Direi o seguinte: deixemos que Bloch e Eckel falem da mesma coisa, mas de maneiras diferentes, e dêem exemplos diferentes. Vantagens
  • Uma apresentação aprofundada dos princípios Java de um profissional;
  • Será bom para quem está migrando de outras linguagens – há muitas comparações com C++, por exemplo.
  • Parece-me que você pode começar a ler no nível 10, mas Eckel - um pouco mais tarde.
Imperfeições
  • Traduções russas muito malsucedidas;
  • Falta de uma nova edição do livro em russo.

Breves conclusões

  1. O melhor tutorial de Java do zero para quem não sabe nada - Head First Java;
  2. O melhor livro de referência e livro de referência sobre Java é “Biblioteca do Profissional”. E, claro, documentação da Oracle.
  3. A melhor coleção de tarefas de programação Java - JavaRush. Bem, entre os livros - “Java. Métodos de programação".
  4. Os melhores clássicos atemporais são “The Philosophy of Java” e “Effective Java”. Esta é uma leitura obrigatória para todos que decidiram entender tudo de verdade, para um entendimento profundo. Mas é melhor lê-los gradualmente e em ordem.
  5. Conclusão adicional: existe uma oportunidade - leia em inglês. As traduções para o russo são geralmente muito fracas.
Versão em inglês deste post: principais livros sobre Java para iniciantes no CodeGym
Provavelmente muitos dirão: “muitos livros bons já foram escritos sobre Java, por que outro?” E para muitos, provavelmente meu livro não trará nada de novo. Afinal, seu leitor principal deveria ser (presumivelmente) uma pessoa que não tem nenhuma experiência em programação. Por um lado, parece que basta pegar um livro com uma descrição boa e mais completa e pronto. Mas na prática isso está longe de ser o caso. Não basta ler sobre alguma coisa. O principal é entender como usá-lo. Ser capaz de adaptar um conjunto diferente de ferramentas para resolver um problema específico. Avalie qual opções existentes melhorar. Como conseguir isso? Prática. Muita prática analisando exemplos triviais e resolvendo problemas semelhantes por conta própria. Porém, a prática, infelizmente, não é tudo. Além disso, deve haver uma teoria dosada corretamente selecionada. Isso significa que não vou despejar todo o conhecimento no leitor de uma só vez. Simplificarei deliberadamente muito para uma melhor compreensão da essência das coisas. Espero que os profissionais não me blasfemem furiosamente por isso. Afinal, após a leitura do meu livro, o leitor poderá passar para uma literatura que proporciona um conhecimento mais detalhado e compreendê-la por conta própria.


Capítulo: Introdução (ou uma história sobre programação)

Provavelmente, em nossa era progressiva, muitos já ouviram palavras como “programa” e “programação”. Vamos descobrir o que é, de onde veio e em que direções está se dividindo agora.
Primeiro, vamos começar com o termo “programa”. Se em palavras simples, então um programa é uma sequência de ações ou instruções para o computador que ele deve executar. Quando executamos um programa, executamos um por um todos os comandos ou instruções nele especificados. A programação, portanto, é o processo de criação ou escrita de programas.
Como um computador entende ou decifra comandos escritos em um programa?
Na verdade, o programa que um computador vê e o programa que uma pessoa vê na tela são muito diferentes, pois estão escritos em idiomas diferentes. Uma máquina de computador entende apenas o chamado código binário – certas combinações de uns e zeros. Por que é que? Tudo é simples se nos voltarmos para a mecânica do processo. Os comandos são transmitidos ao computador por meio de loops, constituídos por um conjunto de fios (canais), e o chamado barramento de dados. Há um sinal elétrico no canal, o que significa que uma unidade chegou. Nenhum sinal - zero.
Porém, se abrirmos o texto de um programa escrito por um programador, ele não parecerá um conjunto contínuo de uns e zeros e poderá ser completamente “lido” e analisado em comandos. Como então um computador entende programas escritos por pessoas? Mas aqui trabalham os chamados tradutores de uma língua para outra. Esses tradutores são chamados de tradutores. Os tradutores podem ser divididos em dois tipos: compiladores e intérpretes. Os compiladores traduzem todo o programa e o salvam em arquivos executáveis ​​especiais. Para executar tal programa, você precisa executar o arquivo resultante. Os intérpretes traduzem comandos online e os executam imediatamente. Um comando de cada vez: traduziu o comando - executado, traduziu o próximo - executado, etc.
O número de comandos no código binário depende do nível de complexidade do idioma do qual o tradutor traduz. Se a linguagem for suficientemente próxima do código binário, então um comando dessa linguagem terá de 1 (montagem) a 10 comandos em código binário. Essas linguagens incluem, por exemplo, Pascal, C. Para linguagens de alto nível, como C++ e Java, o número de comandos em código binário por comando de linguagem de alto nível pode ser 100 ou mais.
Por um lado, o uso de compiladores é melhor, pois os programas traduzidos inteiramente em linguagem de máquina rodam mais rápido. No entanto, esses programas só são executados no sistema operacional específico para o qual foram compilados. As vantagens dos intérpretes incluem a chamada plataforma cruzada, ou seja, independência de um sistema operacional específico (plataforma). O que isto significa? O fato é que para rodar o mesmo programa em diferentes sistemas operacionais serão utilizados diferentes intérpretes: no Windows um intérprete, no Linux - outro, em um terceiro sistema operacional - um terceiro, etc. e claro, onde quer que o abramos. Com um programa compilado tudo fica mais complicado. Em primeiro lugar, já foi traduzido para linguagem de máquina e não poderemos visualizá-lo na forma habitual. Em segundo lugar, o programa está claramente centrado numa área específica sistema operacional e é impossível mudar isso em um programa compilado. Para realizar tal truque, você precisa pegar o programa fonte, que está escrito em uma linguagem compreensível para o programador, fazer as alterações necessárias e compilá-lo para outra plataforma (sistema operacional).
Em princípio, tanto compiladores quanto interpretadores podem ser desenvolvidos para qualquer linguagem. Essas linguagens para as quais existem compiladores e interpretadores, por exemplo, incluem Visual Basic. No entanto, existem várias linguagens para as quais existem apenas compiladores ou interpretadores. Por exemplo, para a linguagem Pascal existem muitos compiladores, mas nenhum intérprete (pelo menos nunca ouvi falar deles). Para linguagens VBScript e JavaScript, existem apenas intérpretes.
Separadamente, podemos distinguir linguagens de programação que usam alguma combinação de princípios de compilação e interpretação. Java também pode ser considerado uma dessas linguagens. Primeiro, um programa escrito em Java é processado por um compilador. No entanto, a saída não é código de máquina, mas algum código intermediário (pseudocódigo ou bytecode), que é então interpretado pela máquina virtual Java. A Java Virtual Machine é um programa que deve ser instalado no sistema operacional onde será executado o programa, transformado em pseudocódigo.
Como e onde os programas são escritos?
Vamos pensar no que precisamos para criar um programa funcional. Primeiro, precisamos digitar o texto do programa em algum lugar. O que significa que precisamos de algum editor de texto, no qual faremos isso e poderemos salvá-lo. Em segundo lugar, você precisará de um compilador ou intérprete. Em princípio, este é o mínimo exigido. No entanto! Deve-se notar que ao escrevermos programas, nós, como todas as pessoas, cometemos erros. Em primeiro lugar, podemos cometer um erro no texto. Seria conveniente se o editor de texto pudesse ver pelo menos os erros mais simples na sintaxe dos comandos escritos e de alguma forma nos notificar sobre isso (por exemplo, sublinhando, como o Word faz para textos comuns). Em segundo lugar, pode haver erros lógicos quando tudo no texto parece estar escrito corretamente, mas nada funciona como esperado. Nesse caso, seria bom ter ferramentas convenientes para encontrar erros durante a execução do programa.
Para conveniência dos programadores, todas as ferramentas convenientes são combinadas em programas especiais - sistemas de programação. Geralmente eles possuem um editor de texto especial, tradutores, um depurador (para encontrar erros durante a execução do programa) e muitas ferramentas convenientes para facilitar o trabalho árduo do programador. Essas “guloseimas” incluem geração automática de partes do programa, lançamento conveniente de programas com um clique (quando o próprio sistema de programação inicia o tradutor desejado e o programa executável resultante) e muito, muito mais.
Normalmente, para uma linguagem não existe um sistema de programação, mas vários. Cada programador, naturalmente, escolhe o sistema mais conveniente para si. Por exemplo, para Java, os sistemas de programação mais comuns são "IntelliJ Idea", "Eclipse", "NetBeans".
Como o autor prefere o primeiro deles e os demais ainda são desconhecidos para você, para nossa prática utilizaremos o "IntelliJ Idea".


Parte 1. Instalando os programas necessários e configurando-os

Capítulo: JDK - Java Development Kit (kit de desenvolvimento Java)

Vamos começar com o mais importante - instalar um conjunto de programas necessários para desenvolver e executar programas escritos em Java. Em inglês, o nome desse conjunto é Java Development Kit, ou JDK, abreviadamente. É a última abreviatura que usaremos no futuro.
O que está incluído no JDK?
O JDK inclui os seguintes componentes:
1) JRE - Java Runtime Environment (Java Runtime Environment)
Um conjunto de programas e bibliotecas necessários para executar pseudocódigo. Na verdade, esta é a máquina virtual Java necessária para executar programas compilados para ela.
Nota: Se você deseja apenas executar programas Java compilados e não compilá-los, não faz sentido instalar o JDK. Basta instalar apenas o JRE.
2) compiladores
3) depuradores
4) bibliotecas especializadas
5) e outras ferramentas de desenvolvimento
O que são bibliotecas e o que há nelas?
Programas em idioma alto nível use fragmentos de código comprovados e prontos para executar várias ações padrão. Tais ações incluem: exibir informações na tela, inserir dados do teclado, calcular funções matemáticas padrão, etc. Esses fragmentos de código estão localizados em bibliotecas, apresentados como arquivos separados.
Onde posso obter o JDK?
Qualquer versão do JDK pode ser baixada gratuitamente no site oficial da Oracle. Para fazer isso, primeiro digite as seguintes palavras de pesquisa em qualquer mecanismo de pesquisa da Internet: “Download JDK”. O primeiro site da lista é o nosso.

No sinal com a versão necessária, primeiro selecione a opção “Aceitar Contrato de Licença” (traduzido do inglês como “Concordo com o contrato de licença”), e a seguir clique no arquivo desejado nesta tabela.
Como você já sabe, Java é uma linguagem de programação multiplataforma, ou seja, o mesmo programa escrito nela funciona da mesma forma em sistemas operacionais diferentes. A última propriedade é alcançada devido a diferentes JRE e JDK em diferentes sistemas operacionais (plataformas).
Naturalmente, você deve baixar o arquivo de instalação correspondente ao seu sistema operacional. Por exemplo, se você estiver trabalhando no Linux, selecione o arquivo apropriado para Linux. Se estiver no Windows - um arquivo para Windows.
Se você estiver instalando o JDK em um sistema operacional de 32 bits, baixe o arquivo marcado como x86. Se for de 64 bits, está marcado como x64.
Observação. Você pode descobrir a capacidade do sistema no Windows 7 desta forma: clique em “Iniciar”, clique com o botão direito em “Computador”, selecione “Propriedades”. Observamos o valor da propriedade "Tipo de sistema".

Por exemplo:

Para sistema operacional Windows de 64 bits e JDK 8u101 arquivo necessário terá o seguinte nome:
"jdk-8u101-windows-x64.exe"

Para um sistema operacional Windows de 32 bits e JDK 8u101, o arquivo necessário terá o seguinte nome:
"jdk-8u101-windows-i586.exe"

Como instalar e configurar corretamente o JDK (para Windows 7)?
Estágio Um: Instalando o JDK
Para instalar o JDK, você precisa executar o arquivo exe de instalação com a versão desejada do JDK. Então você só precisa seguir os passos de instalação.
Nota: Várias versões do JDK e do JRE podem ser instaladas no mesmo sistema operacional. Você pode tornar algum tipo de JRE o principal (que a máquina virtual Java usará) nas configurações do sistema operacional. Você pode definir um JDK específico para um projeto tanto no sistema operacional (será comum a todos os projetos) quanto no sistema de programação no qual este projeto está escrito.
Vejamos todo o processo de instalação do JDK usando o exemplo de instalação do JDK 8u102 em um sistema operacional de 64 bits Sistema Windows 7 (você precisará executar o arquivo jdk-8u102-windows-x64.exe).

1. Na primeira janela, basta clicar no botão "Avançar"

2. Na segunda janela, primeiro selecione a pasta onde nosso JDK será instalado. Para fazer isso, clique no botão "Alterar..." e selecione o local desejado no disco.

Nota: É aconselhável manter um local comum para todas as pastas com diferentes versões do JRE. Ou seja, a estrutura da pasta compartilhada deve ser mais ou menos assim:

Depois disso, clique no botão “Avançar”.

Estágio dois: configurando variáveis ​​de ambiente
Para que o sistema de programação saiba qual jdk usar por padrão para seus programas e para que o sistema operacional consiga reconhecer os arquivos java, é necessário configurar variáveis ​​​​de sistema em nosso sistema operacional.
Para fazer isso no Windows 7 você precisa seguir os seguintes passos:

1) Vá para as seguintes configurações:
Botão "Iniciar" --> clique com o botão direito em "Computador" --> "Propriedades" --> "Configurações de ambiente avançadas" --> guia "Avançado" --> botão "Variáveis ​​de ambiente..."

2) Na lista “Variáveis ​​​​do sistema”, clique no botão “Criar”

3) Insira os dados necessários e clique em “OK”:
Nome da variável JAVA_HOME
Valor variável<путь к папке, куда устанавливалось JDK(не JRE!)>

4) Encontre a variável “Path” na lista de variáveis ​​​​do sistema, selecione-a e clique no botão “Alterar”.

5) Vá até o final do campo “Valor da variável” (não exclua nada!!!), adicione o seguinte trecho de texto e clique em “OK”:
;%JAVA_HOME%\bin\

6) Clique em OK na janela Variáveis ​​​​de ambiente, depois na guia Avançado e reinicie o computador.


Capítulo: IDE (Ambiente de Desenvolvimento Integrado) "IntelliJ Idea" - Ambiente de desenvolvimento integrado (sistema de programação) "IntelliJ Idea"

"IntelliJ Idea" é um dos sistemas de programação mais comuns para Java. É prático e possui diversas ferramentas que facilitam o trabalho do programador. As vantagens indiscutíveis incluem preços acessíveis versões gratuitas este ambiente de desenvolvimento na Internet.

Observação. O termo IDE (ambiente de desenvolvimento integrado) é idêntico ao conceito de “sistema de programação”, mas em ambiente profissional é utilizado com mais frequência.

Onde posso obter o "IntelliJ Idea"?
Este IDE pode ser baixado do site oficial da empresa JetBrains. Para fazer isso, primeiro você precisa digitar as seguintes palavras de pesquisa em qualquer mecanismo de busca da Internet: “Intellij Idea”. O primeiro site da lista que aparece é o nosso.


Neste artigo tentarei apresentar os fundamentos da programação em Delphi da forma mais simples e clara possível.

Java para manequins. Lição 1. Olá, mundo!

Primeiro, direi o que Java pode fazer. Em primeiro lugar, nesta linguagem você pode escrever miniaplicativos - programas que são incorporados na página web do site. Por exemplo, pode ser um jogo, um sistema gráfico empresarial e muito mais. Em segundo lugar, você pode escrever aplicativos completos em Java que não estão necessariamente relacionados à Web. Ou você pode usar servlets - programas que, diferentemente dos miniaplicativos, são executados não no lado do cliente, mas no lado do servidor.

Vamos começar com o básico. Vamos homenagear a tradição e escrever o programa mais simples, que exibe uma saudação Olá Mundo. Se você não tem Java, então ele pode ser baixado do site oficial http://www.java.com/ru. Em seguida, instale-o.

Se Java você instalou e digite o seguinte texto em algum editor:

Classe pública HelloWorld {

Principal vazio estático público ( Argumentos de string ) {

Sistema . fora . imprimir ( "Olá Mundo!" );

}

}

E não se esqueça de salvá-lo com o nome Olá Mundo. Java- O nome da classe executável deve corresponder ao nome do arquivo. Para compilar, use o programa javac.exe incluído no pacote padrão Java. Esta é a aparência de um arquivo em lote de compilação este arquivo java:

"c:\Arquivos de Programas\Java\jdk1.7.0\bin\javac" HellowWorld.java

pausa

Se nenhum erro ocorreu durante a compilação:

então, provavelmente, a compilação foi bem-sucedida no seu, no mesmo diretório onde HellowWorld estava localizado. Java HellowWorld também apareceu.aula:

Agora vamos executar outro arquivo em lote que chamará o interpretador Java junto com nosso arquivo compilado:

"c:\Arquivos de Programas\Java\jdk1.7.0\bin\java" HellowWorld

pausa

Se tudo for feito corretamente, você deverá obter este resultado:

Se você o recebeu, posso parabenizá-lo: você escreveu seu primeiro programa em Java. No futuro aprenderemos como escrever miniaplicativos Java e muito mais. E agora algumas palavras sobre o programa em si. Como você percebeu, começa com a palavra público. Este é um modificador que significa que estamos declarando algo publicamente disponível: uma classe, um método de classe ou uma variável. Existem outros modificadores, por exemplo: privado, protegido, amigável, final, abstrato, estático. Alguns deles podem ser combinados entre si. Por exemplo, private significa que a variável que queremos declarar é privada para outras classes. Mas chegaremos ao modificador mais tarde. Agora vamos dar uma olhada na próxima palavra-chave, classe. Isso significa que estamos declarando uma classe. Em java tudo é baseado em classes. Uma das classes é necessariamente a base. E a classe base deve ser pública. Neste exemplo, é a classe HelloWord. Por enquanto ele é o único que temos.

Agora vou tentar explicar em palavras simples o que é Aula e o que é um objeto.

Vamos relembrar o curso escolar de zoologia. Como o mundo vivo é classificado? Primeiro, é introduzido o conceito de “reino”.

1. Reino dos organismos unicelulares,

2. reino vegetal

3. Reino animal.

Vamos pegar os animais. Eles podem ser divididos por tipo. Por exemplo:

1. Digite celenterados.

2. Tipo de platelmintos.

3. Tipo de marisco.

4. Filo Chordata.

Estes últimos são divididos em mamíferos, répteis, anfíbios, aves, etc. Você pode ir ainda mais longe na classificação, mas não faremos isso agora, mas passaremos diretamente para a programação.

Na linguagem Java, você pode, semelhante à classificação do mundo vivo, classificar objetos (peças de programa e dados). Tem aulas para isso.

Para para! - você diz, - por que classificar esses objetos?

Imagine que você, como algum demiurgo (criador, deus), está criando vida na Terra. Primeiro você desenvolveu os compostos orgânicos mais simples. Então, para fins de experiência, o que vai acontecer. Em seguida, eles os combinaram em moléculas complexas, a partir das quais, como tijolos, montaram os microrganismos mais simples. Mas o seu objetivo final é a criação de vida inteligente. Portanto, vocês não pararam por aí, mas criaram organismos multicelulares. Então eles começaram a melhorá-los e desenvolvê-los. Algumas espécies revelaram-se viáveis, outras foram extintas (dinossauros). E finalmente o objetivo foi alcançado - apareceu o Homo Sapiens - Homo sapiens.

Agora vamos voltar à terra e imaginar a programação como uma criação, onde você força seu programa a evoluir até um determinado estado quando ele pode ser usado, e então ainda mais, aumentando e melhorando gradativamente a funcionalidade.

Agora vamos imaginar que um átomo é o comando de programa mais simples ou uma unidade de informação (que, veja bem, são inseparáveis ​​uma da outra, porque o programa funciona com alguma coisa – isso mesmo, com informação).

Então a molécula é uma sub-rotina. Ou um objeto.

Então criamos vários objetos em nosso programa. Precisamos classificá-los de alguma forma para não ficarmos confusos. É para isso que Java fornece classes. Usando-os, descrevemos uma classe de objetos (um conceito geral, por exemplo pássaros), e então, tendo a classe descrita, podemos criar um objeto - uma instância desta classe. Ou seja, a classe é a própria palavra Pássaros, e o objeto é algum pássaro específico, se continuarmos nossa analogia.

Além disso, os pássaros vêm em diferentes tipos. Mas todos têm algumas características comuns, herdadas do conceito de “Pássaros”. Da mesma forma em Java, a partir de uma classe você pode criar outra classe que herda suas propriedades e métodos (recursos). É chamado herança.

Diferentes pássaros têm diferentes cores de penas, bico e formatos de asas. Da mesma forma para as classes, ao criar uma nova classe, as características herdadas podem ser alteradas. É chamado polimorfismo.

Então, descobrimos os conceitos básicos de Java. Agora vamos examinar o programa.

É assim que declaramos uma classe:

classe pública HelloWorld {

Neste caso, existe apenas uma classe em nosso programa, e esta é a classe base, ou seja, a classe responsável por lançar o programa. É por isso que seu nome deve corresponder ao nome do arquivo, para que o intérprete “saiba” por onde começar a execução do programa.

A classe base (HelloWorld) possui um método base: main. Nós o declaramos como público e estático. O primeiro indica que o método é público. Se não fosse assim, nosso programa simplesmente não seria iniciado. Existem também métodos que não estão disponíveis publicamente, mas falaremos deles nas próximas lições. Por enquanto, basta lembrar que o método base (que é lançado quando iniciamos o programa) deve ser público. E seu nome deve ser main para que o intérprete saiba por onde começar a execução do programa.

Agora o que é estático. Este é um modificador que indica que o método é estático. Ou seja, funciona mesmo quando uma instância da classe (objeto) não é criada. Em geral, campos e métodos com modificador estático são comuns a todos os objetos da classe. Também falaremos sobre isso mais tarde.

Cada método pode ou não ter um valor de retorno. Se isso acontecer, então é uma função. O tipo de valor de retorno também está incluído na declaração do método. Caso contrário, defina-o como nulo (como em nosso exemplo).

O acesso aos campos e métodos de um objeto ocorre através de um ponto. Existem também objetos integrados, por exemplo, System, que usamos em nosso exemplo:

Sistema . fora . imprimir ( "Olá Mundo!" );

neste caso, acessamos o campo out, que também é um objeto destinado à saída de dados, e chamamos seu método print, que exibe texto na tela (como o comando PRINT no bom e velho BASIC).

(C) Shuravin Alexander

E a criação de sites está se tornando cada vez mais popular e atraindo a atenção de um grande número de pessoas. Mesmo uma pessoa sem educação especial pode começar a desenvolver programas, o principal é o desejo e a vontade de aprender novos materiais e a prática constante.

Opções de estudo

Por onde começar a aprender programação do zero?Existem várias maneiras de dominar novos materiais nesta área. Professores particulares mostrarão como começar a aprender programação do zero e ensinarão aspectos importantes da construção de código. No entanto, este método é bastante caro, por isso são utilizados principalmente os seguintes métodos de ensino:

  1. Cursos especializados. Seu custo é muito menor do que as aulas de um tutor pessoal. É importante notar que muitos empregadores respondem positivamente à disponibilidade de diversos certificados de conclusão de treinamento em academias de informática. Preste atenção aos cursos das mundialmente famosas empresas Microsoft e Cisco.
  2. Cursos gratuitos remotos. Há um grande número de serviços na Internet com os quais você pode assistir a cursos de Oxford, Harvard e outras instituições educacionais famosas do mundo. Existem também plataformas especiais para treinar habilidades práticas de programação. Leia mais sobre aprendizado remoto e serviços úteis de Internet neste artigo.
  3. Auto-aprendizagem. Por onde começar a aprender programação do zero se você não planeja se matricular em cursos e gastar dinheiro? Nesse caso, a maneira mais fácil é se educar. Você deve começar a estudar lendo o básico, não se aprofundar na teoria, começar imediatamente a praticar, pois somente no processo de criação de um programa você adquirirá as habilidades necessárias.

Depois de escolher a opção de formação que mais lhe convém, você deve decidir sobre a área temática, pois a programação possui uma gama bastante ampla de ramos diferentes.

Como escolher a direção certa?

Depende diretamente do tipo de software que você criará no futuro:


Se o salário é o fator mais importante para você, volte sua atenção para o mercado de trabalho. Hoje em dia, os mais procurados são os desenvolvedores especializados nas linguagens Java, C#, ASP.NET, C++.

Linguagens de baixo e alto nível. Diferença e aplicações

Acredita-se que todas as linguagens de programação sejam divididas em alto e baixo nível. O código de baixo nível é mais fácil de ser processado por um computador, mas leva muito tempo para ser escrito e requer mais conhecimento de domínio. Essas linguagens (por exemplo, assembly) são usadas para escrever software para chips digitais e microcontroladores. Eles não são muito convenientes para aprender programação do zero. Os serviços úteis e a literatura de autores mundialmente famosos fornecidos posteriormente neste artigo lhe dirão por onde começar a escrever seus primeiros programas.

Linguagens de alto nível são muito mais fáceis de usar porque usam bibliotecas integradas para simplificar e visualizar o código. A maioria dos softwares modernos é escrita em linguagens de alto nível.

Programar do zero: por onde começar as aplicações?

O processo de criação de programas móveis permite que os programadores trabalhem com as ferramentas mais recentes e, como resultado, ganhem uma quantia razoável de dinheiro por meio da monetização. Primeiro você precisa escolher o site onde irá trabalhar:

  1. Google Play. Loja de aplicativos para usuários do sistema operacional Android. Este sistema operacional possui a maior parcela de usuários do mercado. As linguagens Java e C/C++ são utilizadas para desenvolver aplicativos e jogos. Os mais populares são aplicativos e clientes de mensagens. redes sociais, armazenamento na núvem, jogos.
  2. Loja do Windows Mobile. Esta loja está ganhando popularidade rapidamente junto com os smartphones da Microsoft. Nos países da CEI, a maioria dos usuários prefere tablets baseados na plataforma Windows Phone. Programar aplicativos para essa loja ajuda você a ganhar mais dinheiro com a monetização, porque, ao contrário do Android, quase todos os programas da loja do Windows são distribuídos de forma paga.
  3. Loja de aplicativos. Outra plataforma lucrativa de desenvolvimento (linguagem - Objective-C). O processo de criação de programas para dispositivos Apple requer um ambiente de desenvolvimento pré-instalado chamado Xcode. A próxima etapa é aprender a programação Objective-C do zero. O livro de David Mark, “Learning C for Mac”, lhe dirá por onde começar a escrever código. Segunda edição."

Linguagem Java

A maioria dos desenvolvedores profissionais recomenda iniciar seu conhecimento de programação com a linguagem Java. É fácil de aprender e ao mesmo tempo muito procurado no mercado. Use as dicas abaixo se decidir aprender programação do zero. Por onde começar com o desenvolvimento Java?

Java é uma linguagem de programação orientada a objetos de alto nível necessária para desenvolver a maioria dos aplicativos e jogos da Web modernos. Durante o processo de compilação (transformando o código escrito em uma linguagem compreensível pelo dispositivo), o código é convertido em uma sequência de bytes, para que o programa possa ser facilmente testado em qualquer máquina virtual Java.

Programação do zero. Por onde começar com codificação Java e Web?

A linguagem Java é amplamente utilizada no desenvolvimento web. Antes de iniciar o processo de programação completo, você deve aprender Java, PHP, MySQL, HTML, CSS. Uma explicação mais detalhada desses conceitos é fornecida abaixo:

  1. Java - usado para escrever utilitários para sites e escrever a lógica da funcionalidade da página da web.
  2. PHP é uma linguagem para criação de páginas de sites pessoais. Possui uma estrutura de script. A linguagem líder na criação de sites dinâmicos populares atualmente. PHP é necessário para entender scripts e programação do zero. Por onde começar? Da leitura do livro "PHP: The Right Way" de Josh Lockhat.
  3. MySQL é um sistema para gerenciar o básico dos dados. Amplamente utilizado na criação de sites que requerem armazenamento de grandes quantidades de dados agrupados.
  4. HTML não é uma linguagem de programação. Esta é uma linguagem de marcação usada para escrever a base de uma página web (blocos de construção, distribuição de texto e parágrafos, e assim por diante).
  5. CSS - Folha de Estilo em Cascata. Usado apenas em conjunto com HTML para fornecer estilo e aparência à linguagem de marcação.

Somente aprendendo os conceitos básicos dos marcos dessas tecnologias você poderá começar a criar sites profissionais dinâmicos e muito procurados atualmente.

Programação da Web. Relevância e recursos

O tópico da programação Web é especialmente relevante hoje. Conforme dito acima, para começar a desenvolver elementos web você precisa ter um conhecimento bastante grande sobre linguagens de marcação, criação de scripts, lógica e estilos.

Hoje em dia você não vai surpreender ninguém com sites que são criados apenas em HTML e CSS, então os desenvolvedores web que conseguem deixar um site visualmente bonito, bem como preenchê-lo com todas as funcionalidades necessárias aos usuários, tornaram-se muito procurados.

Este tipo de desenvolvimento requer a criação de dois tipos do mesmo programa: partes servidor e cliente. O programador deve compreender o princípio de funcionamento dos chamados soquetes - pacotes de dados que permitem a transmissão dos fluxos de informações necessários pela rede entre o servidor e o cliente.

Criando aplicativos para o sistema operacional Windows

Para desenvolver tais programas, você precisará de conhecimento da linguagem C#. Um serviço gratuito da Microsoft chamado Virtual Academy permitirá que você aprenda todos os recursos desta linguagem e pratique a escrita de aplicativos simples.

De acordo com a nova política da Microsoft, todos os aplicativos são carregados na loja de software, para que você possa ter acesso para monetizar seu projeto.

A família de linguagens C (C, C++, C#). Peculiaridades

Programando do zero - por onde começar a escolher uma linguagem? A resposta a esta pergunta pode ser obtida investigando mais detalhadamente os tipos de tecnologias de criação de aplicativos. A relevância de um determinado idioma também deve ser levada em consideração.

As linguagens C, C++, C# têm uma coisa em comum - a presença de funções OOP (programação orientada a objetos). Esta tecnologia permite simplificar significativamente o processo de escrita do código do programa. Cada objeto de software é descrito em uma classe específica e possui seus próprios parâmetros, métodos e propriedades. Assim, o programador não precisa escrever enormes pedaços de código sempre que o mesmo objeto precisar ser usado várias vezes.

Serviços úteis de Internet para aprender os princípios básicos de programação e a estrutura de código de qualquer aplicação

No primeiro estágio do treinamento, quase qualquer serviço web oferecerá a você a oportunidade de testar seus recursos usando Pascal, a mais simples das linguagens de alto nível. É usado para fins educacionais e ensinado em escolas e faculdades técnicas para que os alunos possam entender a programação do zero. Por onde começar com a codificação Pascal? Primeiro de tudo, você precisa baixar o ambiente de desenvolvimento para o seu PC. Este é um pequeno arquivo executável no qual o código do programa será escrito. Use TurboPascal, pois é o ambiente mais popular para aprender esta linguagem de programação.

HourOfCode é um serviço web da Microsoft. Pretende-se mostrar claramente aos alunos o que são ciclo, variável, turma e condições. O processo de aprendizagem é como um jogo.

CodeAcademy é um recurso poderoso para aprender quase qualquer tecnologia de codificação. Ao dedicar apenas uma hora por dia, você nem perceberá como aprenderá a programar e criar seus próprios projetos.

Udacity é um serviço que oferece aos seus usuários acesso gratuito a palestras de professores e desenvolvedores renomados.

Ganhar experiência inicial. Freelancer

Depois de aprender os princípios básicos do idioma escolhido, você poderá iniciar seus primeiros projetos com segurança. Comece como freelancer, pois é assim que você preencherá seu portfólio e ganhará experiência na comunicação com os clientes. Essas habilidades serão úteis no futuro se você quiser conseguir um emprego em uma empresa como desenvolvedor oficial de software.

Resultado final

Programar do zero: por onde começar? Para os manequins, professores de universidades mundialmente famosas aconselham praticar com as estruturas básicas que formam a base de qualquer linguagem de programação. Inscreva-se em cursos especializados ou estude por conta própria ouvindo palestras online.

A partir de hoje, Java é a mais famosa e popular entre todas as linguagens de programação. Começou a existir em 1996, inicialmente desenvolvido pela Sun Microsystems. Com o tempo, foi absorvido pela Oracle Corporation. Os desenvolvedores planejaram tornar o Java uma linguagem universal aplicável a quase todas as tarefas.

Nos últimos 23 anos, o Java se expandiu e melhorou muito. A versão atual hoje é o Java 11, lançado em setembro do ano passado. Durante esse tempo, Java se tornou mais do que uma linguagem de uso geral. Pode ser chamada de plataforma completa que possui seu próprio ecossistema. Hoje, a linguagem pode realmente ser usada para qualquer coisa: desde a criação de pequenos programas até colossais portais de Internet. É frequentemente usado para desenvolver software para todos os computadores, smartphones e aparelhos inteligentes conhecidos. A maioria dos aplicativos Android são escritos em Java.


Recursos Java

Possui muitos recursos, mas o principal é o princípio de traduzir o código em um formato especial. bytecódigo, que não está vinculado à plataforma. Posteriormente, este bytecode é processado na JVM. Este fator distingue Java de outras linguagens interpretadas como Perl, etc. Neles, o código vai imediatamente para o intérprete. Por outro lado, Java também não é uma linguagem puramente compilada (como as do tipo C).

Devido à arquitetura incomum, é alcançada plataforma cruzada e portabilidade de aplicativos baseados em Java. Esses produtos podem ser executados em Windows, Linux, Mac OS e nem requerem recompilação de código. A implementação da JVM em todas as plataformas pode ser diferente, mas o princípio e a execução permanecem os mesmos.

A sintaxe do Java é próxima da das linguagens C; lembramos muito e. Se você tiver conhecimento de uma das linguagens do tipo C, entender Java não será difícil.

A próxima característica importante da linguagem- coleta automaticamente todo o lixo e o remove da memória. Na prática, isso significa que Java remove objetos não utilizados e obsoletos da memória sem comandos adicionais. Em outras linguagens, isso deve ser feito manualmente, escrevendo periodicamente os comandos apropriados.

Java é classificado como uma linguagem orientada a objetos. Há suporte para herança, polimorfismo e muito mais. Essa abordagem ajuda a criar projetos grandes que são fáceis de dimensionar, expandir e editar.

É uma linguagem relativamente simples que pode ser aprendida rapidamente. Graças às estruturas nele contidas, você pode criar funcionalidades padrão para sites, jogos e aplicativos em PCs e smartphones com apenas alguns comandos, sem mexer com código de baixo nível.


Principal