Codigo java

Galera alguém poderia me explicar esses codigos

[code]

public class GradeBook {

public void displayMessage(String CourseName)
{
System.out.printf(“Welcome to GradeBook \n%s\n” , CourseName);

}

}[/code]

[code]import java.util.Scanner;

public class GradeBookTest {
public static void main(String[]args){
Scanner x =new Scanner(System.in);
GradeBook y =new GradeBook();
System.out.println(“Entre o nome do curso”);
String nameOfCourse = x.nextLine();
System.out.println();

     y.displayMessage(nameOfCourse);

}

}[/code]

public class GradeBook {

public void displayMessage(String CourseName)
{
System.out.printf(“Welcome to GradeBook \n%s\n” , CourseName);
//O printf = é usado para formatar o texto a ser exibido e também para evitar concatenação de texto e variáveis.
// \n é utilizado para pular para a próxima linha
// %s indica de uma String será será inserida no caso ‘CourseName’

//Se for utilido o print seria assim:
System.out.print(“Welcome to GradeBook \n “+ CourseName +”\n”);

}

}

public class GradeBookTest {
public static void main(String[]args){
Scanner x =new Scanner(System.in);
// Scanner está sendo utilizado receber input do teclado
GradeBook y =new GradeBook();
System.out.println(“Entre o nome do curso”);
// mostra a mensagem entre aspas no console

     String nameOfCourse = x.nextLine();  


     System.out.println();  

     y.displayMessage(nameOfCourse);  

}

}