Обязательно ли использовать блок default в конструкции switch..case в языке Dart?
Блок default в конструкции switch...case необязателен.
Что выведет на консоль следующая программа и почему:
void main() { int? num; switch(num){ case 0: print("число равно 0"); case 1: print("число равно 1"); case 2: print("число равно 2"); } }
На консоль ничего не будет выведено, поскольку переменной num не присвоено никакого значения, то по умолчанию она имеет значение null. Соответственно ее значение не соответствует ни одному из блоков case.
Блок case в конструкции switch...case
обязательно должен содержать оператор break?
Нет, оператор break
в блоке case
в версии Dart 2.x при определенных условиях может отсутствовать, а в версии Dart 3.x оператор break
вообще необязателен
Какой результат будет при выполнении следующей программы:
void main() { int? num1; int num2 = 8; if(num1 > num2){ print("Первое число больше второго"); } else if(num1 < num2){ print("Первое число меньше второго"); } else if(num1 == num2){ print("Первое число равно второму"); } else{ print("Неопределенный результат"); } }
Программа завершится с ошибкой, поскольку переменная num1 равна null, соответственно ее значение нельзя сравнить со значением переменной num2
Что будет выведено на консоль при выполнении следующей программы:
void main() { int? num1; int num2 = 5; int num3 = num1 ?? num2; print(num3); }
На консоль будет выведено число 5
Что будет выведено на консоль при выполнении следующей программы:
void main() { int? num1; int? num2; int? num3 = 8; num3 = num1 ?? num2; print(num3); }
На консоль будет выведено "null"