Условные конструкции

Последнее обновление: 11.07.2021
Вопрос 1

Обязательно ли использовать блок default в конструкции switch..case в языке Dart?

Ответ

Блок default в конструкции switch...case необязателен.

Вопрос 2

Что выведет на консоль следующая программа и почему:

void main() {
	int? num;
	switch(num){
				 
		case 0: 
			print("число равно 0");
		case 1: 
			print("число равно 1");
		case 2: 
			print("число равно 2");
	}
}
Ответ

На консоль ничего не будет выведено, поскольку переменной num не присвоено никакого значения, то по умолчанию она имеет значение null. Соответственно ее значение не соответствует ни одному из блоков case.

Вопрос 3

Блок case в конструкции switch...case обязательно должен содержать оператор break?

Ответ

Нет, оператор break в блоке case в версии Dart 2.x при определенных условиях может отсутствовать, а в версии Dart 3.x оператор break вообще необязателен

Вопрос 4

Какой результат будет при выполнении следующей программы:

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

Вопрос 5

Что будет выведено на консоль при выполнении следующей программы:

void main() {
	int? num1;
	int num2 = 5;
	int num3 = num1 ?? num2;
	print(num3);
}
Ответ

На консоль будет выведено число 5

Вопрос 6

Что будет выведено на консоль при выполнении следующей программы:

void main() {
	int? num1;
	int? num2;
	int? num3 = 8;
	
	num3 = num1 ?? num2;
	print(num3);
}
Ответ

На консоль будет выведено "null"

Дополнительные материалы
Помощь сайту
Юмани:
410011174743222
Перевод на карту
Номер карты:
4048415020898850