In Java programming, how would you use the functional decomposition principle when handling multiple tasks, especially when performing complex operations under each case in the 'switch statement'? Consider the following block of code:
public static void main(String[] args) {
switch (args[0]) {
case "task1":
// complex operation 1
break;
case "task2":
// complex operation 2
break;
case "task3":
// complex operation 3
break;
default:
// code for default case
}
}