Float (ponto ou virgula) e PrintF

Boa tarde!
Sou novo no fórum e também em programação.
Comecei a estudar a linguagem java sozinho com livros e sites.
A minha duvida é sobre [color=red]FLOAT (PONTO FLUTUANTE)[/color], escrevi o seguinte código abaixo:
Porém quando executo o programa e coloco [color=blue]10.00[/color] automaticamente aparece um erro, mas quando coloco [color=blue]10,00[/color] roda normalmente.
Pelo o que eu entendi o computador reconheci apenas o [color=blue]b[/b][/color] para separar as casas decimais, então o porque esse ponto não funciona comigo e a virgula sim?
Gostaria de saber também como usar o [color=darkblue]PRINTF[/color] com esse mesmo programa.

Desde já eu agradeço.

import java.util.Scanner;

public class Teste1 {

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

[color=red] float[/color] avaliacao1;
[color=red] float[/color] avaliacao2;
[color=red] float[/color] avaliacao3;

System.out.println("Digite o valor da usa avaliação 1: ");
avaliacao1 = entrada.[color=red]nextFloat[/color]();

System.out.println("Digite o valor da sua avaliação 2: ");
avaliacao2 = entrada.[color=red]nextFloat[/color]();

System.out.println("Digite o valor da sua avaliação 3: ");
avaliacao3 = entrada.[color=red]nextFloat[/color]();

System.out.println("Sua Nota é: " + (avaliacao1+avaliacao2+avaliacao3)/3);

    }

}

As funções que lêem e recebem dados geralmente trabalham com o local onde o usuário está. No seu caso, a localização é português do Brasil e, portanto, ponto se refere ao separador de milhar e a vírgula ao separador decimal.

Você pode forçar o local para o americano, por exemplo, inclua isso na primeira linha do seu main:

Locale.setDefault(Locale.US);

Isso é só uma característica das funções de leitura e exibição. O código Java, entretanto, sempre usará o padrão americano.