Porém, existem outras linguagens de programação que também são extremamente interessantes e importantes, como a linguagem Java, cuja maior característica é ser multiplataforma, ou seja, os programas feitos em Java rodam no Windows, Linux, Mac e até em mobile.
Afinal, quem nunca baixou aquilo jogo .jar para o celular?
Pois bem, o site Programação Progressiva, que é o site base do C Progressivo, também oferta de modo totalmente gratuito e online um curso de Java, o Java Progressivo: www.javaprogressivo.net
Para saber melhor o que é, para que serve, onde é usado e outras informações sobre Java, clique aqui.
Básico
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ção2.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
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
1.1 Programa: Diz se você passou direto, ficou de recuperação ou foi reprovado
1.2 Programa: determina as raízes de uma equação do segundo grau, até as complexas
02. Questões sobre if else
03. Operadores de Incremento (++) e Decremento (--)1.2 Programa: determina as raízes de uma equação do segundo grau, até as complexas
02. Questões sobre if else
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 JavaVí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
00. Introdução: o que são, para que servem, como e quando usar os methods
0.1 Aplicativo: menu simples usando métodos, laços e o comando switch
01. O comando return: obtendo informações dos métodos
0.1 Aplicativo: menu simples usando métodos, laços e o comando switch
01. O comando return: obtendo informações dos 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]
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
Jogo: Campo Minado em Java
Código comentado sobre como fazer o jogo Campo Minado em Java
3.1 Aplicativo: calcula as raízes de uma equação do segundo grau
04. Construindo (build) seu projeto Java no NetBeans
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]
01. Herança de Construtores e @Override
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
Jogo: Jogo da Velha em Java (Humano x Humano)
Código comentando sobre como fazer um Jogo da Velha em Java
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 Objetos01. 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
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 double3.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 Pilhas01. 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 usar01. Herança de Construtores e @Override
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
Jogo: Jogo da Velha em Java (Humano x Humano)
Código comentando sobre como fazer um Jogo da Velha em Java
Strings e Caracteres: Escrevendo em Java
02. A Classe StringBuilder
03. A Classe Character
04. Regex: Usando as Expressões Regulares em Java
Programação Gráfica em Java, pt II: desenhos, fontes e figuras geométricas em 2D
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. Introdução02. Class File ( a classe File ) - Obtendo informações de arquivos e diretórios
03. Class Formatter ( a classe Formatter ) - Escrevendo em arquivos
04. Class Scanner ( a classe Scanner) - Lendo e Recebendo dados de arquivos