Curso Completo de Java para Iniciantes

Se está aqui, fez uma sábia escolha e optou por estudar Java!

Caso seja totalmente novo na área de programação, indico a leitura da seção:
Comece a Programar.

Para saber melhor o que é, para que serve, onde é usado e outras informações:
clique aqui e saiba tudo sobre a linguagem Java.

No mais, aproveite o curso. É uma promissora linguagem.
Sabendo Java, oportunidades não faltam.

A equipe do portal Java Progressivo deseja que todos tenham bons estudos e se disponibiliza para tirar dúvidas através do fórum.

Curso de Java online grátis com certificado


O básico da linguagem Java

    02. Criando o primeiro programa em Java
          2.1 Código comentado do primeiro exercício - o que são Classes e Métodos
    03. Saídas Simples usando print, println e printf
          3.1 10 exercícios sobre saídas simples
    04. Comentando e usando Delimitadores de comentários
    05. Tipos numéricos: byte, short, int, long, float e double
    06. Recebendo dados do usuário: a classe Scanner
          Vídeo-aula: A classe Scanner
    07. Operações Matemática: Adição, Subtração, Multiplicação, Divisão, Resto da Divisão (módulo) e Precedência dos operadores matemáticos
          Vìdeo-aula: Operadores matemáticos e suas procedências
    08. Comparações: os operadores maior (>), menor (<), maior igual (>=), menor igual (<=), igual (==) e diferente (!=)
    09. O tipo char: armazenando e representando caracteres
    10. O tipo boolean: a base da lógica na computação
    11. Operadores lógicos e de negação: && (E ou AND), || (OU ou OR) e o ! (negação)


    Estruturas de Controle/Controle de Fluxo e Laços

      03. Operadores de Incremento (++) e Decremento (--)
      04. Operadores de Atribuição: +=, -=, *=, /= e %=
      05. Operadores de atribuição e de incremento e decremento - diferenças entre a=++b e a=b++
      06. O laço while: o que é, como usar e calculando PA e PG com while
            6.1 Questões usando o laço while
      07. Loop infinito, controlando laços e loopings com o while
      08. Laço for: tendo um maior controle sobre as repetições
            8.1 Questões usando o laço for
      09. O laço do ... while: O laço que sempre acontece...pelo menos uma vez
      10. Os comandos break e continue: interrompendo e alterando fluxos e loopings
      11. O comando switch: fazendo escolhas em Java
      12. Exercícios envolvendo laços
      Apostila Caelum resolvida: Capítulo 3, Variáveis, Tipos Primitivos e Controle de Fluxo


      Orientação a Objetos, parte I: Criando e declarando classes - Construtores

      00. Introdução: o que são, para que servem, como e onde usar as Classes e Objetos em Java
            Vídeo-aula: Orientação a Objetos
      01. Como criar uma Classe e declarar Objetos
      02. Acessando e modificando variáveis de Classes e Objetos
      03. Construtores: o que são, para que servem e como usar
            Vídeo-aula: Construtores



      Métodos

      02. Parâmetros e Argumentos: passando informações para os métodos
      03. A Classe Math: constantes, principais métodos e chamando métodos de outras classes
      04. Sobrecarga de métodos (method overloading): declarando métodos com o mesmo nome
      05. Passando uma lista de argumentos, de tamanho qualquer, para um método
      06. Exercícios: treine com questões envolvendo métodos e tudo o que aprendeu até aqui
      Jogo: Adivinhe o número que o computador sorteou [modo texto]


      Orientação a Objetos, parte II: Os métodos set e get - Composição - Enum

      00. Auto-referência com o this: Invocando métodos de Classes e Objetos
      01. set e get: o que são e como usar esses métodos de forma correta
            1.1 Aplicativo: Conta bancária/ Caixa eletrônico em Java
      02. Composição: trocando informações entre Objetos
            Vídeo-aula: Composição e Relação tem-um
      03. Use constantes, e não números - declarando variáveis com o final
      04. enum: A melhor maneira para manusear constantes
      05. static: Usando membros estáticos
      Apostila Caelum Resolvida: Capítulo 4 - Orientação a objetos básica
      Apostila Caelum Resolvida: Capítulo 6 - Modificadores de acesso e atributos de classe
      Jogo: Campo Minado em Java
                Código comentado sobre como fazer o jogo Campo Minado em Java


      Programação Gráfica em Java, parte I: Caixas de Diálogo

      03. Como passar variáveis do tipo String para int, float e double
            3.1 Aplicativo: calcula as raízes de uma equação do segundo grau
      04. Construindo (build) seu projeto Java no NetBeans


      Estrutura de Dados, parte I: Array e ArrayList

      00. Introdução ao estudo de estrutura de dados em Java: Array, ArrayList, Listas, Filas e Pilhas
      01. Arrays (ou vetores): como declarar, usar e acessar seus elementos
            Vídeo-aula: Arrays
      02. Foreach: O laço for para Arrays
      03. Array multidimensional ou Matriz: um Array de arrays
            Vídeo-aula: Matrizes ou Arrays Multidimensionais
      04. Arrays em métodos: passagem por valor e passagem por referência
      05. Classe Arrays (Arrays Class): aprenda a manusear (copiar, ordenar, buscar e manipular) Arrays
      06. ArrayList: para que serve e como usar os principais métodos da ArrayList em Java
            Vídeo-aula: Como usar ArrayList
      Apostila Caelum resolvida: Capítulo 5 - Um pouco de Arrays

      Jogo usando if else, métodos, arrays, arrays multidimensionais e laços.
      Jogo: Batalha Naval em Java [modo texto - humano x computador]


      Orientação a Objetos, parte III: Herança e Polimorfismo

      00. Herança: o que é, para que serve, exemplos de uso e quando usar
      01. Herança de Construtores e @Override
           1.1 Herança ou Composição: qual usar? qual é o melhor? onde se usa cada um deles?
           1.2 Interface em Java - O que é, para que serve, como funciona e como usar
           1.3 Como comparar objetos - A classe abstrata Comparable e o método compareTo()
            Vídeo-aula: Herança (extends) e Construtores (super)
      02. public, private e protected: Protegendo suas informações em Java
      03. A classe Object: o que é, uso e principais métodos
      04. Polimorfismo: o que é, pra que serve, como e onde usar
      05. Polimorfismo: Classes abstratas e Métodos abstratos em Java
            Vídeo-aula: Polimorfismo e Classes Abstratas
            Exemplos: Importância do Polimorfismo e Abstração em softwares
      06. Manipulando polimorficamente subclasses
            Dica: Descobrindo a classe de um Objeto
      Apostila Caelum resolvida: Capítulo 7 - Herança, reescrita (override) e Polimorfismo

      Jogo: Jogo da Velha em Java (Humano x Humano)
                Código comentando sobre como fazer um Jogo da Velha em Java




      Adivinhe o que número que o computador sorteou, modo gráfico.
      Jogo: Fazendo um jogo para aprender GUI, Handlers, Events e Listeners



      Arquivos (Files): Escrevendo (writing) , lendo (reading) , anexando (appending) e manipulando


      01. Arquivos (Files) - O que são, para que servem e o que é possível fazer
      02. Entrada, Saída e Tipos de Dados - Fluxo (stream) e o Pacote Java.io
      03. Como ler caracteres, Strings e Bytes de um arquivo
      04. Class File ( a classe File ) - Obtendo informações de arquivos e diretórios
      05. Class Formatter ( a classe Formatter ) - Escrevendo em arquivos
      06. Class Scanner ( a classe Scanner) - Lendo e Recebendo dados de arquivos


        
                     Símbolo do Java
                                                             
                                                                            Ilha de Java

       
                                                                                                                              Programador Java

      70 comentários:

      Enzo Júnior disse...

      A maior coletânea de artigos e tutoriais sobre Java da internet inteira!

      Deixa muito livro e curso particular no CHINELO!

      Anônimo disse...

      Incrível! Material simplesmente fantástico pra quem está começando a estudar Java. Já pesquisei em vários sites e nenhum conseguia esclarecer o significado de métodos, classes, objetos etc. Este foi o primeiro que esclareceu tudo! Parabéns!

      Anônimo disse...

      Muito bom, da pra aprender muito !!!

      William Macedo disse...

      Muito bom, depois de um bom tempo, estou conseguindo aprender alguma coisa sobre Java com este curso!!!

      Malfatti Filho disse...

      Muito bom , excelente .
      Acho que seu metodo é o + eficiente
      para o aprendizado

      Parabens

      Rafa lokaum disse...

      Muito bom.. parabéns.. fiz o curso completo de Programação JAVA na IMPACTA e não aprendi metade do que aprendi aqui...

      Apostila de Java Completa Java Progressivo disse...

      A equipe agradece seu elogio Rafa!

      Nosso objetivo é esse, fornece uma apostila que não deixe a desejar em nada aos materiais pagos!

      Se tiver alguma sugestão para deixar nosso portal mais completo, algo que tinha no Curso que você não viu aqui, não deixe de contribuir.

      Chrystian F. disse...

      Olá!

      Estou começando a ler esse material e fiquei surpreso pela forma de abordagem e detalhamento do assunto sobre programação Java! Como comentado, não vi nada parecido na net sobre programar em Java até agora.

      Parabéns!! Ficou show esse curso on-line que você fez(ou está fazendo). Já está adicionado nos meus favoritos! ^^

      Matheus Prado disse...

      Cara muito bom! curso excelente, estou no 3 ano de ciência da computação, e só agora com este curso que estou pegando a maneir de programar do Java mesmo!!! muito melhor que meu professor

      Joelss disse...

      Retificando os comentários: ótimo tutorial sobre Java. Já baixei vários livros e apostilas da net, mas esse conteúdo disponível nesse site é um dos melhores que já encontrei. Gosto daquela coleção "Use a cabeça", mas eles perdem muito tempo dando explicações, e você vai direto ao ponto. Meus parabéns.

      E a minha sugestão é: poderia haver mais exemplos e exercícios, ou então algum material com exercícios ou indicações de sites onde pudéssemos encontrar atividades para podermos praticar o aprendizado.

      No mais, continue assim....

      Java disse...

      Olá Joelss,

      Obrigado pelos elogios e principalmente pela sugestão.

      Também concordamos com isso, e por isso fomos atrás, e conseguimos, autorização para usar o material da apostila de Java da Caelum.

      Lá tem bastante exercícios, e o Java Progressivo está resolvendo e comentando seu material.
      Pois usar o maior número de material possíveis é o ideal para quem quer aprender a programar.

      Anônimo disse...

      Ola, acompanho as aulas ha um bom tempo, ja divulguei muito o trabalho de voces, pois foi uma forma de agradecer pelo aprendizado que adquiri, parabens !!!
      peco encarecidamente que adicionem um capitulo de conexao de banco de dados, forte abraco
      sucesso ;)

      Anônimo disse...

      Estes tutoriais é o melhor curso de Java que encontrei na net,boas explicações de um jeito que todos entendem.Meus parabêns...

      Anônimo disse...

      Parabéns ao autor pelo seu esforço em divulgar esse trabalho importante, pois, o conhecimento é aberto a todos!

      Carlos Henrique

      Anônimo disse...

      Como é bom saber que existem pessoas com disposição de ajudar.

      Muito Obrigado!

      kaue disse...

      muito obrigado, esses tutoriais me ajudaram muito, eu tinha interesse em fazer jogos, ai fui procurar algum tutorial, mas todos eram muito complicados, ai achei o java progressivo, o melhor site de java que encontrei e que provavelmente encontrarei na minha vida!!!

      Fabiana disse...

      Nossa muito boa sua iniciativa de deixar este curso e de forma muito agradável! Estou muito empolgada para aprender!! Abraços!

      Anônimo disse...

      Cara! Fazer cursos On Line ou à distância é muito chato (minha opinião), mas vocês conseguiram deixar o curso on line bem agradável com a linguagem usada. Acertaram na mosca o método. PARABÉNS!!!

      Apostila Java Progressivo disse...

      Olá Anônimo,

      Eu concordo com você, na minha opinião não é o ideal, perfeito mesmo.

      Sempre aconselhamos que façam faculdade, cursos presenciais, comprem livros etc. Mas infelizmente nem todo mundo pode passar ou pagar uma faculdade/curso.

      Também há aqueles que podem, mas nem tem cursos em sua cidade, ou ainda são adolescentes ou só estudam por hobby, nas horas vagas.

      Então estamos tentando deixar um material bem completo, com artigos, exercícios, jogos, vídeo-aulas, indicação de livros e tudo mais. Garantimos que se estudarem tudo, com disciplina e dedicação, não ficarão devendo em nada a quem faz faculdades e cursos presenciais.

      Mas óbvio, se puder fazer faculdade/curso, recomendamos totalmente :)

      Euclides Manuel disse...

      Eu já estava cursando faz tempo, mas voltei e é pra ficar vou começar hoje e agora mesmo adoro Java e quero desenvolver jogos.
      Apostila completa, belo site e boas explicações parabéns

      Anônimo disse...

      Parabéns a equipe. Me senti muito seguro em acompanhar os estudos com vocês. Já add nos favoritos e irei me "formar" por aqui tbm. Cursando técnico Informática no Senai.

      Tiago Andrade disse...

      Amigo voce e genial eu estou num curso de informatica e estive um mes a estudar java nas aulas nao entende nada so alguma coisa que ja vinha do c na noite antes do teste eu pesquisei na net vi seu site e ainda agora estou estutando muito obrigado mesmo amigo(acho que e aprimeira vez que comento o que quer que seja)

      Anônimo disse...

      Olá, primeiramente gostaria de dizer que esse site é muito bom mesmo, vcs estão de parabéns.
      Também gostaria de saber se é possível vcs deixarem a resolução de alguns exercícios,
      pois estou tendo dificuldade em alguns deles e não foi por falta de tentar que não consegui.
      Só gostaria de saber em que estou errando. Os exercícios em questão são os de nº 4,7 e 8 das Questões usando o laço While

      Apostila Java Progressivo disse...

      Olá Anônimo,

      Enquanto não transcrevemos nossa solução desses exercícios aqui pro nosso curso de Java, você poderá acessar as soluções destes exercícios feitos na linguagem C, pelo site C Progressivo.

      Está em C, mas o texto explicando serve para a lógica de Java, e o código é parecido também:

      Questões resolvidas sobre o laço WHILE em C

      Qualquer dúvida, é só perguntar.

      Anônimo disse...

      Valeu, muito obrigado pela atenção de vcs. Mesmo sendo em C deu pra entender e eu consegui resolver os exercícios.
      Apenas no exercício(8) o quadrado saiu assim:
      Fazendo lado 7.
      *******
      *nada*
      *nada*
      *nada*
      *nada*
      *nada*
      *******

      Os (*) da última coluna ficaram afastados um espaço a mais.

      mapbuy disse...

      Olá.

      Meu intuito futuro é integrar um site em Java com um banco de dados desenvolvido em SQL.

      O problema é que também não sei programar em SQL. Vocês teriam algum site ou tutorial de SQL para indicar?

      No índice, não encontrei um título que link SQL com Java. Vou aprender isto ao longo do curso aqui no site? Ou fica para estudos posteriores?

      Muito grato pelo curso e pelas informações. Parabéns pelo trabalho!

      Apostila Java Progressivo disse...

      Olá mapbuy,

      Nós realmente ainda não temos nada com banco de dados, mas certamente é uma seção que iremos trabalhar no futuro, só não podemos te dar uma previsão (não este ano), já que é um assunto um pouco mais avançado e ainda faltam outros tópicos a serem abordados.

      Também pretendemos criar um site totalmente voltado para banco de dados.

      Se quiser realmente aprender logo, recomendo o Livro Java - Como Programar, Deitel . Clique no link e veja os sumário que tem no livro, estudei por ele a parte de BD e é muito bom.

      Abraço.

      JMota disse...

      Ola,
      Em primeir lugar gostaria muito de agradecer esse exelente modo para estudar, muito bom tao de parabens e continuem assim.
      e "mais uma coisa" (Como disia steve jobs) kkk
      nao sei se posso dizer aqui,
      no youtube tem uma coleçao de video aulas sobre java (procure por) Universidade XTI.

      eu mesmo fasso o curso aqui, ascisto as video aulas la e leio varios livros.

      Obrigado e fica ai a dica tb

      Alexandre Braz disse...

      E a parte de ligação com banco de dados?

      Estou cursando Técnico de Informática, e o projeto do meu Tcc é criar um cadastro de aulos em uma academia... Estou curioso em saber como que ligo o programa JAVA com o SQL.

      Obrigado.

      Apostila Java Progressivo disse...

      Olá Alexandre,

      Pretendemos falar sobre Banco de Dados futuramente, mas ainda não temos uma previsão certa e há outros conteúdos para serem explanados antes.

      Recomendamos o livro Java, como programar - Deitel, lá você pode achar bastante informação sobre Java e SQL

      Anônimo disse...

      Boa tarde, sou aluna de sistemas de informação e não estou conseguindo aprender if e else, você poderia dar algumas dicas?

      Anônimo disse...

      Ola de novo.
      Gostaria de fazer um pedido, nao sei se eh possivel.
      mas se voces tiverem algumas dicas ja fico agradecido, oks

      Gostaria de algos sobre a Lingagem Lua?

      Thiago Arantes disse...

      Olha isso que vocês fizeram lugar nenhum na internet tem pelo menos de graça eu ainda não vi. Queria agradecer muito pelo excelente trabalho de vocês. Obrigado.

      Anônimo disse...

      Por que eu não consigo calcular com
      números decimais mesmo usando o float
      ou double?

      Apostila Java Progressivo disse...

      Olá anônimo,

      Como assim não consegue calcular?
      Que problema/erro aparece?

      Dependendo de sua versão do Java, deve usar ponto: 21.12
      Ou vírgula: 21,12

      Apostila Java Progressivo disse...

      Olá anônimo,

      Como assim não consegue calcular?
      Que problema/erro aparece?

      Dependendo de sua versão do Java, deve usar ponto: 21.12
      Ou vírgula: 21,12

      Anônimo disse...

      Muito obrigado por responder assim
      tão depressa. Eu estava usando o
      ponto, então testei com vírgula e
      deu certo. Eu acho que a versão que
      tenho é a jdk1.7.0_21.

      Apostila Java Progressivo disse...

      O ponto é usado em países como Estados Unidos.

      Lá o preço não é: 1, 99 como aqui, é "1.99", com ponto mesmo.
      Como o Java é feito lá, esse é o padrão.

      Porém, eles começaram a traduzir e adaptar o Java para outros países, como aqui no Brasil, que usamos a vírgula mesmo.

      Isso é um pouco confuso mesmo e acaba atrapalhando muita gente. Em C, sempre se usa o ponto para cálculos decimais.

      Qualquer dúvida, não hesite em perguntar.

      Anônimo disse...

      Boa Tarde!!

      Fiz essa condicional:

      if ((nota < 0) && (nota > 10)) {
      System.out.println("Nota informada inválida!!");

      else...

      Por que quando eu digito -1 ou 11

      Ele passa para proxima condicional

      if (nota > 7) { System.out.println("Parabéns!!! Você foi aprovado!!!");
      } else

      E não pára na primeira, como em pascal?

      Apostila Java Progressivo disse...

      Anônimo,

      if( (nota<0) && (nota>10) )


      Essa condicional quer dizer "Se nota for menor que zero E maior que dez"...
      mas é impossível um número ser menor que zero E TAMBÉM maior que dez, por isso esse condicional nunca vai ser executado.

      Se quer verificar que a nota é válida, faça:
      (nota>0) && (nota<10)
      Que quer dizer:"O número é maior que 0 E TAMBÉM é menor que 10". Aí ok.

      Se quer saber se é inválido, faça:
      (nota<0) || (nota>10)

      Que quer dizer: "O número é menor que 0 OU é maior que 10".

      Anônimo disse...

      if (a == 0) {
      System.out.println("Coeficiente 'a' inválido, aplicativo será"
      + "encerrado!!");
      } else {
      delta = (b*b) - (4*a*c);
      sqrtdelta = (float)Math.sqrt(delta);

      //Tratando quando delta for maior que zero
      } if (delta >= 0) {
      raiz1 = ((-1)*b + sqrtdelta) / (2*a);
      raiz2 = ((-1)*b - sqrtdelta) / (2*a);
      System.out.printf("As raízes: %.2f e %.2f",raiz1,raiz2);
      } else {

      //Trantando se delta for menor que zero
      delta = -delta;
      sqrtdelta = (float)Math.sqrt(delta);
      System.out.printf("Raíz 1: %.2f + i.%.2f\n", (-b) / (2*a),
      (sqrtdelta) / (2*a));
      System.out.printf("Raíz 2: %.2f + i.%.2f\n", (-b) / (2*a),
      (sqrtdelta) / (2*a));

      Esse trecho do meu código está indicando erro, não sei por que.

      Zircnambi disse...

      Gostava de agradecer à Equipa do Java Progressivo por este tutorial/curso.

      Já tinha programado em C# mas queria passar para uma linguagem que multi-plataforma (neste caso o Java), assim não fico preso ao windows.

      Claro que tenho uma maior facilidade de aprendizagem no Java pois já sei o básico de programação e OOP.

      Mas este curso do Java Progressivo é de longe o melhor que encontrei. Mais uma vez OBRIGADO pela disponibilidade.

      Wilson Junior disse...

      muito legual esse curso, podia ter tbm
      um Pythonprogressivo,
      mas ta bom msm o java!

      Anônimo disse...

      Não consigo exibir uma string usando a classe Scanner.
      eu até usei o mesmo código de exemplo deste curso,
      mas mesmo assim não deu certo.
      Somente pede pra eu digitar a mensagem e continua rodando sem parar.
      Alguém pode me ajudar, por favor.
      é o segundo exemplo deste link:
      http://www.javaprogressivo.net/2012/09/exibindo-mensagens-atraves-das-caixas.html

      Anônimo disse...

      Olá meu nome é Carla e estou aprendendo muito com esse curso. Vocês são demais.
      Gostaria porém de fazer uma pergunta. É que não estou conseguindo
      gerar um programa executável. Eu já cliquei na figura da 'vassoura' com 'martelo mas o programa não abre nem
      da mensagem de erro, nada. Podem me ajudar por favor.

      Anônimo disse...

      Eu tenho um vasto conhecimento em PHP, e nunca me interessei por nenhuma linguagem, até semana passada onde perdi uma excelente vaga de emprego por não saber Java, dei uma olhada nesse site com relutância e agora soh penso em usar java em tudo muito obrigado pelo excelente conteúdo. Estão de parabéns.

      Anônimo disse...

      Oi Carla, se você tá trabalhando com aplicação em linha de comando o NetBeans mostra como você pode rodar seu programa nas últimas linhas da janela de saída. É algo como:
      To run this application from the command line without Ant, try:
      java -jar "C:\caminho do programa\nomeDoPrograma.jar". Se você copiar esse comando - java -jar "C:\caminho do programa\nomeDoPrograma.jar" - e colar num terminal de linha de comando você verá o resultado do seu trabalho.

      Anônimo disse...

      Evisclei
      O a todos.

      Bom, no terceiro exercício de problemas com laços é pedido que usemos laços, if, switch. Mas seguindo o conselho de sempre primar pela eficiência e crias soluções com o menor código possível resolvi assim a questão:

      //3. Crie um aplicativo bancário em Java que pede
      //o valor do depósito inicial, o valor do
      //investimento mensal e o número de meses que o
      //dinheiro vai ficar rendendo na poupança.
      //Após isso, calcule o lucro obtido, sabendo que o
      //juros da poupança é de 0,5%.

      double m, e, i, c;
      int n;
      Scanner entrada = new Scanner(System.in);
      System.out.print("Informe o depósito inicial: ");
      e = entrada.nextDouble();
      System.out.print("Informe o valor do investimento mensal: ");
      c = entrada.nextDouble();
      System.out.print("Informe o período em meses: ");
      n = entrada.nextInt();
      i = 0.005;

      m = e*Math.pow(1 + i,n) + c*(1 + i)*(Math.pow(1+i, n-1) - 1)/i;

      System.out.printf("O valor ao final do període é de: %s\n", m);

      tiago souza disse...

      Gostaria de saber se ao termino do curso tem o certificado se tiver vo começar a faser parece ser otimo

      Tutorial Java Progressivo disse...

      Olá Tiago,

      Lá em cima no site, no menu da direita, tem uma imagem bem grande com o nome 'certificado', clique lá para obter mais informações sobre como ter um certificado em Java

      Karine Rodrigues disse...

      System.out.print("\t X \n");
      System.out.print("\t XXX \n");
      System.out.print("\t XXXXX \n");
      System.out.print("\t XXXXXXX \n");
      System.out.print("\t XXXXXXXXX \n");
      System.out.print("\t XXXXXXXXXXX \n");
      System.out.print("\t XXXXXXXXXXXXX \n");
      System.out.print("\t XXXXXXXXXXXXXXX \n");
      System.out.print("\t XX \n");
      System.out.print("\t XX \n");
      System.out.print("\t XXXX \n\n\n");

      System.out.println("\t XXXXX");
      System.out.println("\t X X");
      System.out.println("\t X X");
      System.out.println("\t X X ");
      System.out.println("\t XXXXX");

      Anônimo disse...

      Não estou entendendo a primeira aula de Java
      Quero saber que lugar que digito o programinha que voces passam?
      public class Primeiro {
      public static void main(String[] args) {
      System.out.println("Meu primeiro programa em Java!");
      }
      }
      se escrevo depois daquelas letras todas ou não, porque ja tentei em de tudo e so da erro
      Desde já agradeço pela ajuda
      Alex

      Gustavo disse...

      Oi, gostei muito do curso de java, mas eu pretendo trabalhar com a criação de games 2d e 3d e todos dizem que a melhor linguagem pra isso é c++, vocês podem indicar um livro ou site que ensine?
      Obrigado desde já, e parabéns pelo ótimo material dos cursos.

      Apostila Java Progressivo disse...

      Olá Gustavo, a equipe agradece os elogios.

      O melhor livro, em nossa opinião, é o "C++ Como Programar", da Deitel, veja ele: http://oferta.vc/1qZ_

      É uma verdadeira bíblia sobre C++, bem completo mesmo, muito texto, código, exercícios, programas, exemplos etc.

      Em nosso site base, o Programação Progressiva, já falamos sobre C++:
      A linguagem C++

      Também fizemos uma entrevista com um profissional da área de desenvolvimento de jogos:
      Programação de Jogos

      Abraço

      Gustavo Santos disse...

      Oi, aqui é o Gustavo de novo, obrigado pela informação, é bem difícil achar sites como o seu em português pela net.
      Boa Noite
      =D

      Anônimo disse...

      No exercicio de saida simples pode ser assim
      System.out.print("XXXXXXX\n"
      + "X X\n"
      + "X X\n"
      + "X X\n"
      + "XXXXXXX\n\n");

      Anônimo disse...

      primeiramente eu gostaria de parabenizar esse site, seu conteudo é ótimo e realmente era o que eu estava procurando.....
      Eu gostaria de dar a sugestão de voce(s) postarem mais exercicios especificos a cada aula, seria mais interessante, pode ser que ja tenha e eu não vi......valeu obrigado

      kim Ruffer disse...

      Show de bola. Tirei várias notas boas na faculdade graças a esse site. parabéns, vocês são d+!!!!

      só falta a parte web!!!

      ATC INFORMÁTICA disse...

      Ola! Parabéns pelo site.
      Sobre o exercício 7 as Questões usando o laço While, resolvi deixar como consegui resolver:

      Scanner entrada = new Scanner(System.in);
      int num, cont=1, cont2=1;

      System.out.print("Digite o tamanho do Quadrado [1-20]: ");
      num=entrada.nextInt();

      if ((num<=20)&&(num>=1)){ //verifica se o num recebe entre 1 e 20
      while(cont <= num){ //laço que controla a quantidade de linhas
      while (cont2<=num){ //laço que escreve os * por linha
      System.out.print("*");
      if (cont2==num){ //if pula linha
      System.out.println();
      }
      cont2++; //contador 2 que controla a quantidade de * por linha
      }
      cont2=1; //contador 2 retorna ao valor inicial
      cont++; //contador que controla o primeiro laço
      }
      }
      else{ //caso o tamanho não seja entre 1 e 20
      System.out.println("Número inválido.");
      }

      ATC INFORMÁTICA disse...

      Olá! Gostaria de deixar a resolução do exercício 8 das Questões usando o laço while:

      Scanner entrada = new Scanner(System.in);
      int num, cont=1, cont2=1;

      System.out.print("Digite o tamanho do Quadrado: ");
      num = entrada.nextInt();

      if ((num >=1)&&(num <=20)){ //verifica se num recebe o valor entre 1 e 20
      while (cont <= num){ //1º laço - controla a quantidade de linhas
      while (cont2<=num){ //2º laço - laço que escreve o quadrado
      if ((cont==1)||(cont==num)){ //escreve a primeira e a ultima linha
      System.out.print("*");
      if (cont2==num){ //if pula linha ao final da linha
      System.out.println();
      }
      cont2++; //contador do 2º laço
      }
      else{ //escreve as laterais do quadrado
      if ((cont2==1)||(cont2==num)){ //escreve as laterais do quadrado com *
      System.out.print("*");
      if (cont2==num){ //pula linha ao final da linha
      System.out.println();
      }
      }
      else{ //preenche o quadrado com " " (espaços)
      System.out.print(" ");
      }
      cont2++; //Contador do 2º laço
      }
      }
      cont2=1; //reseta o contador do 2º laço
      cont++; //contador do 1º laço
      }
      }
      else{ //caso o num receba um numero invalido
      System.out.println("Numero invalido.");
      }

      Abraços!!

      Lucas disse...

      Curso excelente!!! Sou aluno da Universidade Federal de Uberlândia e recomendei a todos que pude o material. Parabéns à equipe Java Progressivo!!!

      Silvio- disse...

      Estou estudando Java Progressivo e pelo que já estudei até agora aprendi muita coisa.

      Muito obrigado mesmo pelo trabalho de vocês!

      Louco Pensador disse...

      Não consegui entender o que significa o "i.%.2f" mais especificadamente não entendi a função do i no exercício de criação de programa para resolver as raízes de uma equação do segundo grau

      MrBodeze disse...

      package media.pkgfinal.pkg2;

      import java.util.Scanner;

      public class MediaFinal2 {



      public static void main(String[] args) {
      Scanner entrada = new Scanner(System.in);
      int num1;

      System.out.printf("Digite sua nota final ");
      num1 = entrada.nextInt();

      if (num1 >= 70){
      System.out.println("Parabens, você foi aprovado(a) com " + num1 + " Pontos!\n");
      }
      if (num1 < 70 && num1>=50){
      System.out.println("Você tirou " + num1 + " pontos e está de recuperação!\n");
      }
      if (num1 < 50){
      System.out.println("Sinto muito, você tirou apenas " + num1 + " pontos e está reprovado(a)!\n");
      }

      }

      }

      Primeiro programa q posto!

      anônimo disse...

      agora que terminei o seu conteúdo, pode me dar uma dica do que estudar?

      Anônimo disse...

      Programa que calcula o IMC:

      import javax.swing.JOptionPane;
      /**Programa que calcula o IMC
      *@author Leo Lima
      */
      public class IMC {
      public static void main (String[]args) {

      String peso = JOptionPane.showInputDialog("Qual o seu peso em quilogramas? ");
      String altura = JOptionPane.showInputDialog("Qual a sua altura em metros? ");

      double pesoEmQuilogramas = Double.parseDouble(peso);
      double alturaEmMetros = Double.parseDouble(altura);
      double imc = pesoEmQuilogramas/(alturaEmMetros*alturaEmMetros);
      System.out.println("IMC = " + imc);

      String msg = ((imc<=25)&&(imc>=20)) ? "peso ideal" : "fora do peso ideal";
      msg = "IMC = "+ imc + "\n" + msg;

      JOptionPane.showMessageDialog(null, msg);


      }

      }

      Anônimo disse...

      resolução do problema da aula
      Como usar IF e ELSE: Testando e Escolhendo o que executar

      import java.util.Scanner;
      public class AprovadoOuNao {
      public static void main(String[] args) {
      Scanner entrada=new Scanner(System.in);
      int notaa;

      System.out.println("Qual foi a sua nota?");
      notaa = entrada.nextInt();

      if (notaa >=7){
      System.out.println("Parabens voce foi aprovado");
      }
      if ((notaa>=5)&&(notaa <=6)){
      System.out.println("Voce nao foi aprovado, porem tem direito a fazer uma prova de recuperacao");
      }
      if (notaa<5){
      System.out.println("Voce nao foi aprovado e nao tem direito a fazer recuperacao");
      }

      }


      }

      Fernanda Fernandes Borges disse...

      Parabéns!
      Vcs explicam muito bem!

      Vou fazer todos os cursos do progressivo.

      Começei o C e o Java e Pretendo fazer o Assembla ótimo mesmo.

      Gostaria de passar uma sugestão (Vcs podem fazer um curso de diagramas uml,
      ou algo relacionado com Engenharia de Software, pois não encontrei cursos grátis online nessa área).Valeu!

      O curso de vcs é o melhor que já vi.
      E olha que já fiz vários cursos, tanto online como presenciais.



      romulo teixeira disse...

      Muito bom, finalizei o curso. Minha intenção é aprender android, mas precisava de uma introdução java esmiuçada que nem essa. Agora será mais tranquila a aprendizagem, obrigado!

      Maycon Rodrigues disse...

      Comecei esse curso neste site e achei muito legal. Parabens!

      Dicas e Novidades de Java por e-mail

      Sabe quanto custa um bom livro de java?
      Entre R$ 100,00 e R$300,00

      Sabe quanto custa um bom curso presencial de Java?
      Entre R$ 1.500,00 até R$ 4.000,00

      Sabe quanto custa estudar pelo Java Progressivo?
      Absolutamente nada.

      Porém, também precisamos de sua ajuda e apoio.
      Para isso, basta curtir nossa Fan Page e clicar no botão G+ do Google.