Bird
Raised Fist0
Fluttermobile~5 mins

Null safety in Flutter - Cheat Sheet & Quick Revision

Choose your learning style10 modes available
Recall & Review
beginner
What is null safety in Flutter?
Null safety means the app knows which variables can be null and which cannot, helping to avoid crashes caused by unexpected null values.
Click to reveal answer
beginner
How do you declare a variable that can hold a null value in Dart?
Add a question mark (?) after the type. For example, String? name; means name can be null.
Click to reveal answer
intermediate
What happens if you try to use a nullable variable without checking for null?
The Dart compiler will show an error, preventing you from running code that might cause a crash due to null values.
Click to reveal answer
beginner
Explain the difference between String and String? in Dart.
String cannot be null, so it always has a value. String? can be null, so you must check before using it.
Click to reveal answer
intermediate
What is the purpose of the null assertion operator ! in Dart?
It tells Dart you are sure the variable is not null at that point, so it can be used as a non-null value. Use carefully to avoid runtime errors.
Click to reveal answer
Which symbol marks a variable as nullable in Dart?
A?
B!
C*
D&
What will happen if you try to assign null to a non-nullable variable?
AIt works fine
BCompile-time error
CRuntime error
DVariable becomes nullable automatically
How do you tell Dart you are sure a nullable variable is not null?
AUse the ! operator
BUse the ? operator
CUse the * operator
DUse the & operator
Which of these is a correct nullable variable declaration?
Aint age?;
Bint age;
C?int age;
Dint? age;
Why is null safety important in Flutter apps?
ATo allow all variables to be null
BTo make apps run faster
CTo prevent app crashes from null errors
DTo remove all variables
Explain how null safety helps prevent errors in Flutter apps.
Think about how the app knows if a variable can be null or not.
You got /3 concepts.
    Describe how to declare and use a nullable variable safely in Dart.
    Remember the question mark and null checks.
    You got /3 concepts.

      Practice

      (1/5)
      1. What does the ? symbol mean when used after a type in Flutter null safety?
      easy
      A. It marks the variable as a constant.
      B. It means the variable is always non-null.
      C. It means the variable can hold a null value.
      D. It makes the variable read-only.

      Solution

      1. Step 1: Understand the ? usage in Flutter

        The ? after a type means the variable can be null, allowing it to hold either a value or null.
      2. Step 2: Compare with non-nullable types

        Without ?, variables must always have a non-null value, so ? explicitly allows null.
      3. Final Answer:

        It means the variable can hold a null value. -> Option C
      4. Quick Check:

        ? means nullable = A [OK]
      Hint: Remember: ? means nullable, can hold null [OK]
      Common Mistakes:
      • Thinking ? makes variable constant
      • Confusing ? with non-nullable
      • Assuming ? means read-only
      2. Which of the following is the correct way to declare a nullable integer variable in Flutter?
      easy
      A. int? number;
      B. int number?;
      C. nullable int number;
      D. int number = null;

      Solution

      1. Step 1: Recall correct nullable syntax

        In Flutter, to declare a nullable type, place ? immediately after the type name, like int?.
      2. Step 2: Check each option

        int? number; uses int? number; which is correct. int number?; places ? after variable name, which is invalid. nullable int number; uses a non-existent keyword. int number = null; assigns null to a non-nullable type, causing error.
      3. Final Answer:

        int? number; -> Option A
      4. Quick Check:

        Nullable type syntax = int? [OK]
      Hint: Put ? right after type to make nullable [OK]
      Common Mistakes:
      • Placing ? after variable name
      • Using non-existent keywords like 'nullable'
      • Assigning null to non-nullable without ?
      3. What will be the output of this Flutter code snippet?
      int? a;
      int b = a ?? 5;
      print(b);
      medium
      A. null
      B. 5
      C. 0
      D. Compilation error

      Solution

      1. Step 1: Understand variable initialization

        Variable a is nullable and not initialized, so it is null.
      2. Step 2: Evaluate the null-coalescing operator ??

        The expression a ?? 5 means if a is null, use 5 instead.
      3. Step 3: Assign and print value

        Since a is null, b gets 5, so print(b) outputs 5.
      4. Final Answer:

        5 -> Option B
      5. Quick Check:

        ?? gives default if null = 5 [OK]
      Hint: Use ?? to provide default when null [OK]
      Common Mistakes:
      • Assuming uninitialized nullable is zero
      • Thinking ?? returns null
      • Expecting compilation error for nullable without init
      4. Identify the error in this Flutter code snippet:
      String? name;
      print(name.length);
      medium
      A. Error: Cannot access property on nullable without check
      B. No error, prints null
      C. Error: Missing semicolon
      D. Error: Variable 'name' not declared

      Solution

      1. Step 1: Analyze nullable variable usage

        Variable name is nullable and not initialized, so it is null.
      2. Step 2: Accessing property on nullable

        Accessing name.length without null check causes error because name might be null.
      3. Step 3: Correct usage

        Use null-aware operator like name?.length or check for null before accessing.
      4. Final Answer:

        Error: Cannot access property on nullable without check -> Option A
      5. Quick Check:

        Access nullable property without check = error [OK]
      Hint: Use ?. or check null before property access [OK]
      Common Mistakes:
      • Assuming nullable property access is safe
      • Ignoring null checks
      • Confusing syntax errors with runtime errors
      5. Given a nullable list of integers List<int>? numbers;, which code safely sums all elements or returns 0 if the list is null?
      hard
      A. int sum = numbers!.reduce((a, b) => a + b);
      B. int sum = numbers.reduce((a, b) => a + b);
      C. int sum = numbers == null ? null : numbers.reduce((a, b) => a + b);
      D. int sum = numbers?.reduce((a, b) => a + b) ?? 0;

      Solution

      1. Step 1: Understand nullable list and safe access

        Since numbers can be null, accessing methods directly risks error.
      2. Step 2: Analyze each option

        int sum = numbers?.reduce((a, b) => a + b) ?? 0; uses ?. to safely call reduce only if numbers is not null, then ?? 0 to default to 0 if null. int sum = numbers.reduce((a, b) => a + b); calls reduce directly, causing error if null. int sum = numbers!.reduce((a, b) => a + b); forces non-null with !, risky if null. int sum = numbers == null ? null : numbers.reduce((a, b) => a + b); returns null instead of int 0, causing type mismatch.
      3. Step 3: Choose safe and correct option

        int sum = numbers?.reduce((a, b) => a + b) ?? 0; safely sums or returns 0 if null.
      4. Final Answer:

        int sum = numbers?.reduce((a, b) => a + b) ?? 0; -> Option D
      5. Quick Check:

        Safe call + default value = int sum = numbers?.reduce((a, b) => a + b) ?? 0; [OK]
      Hint: Use ?. with ?? for safe nullable operations [OK]
      Common Mistakes:
      • Calling methods on nullable without safe operator
      • Using ! without null check
      • Returning null instead of default value
      Recommended

      Ready to prove it?

      Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

      10 questions~5 mineasy hard