Olá monthiel. Seja bem vindo ao GUJ!
Antes de mais nada, devo fazer uma pequena correção. O Java - Como Programar não diz que todo código deve começar dessa forma, são assim apenas os pequenos programas do início do livro, que por serem simples, só requerem uma classe com o método main. Em geral, aplicativos Java são mais complexos, possuindo dezenas, centenas ou milhares de classes, mais obviamente não faria sentido começar com um programa assim, por isso o livro usa essa abordagem.
Em relação ao método mais famoso do Java, o método main, saiba que ele é o método que a JVM irá invocar toda vez que você utilizar o comando java NomeDaClasse na janela de comando. Ele é o ponto de entrada de um aplicativo Java, sendo que em programas mais simples ele contém todo o código, mas em geral, ele apenas cria os objetos que iniciaram a cadeia de eventos que faz o programa funcionar. Veja abaixo a explicação de cada parte do cabeçalho do método main:
public static void main(String[] args)
public: é um modificador de acesso, que diz, nesse caso, que o método, no caso o main, é público, ou seja, pode ser chamado dentro e fora da classe onde ele se encontra. Por uma exigência da especificação do Java, o método main deve ser público.
static: a palavra-chave static, neste caso, informa que não é preciso criar um objeto da classe onde o main está declarado para chamá-lo. Métodos marcados com esta palavra chave são chamados de métodos estáticos. É especialmente importante que o main seja um método estático, já que quando ele é chamado pela JVM não existe ainda nenhum objeto criado, portanto ele só pode ser chamado porque é um método estático.
void: especifica que o método não retornará valor algum após a sua execução. Só pra constar, existem métodos que retornam valores, como você verá no capítulo 3 do livro.
main: é o nome do método.
String[]: é o tipo de parâmetro do método, no caso um array de Strings.
args: é o nome do parâmetro do método.
Sendo assim, para que seu aplicativo Java seja executado, você deve ter uma classe que contenha um método main, sendo que este método deve ser declarado exatamento como acima, inclusive considerando as letras maiúsculas e minúsculas, exceto pelo parâmetro do método main, que embora seja frequentemente nomeado como args, pode possuir outro nome.
Bom, é isso. Espero ter respondido a sua dúvida, e caso tenha errado em alguma parte, alguém por favor me corrija.