Pessoal, é o seguinte recentemente comprei um curso de Java para WEB, estou acompanhando e tals digitando os códigos sem copiar e colar, mas geralmente nao entendo o porque de tais métodos, o porque eles são daquela maneira, e sempre me pego travado ao começar desenvolver algo do zero e até mesmo quando, eu apago algum método e tento reescrevelo sinto dificuldade em faze-lo novamente. Alguem pode me ajudar como saio dessa dificuldade, e talvez o por que disso estar acontecendo? Muito obrigado Deus vos abençoe!
Pessoal, porque eu tenho dificuldade em entender e desenvolver
35 Respostas
Bom, sinceramente eu nunca estudei Java e sou novato em programação também, estudo C, apesar de ter visto o que é método e classe brevemente no google, mas pelo que eu vejo você parece ser novato também, parece que não dominou ou nem entendeu todo o básico de lógica de programação ainda e já começou em uma linguagem pesada, se comparada a muitas outras, não só isso como pegou um curso que foca em WEB, já aplicando provavelmente altos códigos mais elaborados do que os usados para ensinar iniciantes como “Some 2 números inteiros”.
Enfim, se realmente quiser seguir em Java, te recomendo arranjar um material mais básico, de lógica de programação, introdução a Java, e depois sim começar algo mais avançado que é Java para Web.
Pelo que falou presumo que não tem tanta facilidade assim em aprender os assuntos de programação, isso não é um problema de fato, a questão do talento, com dedicação constante acredito ser possível alcançar certa fluidez em lidar com qualquer assunto que deseja aprender, mesmo assim, te aconselho a começar com outra linguagem mais recomendada para iniciantes como Python que é bem mais fácil.
Pratique lógica e algoritmos em portugol (ou linguagem mais simples) antes de principalmente ir pra linguagens como java, que é uma linguagem bem poluída, cheio de equals, compareto, get, set, mil maneiras de tratar datas e ensinos com apelo fortemente OO que só vão complicar mais seu desenvolvimento básico em programação. Se não começar com portugol, pelo menos use outra linguagem simples, a exemplo de Python como o colega sugeriu, que não é uma linguagem tao bizarra quanto Java.
@LucasFr, bacana cara gostei do seu esclarecimento e com certeza conseguiu me abrir uma visão a respeito do que tenho defasagem no meu conhecimento, vou buscar começar um nível bem mais introdutório como você mencionou em linguagens mais simples, gosto muito da parte web, no entanto estou estagiando na área o que acha de começar com PHP? Forte abraço e muito obrigado pelo seu tempo!
Olá @javaflex, bom dia! Cara muito obrigado por disponibilizar seu tempo em responder minha dúvida. Com toda certeza seguirei essas suas dicas para iniciar um degrau de cada vez e não desanimar ,pois olha já estava desanimando confesso que fiquei meio chateado com esse processo. Você tem toda razão me deparei com várias situações dessas, por exemplo não estou entendendo muito quando vai gerar um List<> e passar o objeto dentro dele e carregar mais de um dentro duma lista rs, olha muito confuso. O que você acha de começar com PHP?
Forte abraço, amigo e muito obrigado novamente!
Bom dia!
Como está estagiando na área e objetiva desenvolvimento Web então vai fundo no php até porque ele é recomendado para iniciantes também, porém, é necessário estudar HTML e CSS antes de PHP.
Pelo menos o básico sabe, tem um PDF da Caelum de HTML e CSS caso você ainda não estudou, afinal nem é questão de mera necessidade e sim de obrigação porque HTML e CSS é a base da web se não me engano, mesmo que não goste, no caso eu também não curto muito assuntos voltados para frontend(na verdade para websites em geral, apesar de que se no futuro for necessário eu estudar isso para segurança da informação eu certamente irei estudar) ainda sim é um sacrifício útil e necessário.
Só ir lá embaixo e selecionar direito para enviarem o pdf no seu email, ou clicar direto em: Desenvolvimento web HTML CSS JavaScript e usar a apostila via site mesmo. Na própria apostila lá na frente explica umas coisas de PHP também.
Boa sorte nos seus estudos aí! Qualquer coisa só falar, curto dúvidas a respeito de aprendizado.
Php te deixa preguiçoso embora ser uma linguagem fácil, é legal para entender um padrão.
mas se quiser:
se tiver pensando em comprar cursos de PHP indico:
https://b7web.com.br/php/
Isso tem a ver com a maturidade do desenvolvimento. No inicio quando comecei eu tinha dificuldade, nao sabia bem onde colocar cada coisa, comecava varias coisas e nao terminava. Quando ia comecar ficava em duvida de como comecar, e muitas vezes por falta de tempo nem terminava.
Mas ai o tempo vai passando e voce vai melhorando sua maturidade, e comeca a encaixar as coisas. Hoje quando eu pego uma coisa que eu fiz há uns anos atras, nem eu entendo o que eu fiz. Tanto é que todos os pequenos programas que fiz para clientes, que é uma zona, tem coisa desktop, tem coisa web. Eu estou juntando tudo num projeto so, para ser utilizado em web e mobile.
Essa semana mesmo precisei mexer em duas coisas que fiz ha 5 anos, putz… eu fiquei totalmente perdido e pensei, eu fiz isso assim? se alguem fosse pegar isso para mexer nao ia entender porra nenhuma. Tudo vai melhorando com a maturidade.
Eu sugiro que procure fazer algo real, que va ter uma utilidade. Um problema chato que eu me decepcionei com os cursos online, os caras so ensinam a fazer uma calculadora, uma agenda de cotatos, uma lista de terefas, um cadastros de livro. Coisas simples que so tem uma pagina e 3 campos. Quando voce vai fazer uma coisa real voce trava e nao sai do canto. Porque o curso não lhe da o conhecimento da parte complexa das coisas.
Nao pare, pratique sempre. Na faculdade eu reprovei 2 vezes em estrutura de dados pq o professor de logica de programacao simplesmente ensinou a usar o jbuilder e o de estrutura de dados mandava a gente implementar as estruturas.
Opa, @LucasFr! Muito obrigado irmão pelo conteúdo disponibilizado sem contar as dicas valiosas que vocês todos estão me oferecendo, irei dar uma olhada nessas apostilas e estudar a fundo o PHP. Bacana seu interesse nessa área de segurança da informação, realmente é algo também pra lá de complexo, mas acredito que você tem potencial para engajar nesse ramo, Deus abençoe sua jornada, obrigado novamente e pode deixar que qualquer coisa estou buscando ajuda aqui, conte comigo e abraços!
@Hundea, cara muito obrigado por disponibilizar seu tempo e me responder e dar uma pesquisada por aí através de cursos, com certeza irei dar uma olhada a respeito desses vídeos e nesse site que tu me indicou, mas uma duvida referente ao que tu comentou, por que o php deixa preguiçoso? rs só uma curiosidade. Forte abraço!
@thimor, opa bom dia meu caro. Obrigado por disponibilizar seu tempo em responder minha dúvida, bacana sua história e realmente me deparo em situações como essa sua, travado sem saber pra onde ir, estou numa agora.
Vou focar no php e buscar prática bastante, vou ver se consigo encontrar alguns exercícios para ir aprendendo pelo menos o fundamental pra desenvolver algo real, penso alto e tenho sonho em desenvolver pelo menos um sistema web que auxilie num comércio, cadastrar produtos com leitor código de barra, gerar relatórios de estoque e vendas, entre outras coisas… rs. Forte abraço!
Depois de algoritmos e da parte teórica, PHP seria sim uma ótima opção pra incentivar a fazer algo real, é muito menos burocrático do que Java. Quando olho um código Java é um Deus nos acuda, coisas simples como >= nos deparamos com um compareTo bizarro, um bando de throws exception, é pra desistir mesmo.
Vou ter que dar uma discordada com isso. O Java não é tão horrível quanto dizem, se você precisa usar um
if (x <= 10)
Vc pode usar sem problemas nenhum, esse trauma que muita gente tem é coisa do Java mais antigo. No JDK 12 por exemplo, vc já tem o uso do var, ao invés de String, int e etc…
O Java não é complicado, tudo é uma questão de costume, se você sempre estudou JavaScript, certamente o Java vai ser um pesadelo, agora se você estudou Java e vai arriscar um JS, pesadelo também.
Tudo é resultado de estudo e costume
Consegue usar em cima de BigDecimal, Date, Integer, String?
Fazendo conversão sim!!
Se alguém colocou um número numa caixa de texto, que automaticamente é uma String, é só fazer
Integer.parseInt(String);
Diretamente nao, precisou de conversão. Pra você ver o quanto Java é burocrático e verboso pra fazer algo tao simples. Outra gambiarra que vejo muito: algoInteger.intValue().
Pela minha experiência com Java, digo que a curva de aprendizagem é lenta. Se nunca programou em nenhuma linguagem nem tem experiência com algoritmo aconselho é começar do princípio.
Tem bons materiais gratuitos na Internet - recomendo da Caelum.
https://www.caelum.com.br/?gclid=EAIaIQobChMI5Z_DtoLn4wIViQ2RCh1X3gMUEAAYASAAEgLxJ_D_BwE
Se pretende seguir aprendendo Java e programar para Web, deve iniciar os estudo com Java Orientado a Objetos. Você vai aprender os conceitos básicos da linguagem, polimorfismo, encapsulamento, classes abstratas, interface etc.
Conforme for avançado os estudos, lendo, estudando e escrevendo códigos naturalmente você vai adquirir conhecimento e suas dúvidas reduzirão substancialmente.
Esse tipo de coisa é comum porque, como tenho visto aqui no curso, todo aprendizado começa de aprendizagens anteriores. Caso não tenha visto os conceitos básicos de algorimos, progamação orientadas a objetos, componentes , eventos, etc, procure ver, pois não adianta avancar demais em programação complexa sem compreender os conceitos básicos. Não aconselho focar demais em determianda linguagem de programação, pois existem varias, cada uma melhor ou pior em determinado requisito, mas sim no contexto por detrás delas, ou seja, não adianta aprender, por exemplo, java ou reactnative, sem ter os conceitos de algorimo, o que é classe, objetos, framework, etc, enfim, o que não acho coerente no aprendizado em programação no geral: focar demais numa linguagem espefica, e não no que as faz serem organizadas e contextuazidadas, não a ferramenta em si, mas em seu contexto. Caso já esteja fazendo ou concluido algum curso de A.D. S ou similar, reveja os conceitos básicos, e vá fazendo, se tiver algum conhecido disponivel pra ajuda-lo, peça orientação
Obrigado @Laio pela suas dicas e opinião com certeza levarei em conta sua experiência, e vou rever os fundamentos, pois acredito que seja nisso que estou tendo dificuldade.
Discordo também.
Programo em Java há 03 anos. É pra mim, a linguagem mais poderosa, mas também a mais difícil de se aprender e de se usar.
Alguns aspectos:
- Você está tendo dificuldade especificamente em aprender java ou já tem histórico de dificuldades com outras coisas?
- Quanto de programação você já conhece? Java não se começa por java web, existe todo um conjunto elementar a ser estudado, principalmente, JSE, que é a base para o java. Além de conceitos de orientação a objetos, bem como, lógica de programação. Sem isso, é impossível você caminhar.
Discordando de alguns comentários:
O java tem sim, todos os seus defeitos. Porém, é uma questão de estudo e entendimento.
Você consegue aprender nodejs e usar em um dia. Mas, java, não.
São coisas distintas para finalidades distintas.
Python é fodástica, mas, quanto de aplicação efetiva essa porr@ tem? Qual a probabilidade de trocar-se java por python em todos os lugares e sistemas em que se usa java? Ou C# ou php ou o que vocês acharem melhor?
Conceitos e conceitos. Eu entendo linguagem, SO, IDE e etc como ferramentas. Apenas e tão somente isso. E nem tudo é parafuso, para eu só usar chave de fenda. Muitas vezes, um martelo resolve. E, noutras, só uma parafusadeira pneumática.
A resposta é simples: Praticando, exercitando.
Você já aprendeu lógica de programação e algoritmos?
É essencial aprender isso.
Olá, @staroski! Boa tarde. Então creio que aprendi lógica de programação e algoritmos, já cheguei fazer até 3 cursos a respeito pra ter um fundamental bacana, sabe, mas realmente é isso que me acontece me pego travado sempre ao começar desenvolver algo e acabo efetivamente não terminando, sinto dificuldade na parte de vetores e arrays, você me recomendaria em efetivo alguma lista de exercícios pra praticar e em especial algumas dicas da sua parte? Muito obrigado por disponibilizar seu tempo para responder minha dúvida forte abraço!
Amigo Roberto,
Veja:
1 - Alguns vão defender linguagens de programação A, B ou C como se estivesse defendendo a própria vida, uma linguagem de programação é apenas uma ferramenta, apenas isso! Provavelmente na sua vida de programador você vai ter que mudar varias vezes de linguagem a medida que o cenário for mudando. Escolha uma linguagem que lhe proporcione material, comunidade e cursos que lhe apoiem e você consiga atingir seus objetivos.
2 - Quando você fala que não sabe ainda como usar um List ou Array, ai sim me deixa um pouco preocupado, provavelmente você teve alguma lacuna na parte básica de algoritmos e orientação objetos, mas isso pode ser contornado antes de você prosseguir com seu projeto completo.
3 - Não se preocupe em saber tudo ao pé da letra, ninguém sabe tudo! Com a pratica você vai desenvolvendo.
Um passo muito importante você já deu que é: colocar a mão na massa, não esqueça disso! foque!
Boa tarde meu caro, @andrebmarinho. Muito obrigado desde já pelo seu tempo disposto. Referente a primeira situação que você me explicou, você consegue me passar uma visão referente a linguagem PHP se possui esses critérios que voce mencionou, como por exemplo:
Material, Comunidade e Cursos realmente eficazes para mim atingir meus objetivos?
Referente a segunda questão você acha que vale a pena tornar a fazer novamente um curso de algoritmos do 0, ou apenas buscar preencher essas lacunas que estão me prejudicando através de explicações específicas em cima desses dois assuntos?
E finalizando bom ouvir que não devo me preocupar em saber tudo ao pé da letras as vezes me cobro muito a respeito disso, pois fico me imaginando, por exemplo se eu começar nessa linguagem vai ter coisas que precisarei fazer, mas o que usar? Como usar, entende? Onde tem explicações detalhadas de como funciona por exemplo tal função, método que seja é o que me deixa travado, soa até absurdo, mas é a minha realidade hahaha. Irmão obrigado pelos seus esclarecimento e forte abraço!!! 
Quais são essas dificuldades?
@RobertCaetano Amigão, não esmoreça! Confesso que hoje sou programador Java porém, tive trauma dele por 15 anos apenas porque eu não entendia os seus conceitos e principalmente sua estrutura. E por conta disso, parti para o PHP já nos meados da versão 3 simplesmente porque era mais fácil e prático. Vamos lá! Seus problemas são os vetores e arrays… O que exatamente acontece? Ou não acontece, rs? Conta pra gente aqui… A comunidade tem pessoas ótimas que sempre estão dispostas a ajudar e espero poder te ajudar também!
- Já ouviu falar do canal CURSO EM VIDEO lá no YouTube?
- Procure também a LOIANE GRONER
(https://www.youtube.com/channel/UCqQn92noBhY9VKQy4xCHPsg)
Foi com ela que passei a entender tudo com mais clareza no Java. Espero que também te ajude!
Perfeito, man! Melhor sugestão de todas.
PHP, Java, Phyton etc… todas elas tem tudo isso que lhe falei, mas o que esta mais próximo de você? Só você tem a resposta.
Ela é tipo o “Mestre dos Magos” no Java … tenho acompanhado as viagens dela. Livros publicados e tals. Ela é muito fera!
porque eu tenho dificuldade em entender e desenvolver
Pela minha experiência com aprendizado, é muito importante o caminho que você está seguindo para aprender, e com caminho quero dizer livros, cursos, exercícios, pesquisas, experimentos no desenvolvimento de pequenos softwares, etc. Você precisa encontrar caminhos de aprendizado produtivos, que tragam um avanço no seu conhecimento de maneira suave, sem bloqueá-lo com coisas que ainda são muito difíceis para você (conteúdo muito avançado) e ao mesmo tempo sem desperdiçar o seu tempo e energia te ensinando o que você já sabe muito bem (conteúdo muito básico).
Por exemplo, se eu me deparar com um artigo do qual não estou entendendo quase nada, muitas vezes eu vou buscar outro conteúdo sobre o assunto, até encontrar um que eu entenda bem. Isso me permite avançar meu conhecimento de maneira mais suave sobre o assunto, e, depois de entender melhor o assunto, posso voltar a ler o artigo inicial e percebo que entendo-o muito melhor.
Mas conteúdos que “simplificam demais” conteúdos difíceis para facilitar o entendimento muitas vezes vão explicar superficialmente ou de forma incorreta os conceitos, porque a simplificação feita pode lhe fazer ter um entendimento equivocado por ela ter descartado coisas importantes. Mas ainda assim esses conteúdos funcionam bem para começar a aprender sobre o assunto, e o problema dos entendimentos equivocados é resolvido quando você consegue absorver os conteúdos mais avançados que vão te mostrar que as coisas não eram bem assim como você estava pensando.
Então quando eu quero aprender algo novo, em geral busco vídeos e tutoriais sobre o assunto, porque geralmente eles fornecem conhecimento básico sobre o assunto de forma bem fácil de absorver. Busco usá-los como uma introdução ao assunto. Se não entendo a maior parte do que está sendo ensinado, busco outro conteúdo sobre o assunto. Conforme avanço no entendimento do assunto, e vou conseguindo absorver os conteúdos mais avançados, percebo que os “conteúdos de iniciantes” estavam com certos equívocos (outras vezes até estavam certos, e eu que havia entendido errado mesmo).
Bons cursos e livros fornecem um estudo estruturado que cuida de te ensinar as coisas que você deve saber, deixando o seu aprendizado sem lacunas importantes. Não dominar bem vetores e listas é uma lacuna importante, esse tipo de estrutura de dados é usada o tempo todo. Conteúdos estruturados que vão do básico ao intermediário/avançado podem ser a forma mais suave e eficaz de aprendizado.
Outro ponto importante é aprender e entender cada assunto com a profundidade adequada, se você aprender apenas superficialmente cada coisa provavelmente não vai conseguir desenvolver um sistema, vai ficar bloqueado nas dificuldades e desafios que aparecerem porque você não entende bem o que programou até ali, entende apenas superficialmente o seu sistema. Mas se você tentar aprender cada coisa de forma muito profunda, vai gastar muito tempo em cada coisa e não vai aprender itens suficientes para desenvolver o sistema sozinho (embora você possa acabar se tornando um especialista naquilo que estudou a fundo, e colaborar em uma equipe para desenvolverem juntos um ótimo sistema).
No caso da programação web, recomendo começar com o HTML e depois o CSS, que estão nos fundamentos. Para aprender programação também há uma ordem de aprendizado importante, você começa com variáveis, tipos de variáveis (tipagem), estruturas de dados (o que inclui listas e vetores), e instruções simples como cálculos e instruções para mostrar coisas na tela/console e ler dados inseridos pelo usuário; depois aprende coisas como if/else, loops, funções, bibliotecas e documentação, etc. Conceitos O.O. como herança, polimorfismo, generics, etc. são mais avançados e é melhor deixá-los pra aprender depois; entretanto, no Java você pode se deparar com esses mecanismos mais complicados logo no começo, como em: List<Animal> animais = new ArrayList<>();, só aí já tem generics, polimorfismo, a chamada a um construtor, o conceito de classes e instanciação de objetos, interfaces, etc.
Resumindo, você não precisa desanimar por causa das dificuldades que está enfrentando, se você insistir em aprender um assunto ele irá ficando mais fácil e claro pra você com o passar do tempo. Não acho produtivo ficar insistindo em entender algo que está difícil de entender, se está tão difícil provavelmente você vai ter que aprender outras coisas antes, então deixe isso pra depois, e siga pelo caminho de estudo no qual você conseguir ver o seu melhor progresso em aprendizado e entendimento real de cada coisa.
Espero ter ajudado, fique com Deus.
Meu amigo é bem simples , Só vamos aprender praticando sempre , também comprei um curso JAVA completo , no início foi muito difícil , mais eu estudava todos os dias daí Você aprende , todas suas dificuldade vai passar. Valeu fica na paz .
Fala, @fabioklopes . Bacana sua história de determinação, irmão. Exato meus problemas são os próprios rsrs, mas como li em alguns posts por aqui no tópico vou buscar estudar eles em específico através da lógica de programação. Concordo 100% contigo a comunidade aqui tem pessoas sensacionais, incluindo você estou super feliz com as respostas de todos eu espero grandemente que além de me ajudar esse tópico, possa ajudar outros também que se encontram na mesma situação que eu. Criar esse tópico foi uma injeção de motivos para continuar e jamais desistir. Curso em vídeo muito bom mesmo já estudo por ele, mas esse canal ai Loiane vou dar uma olhada, obrigado pela recomendação e sua disponibilidade, forte abraço!!
Realmente, @EnaCabral tu tem toda razão irmão. Vou me espelhar nessa sua metodologia estudar todos os dias com afinco, obrigado pelo seu tempo fique em paz também, abraços!
Fala irmão, @Douglas-Silva. Cara sensacional seu esclarecimento, não sei como te agradecer tu precisa saber o quanto abriu minha mente essa sua experiência, sem dúvidas para ajudarmos o próximo não necessariamente precisa ser com algo monetário, cada um aqui disponibilizando o tempo para tentar me ajudar é a maior demonstração de compaixão que existe.
E você cara com essa baita explicação tentando ser o mais claro possível pra fazer com que eu entenda esse processo lento e doloroso que é o do aprendizado, sendo o mais minucioso possível, enfatizando as coisas importantes passando uns macetes bem legais que com certeza levarei em conta ja até anotei aqui pra mim poder levar no meu dia-dia compartilhar com amigos que tenha a mesma dificuldade.
Fico agradecido imensamente de coração, pelo seu tempo disponibilizado aqui sua paciência e generosidade, queria marcar todas respostas como solução da minha dúvida (problema por enquanto), pois todas realmente ideias e opiniões fantásticas o mundo precisa de mais pessoas como vocês, por isso peço que Deus abençoe você irmão pela sua contribuição maravilhosa para o meu crescimento profissional e pessoal, e também a todos os outros companheiros que aqui dedicaram o tempo de cada um. Forte abraço, precisar estarei aqui, sempre! 




Maninho, tive que colocar uma coisa na cabeça: “minha nossa, vou ter que aprender a engatinhar com 38 anos de idade? – SIM!”… Ou seja: eu já tinha a lógica da programação e eu sabia o que tinha que fazer. Mas me condicionei a entrar no curso autodidata como se eu NUNCA houvera falar em Java na vida. Graças a Deus, ela me deu luz no que precisava…
Conte comigo para o que precisar… Grande Abraço, sorte, sucesso e fique com Deus!