Pois bem, apos conseguirmos fazer nosso primeiro programa em JAVA, podemos comecar a saber direitinho o conceito dos termos de entrada e saida desta linguagem de programacao. Para podermos desfrutar dos comandos de saida desta linguagem nao precisaremos usar o comando import, pois os comandos necessarios para saida ja estao contidos no pacote java.Lang, ja para os comando de entrada, importaremos o pacote java.util.Scanner, que funcionara como o scanf em C. Para comandos de saida usaremos o console, para desfrutarmos disso temos o comando System.out.println(seu texto aqui); para imprimir o texto no console do compilador. Por exemplo, transcreverei todo um codigo aqui para mostrar uma linha de texto comum e que ja usamos antes o Hello World: public class HelloWorld{ public static void main(String[] args){ System.out.println(Hello World!); System.exit(0); } } O comando println(print line) serve para imprimir algo no console, seguindo este formato: System.out.println(lista_de_controle, lista_de_argumentos); Como voce pode perceber , temos antes do println os comandos System.out, significa o seguinte, dentro do pacote java.Lang, temos o subpacote dele chamado java.Lang.System, e dentro desta classe temos o comando out, que significa saida, e dentro deste out temos comandos de saida de dados, como o println. A separacao destes pacotes por pontos se deve ao encapsulamento, pelo fato de um comando estar dentro de outro, como no caso do out e println, o comando println esta encapsulado em out que esta encapsulado em System que esta encapsulado em Lang que por fim esta encapsulado em java. Mais tarde veremos o conceito de superclasses. Para comandos de entrada precisaremos importar o pacote Scanner, declarando-o antes da classe: import java.util.Scanner; public class Saida{ private static Scanner scan = new Scanner(System.in); public static void main(String[] args){ String teste; System.out.println(Digite alguma string:); teste = scan.nextLine(); } } Assim conseguimos ler nossa primeira string, atente para a linha de leitura teste = scan.nextLine(); e perceba que atribuimos um comando a string teste, que e scan.nextLine(); e note tambem que mais acima declaramos scan em private static Scanner scan = new Scanner(System.in); e que basicamente quer dizer o seguinte: uma funcao privada(so essa classe conhece), estatica (nao muda durante o programa) do tipo Scanner (ou leitura), com o nome de scan (mais simples, mas pode colocar o que quiser) esta sendo atribuida a um novo Scanner (pois tenho que declarar para o programa reconhecer) que usa System.in (assim como o out de saida, temos o in de entrada no pacote System). Entretanto, contudo, todavia, nem tudo e um mar de rosas como declarar a entrada de dados para strings, pois temos outros formatos como double, int, char e float, pelo menos nos basicos, e digamos que variaveis como bytes sao de usos mais avancados por assim dizer. Para podermos fazer leitura de uma variavel do tipo int precisamos de: mudar o tipo de variavel que queremos para leitura (obvio diga-se de passagem), e tambem modificar a linha de leitura de dados, onde estavamos lendo string no codigo anterior, e deixemos da seguinte maneira: teste = Double.parseDouble(scan.nextLine()); , e que quer dizer que estamos lendo uma variavel do tipo Double, e