Buona Sera, mi ritrovo con questo problema, io dichiaro una variabile float es float a = 2,4;

e mi viene restituito questo errore da netBeans:

init:
deps-jar:
Compiling 1 source file to C:\Users\FSC\Documents\NetBeansProjects\Pizzeria\b uild\classes
C:\Users\FSC\Documents\NetBeansProjects\Pizzeria\s rc\pizzeria\Main.java:44: ';' expected
prezzo_finale = prezzo_finale + 3,5;
1 error
BUILD FAILED (total time: 0 seconds)

Ma se dichiaro float a = 2; (quindi utilizzando un numero intero) non mi da più errore. Ho anche provato a cambiare la virgola al punto, ma senza risultato.

Questo è tutto il codice del mio programma.

//Licenza:GPL v2
//Italian Software

package pizzeria;

import java.io.*;

public class Main {

public static void main(String[] args) throws IOException
{
String scelta;
int sceltai=0;
String scelta2;

float prezzo_finale = 0;

//IMPOSTAZIONE INPUT - OUTPUT
InputStreamReader in = new InputStreamReader(System.in);
BufferedReader tastiera = new BufferedReader(in);

do
{
//MENù
System.out.println("BENVENUTO IN PIZZA NAPOLI!\n");
System.out.println("SELEZIONARE LA PIZZA DESIDERATA:\n");
System.out.println("1)Margherita 4,00€\n");
System.out.println("2)Marinara 3,50€\n");
System.out.println("3)Diavola 5,00€\n");
System.out.println("4)Napoli 5,00€\n");
System.out.println("5)Frutti di Mare 6,00€\n");
System.out.println("6)Messicana 6,50€\n");
System.out.println("Inserire la pizza desiderata:");

scelta = tastiera.readLine();
sceltai = Integer.valueOf(scelta).intValue();

if(sceltai==1)
{
prezzo_finale = prezzo_finale + 4;
}else if(sceltai == 2)
{
prezzo_finale = prezzo_finale + 3,5; <------ In questa riga errore
}

System.out.println("Desidera un'altra pizza?");
System.out.println("Si per continuare.");
scelta2 = tastiera.readLine();

}while(scelta2.equals("Si"));

System.out.println("Il conto e' di "+ prezzo_finale);
}

}


In cosa sbaglio? cosa devo fare?