What is Flutter? Expain Flutter by Shiva Sir | Flutter Features | Dart Tutorials

0

What is Flutter 

 Flutter is an open-source UI software kit created by Google and released in 2018. Using Dart as a primary programming language, Flutter allows developers to create cross-platform applications. One of the reasons why Flutter developers have a high demand in organizations that work with Flutter is that being a framework that helps develop cross-platform applications, it helps organizations cut down on development costs and save time



Who Is a Flutter Developer?


A Flutter developer develops cross-platform applications by leveraging Flutter, an open-source UI software development kit that is useful for creating both Android and iOS apps


Flutter Developer Salary in the US


The average salary for a beginner-level Flutter developer in the United States is estimated to be $70,000 per annum


However, the average salary for beginner-level Flutter developers is INR 4 lakhs.



5 Reasons Flutter is Worth Learning


Quick Development

Compared to its competitors, the Flutter development framework is faster. Flutter accelerates app performance and development, saving you a significant amount of time. Flutter has a rich widget library and a UI library that accelerates and simplifies the UI/UX development process.


One Codebase for all Platforms

You don’t have to create separate code for Android and iOS devices while building Flutter apps. Flutter’s code reusability allows developers to create a single codebase they can use on Android, iOS, desktop apps, and other platforms. A single code base significantly reduces development time, lowers costs, and allows you to launch your application much faster.


Flutter Developers are in High Demand

Flutter is becoming more popular among developers and companies. Employers will need to hire experienced Flutter developers due to this transition, increasing Flutter opportunities in the job market. So, if you want to work as a Flutter developer, starting your Flutter career now will be beneficial.



Easy to Learn

Flutter uses the Dart programming language, which is simple to learn. It’s much easier to make mobile and desktop applications with Flutter because it is a modern framework. If you’ve worked with Java, Swift, or React Native, you’ll notice that Flutter is quite different. You can also create accurate native applications without writing as much code.



Huge Widget Library


Dart overview


Dart is a client-optimized language for developing fast apps on any platform. Its goal is to offer the most productive programming language for multi-platform development, paired with a flexible execution runtime platform for app frameworks.


Create First Program using Dart Programming Language:-

1) Open Notepad

2) Save file hello.dart

3) write this code

void main()

{


      print("welcome in dart");


}


4) open command prompt to type cmd on current folder address bar

5) write command to execute 


dart filename

6)program executed successfully

Calculate SI Program in Dart Language:-

void main()

{

  var p = 12000;

  var r = 2.5;

  var t = 3;

  var si = (p*r*t)/100;

  print("Total Interest is ${si}");


}



How to take user input in dart?

dart provide io module to contain predefine method.

first import this module

import 'dart:io'

var varname = stdin.readLineSync();

This method return userinput into String pattern hence dart provide typecasting method to convert into another primitive type data.


Convert String to int:-

int.parse()

Convert String to float

float.parse()


Convert String to double use 

double.parse()


Create program in dart to calculate simple interest with User Input:-



import 'dart:io';

void main()
{
  print("Enter P Value");
  var p = stdin.readLineSync()!;
   print("Enter R Value");
  var r = stdin.readLineSync()!;
   print("Enter T Value");
  var t = stdin.readLineSync()!;
  var si = double.parse(p)*double.parse(r)*double.parse(t)/100;
  print("Total Interest is ${si}");

}


WAP to print name and mobile no?

import 'dart:io';
void main()
{
  var name;
  var mobile;
  print("Enter name");
  name = stdin.readLineSync();
  print("Enter mobile");
  mobile = stdin.readLineSync();
  print("name is ${name} and mobile no is ${mobile}");
}



WAP to calculate Area of Triangle using herons formula?

import 'dart:math';
void main()
{
  var a=3;
  var b=4;
  var c=5;
  var s = (a+b+c)/2;
  var res = sqrt(s*(s-a)*(s-b)*(s-c));
  print("Area is ${res}");
}

WAP to calculate Addition of Complex Number?

void main()
{
  var a=2;
  var b=3;
  var c=4;
  var d=5;
  var num1 = "${a} + i${b}";
  var num2 = "${c} + i${d}";
  var r = a+c;
  var i = b+d;
  var num3 = "${r} + i${i}";
  print(num1);
  print(num2);
  print(num3);
}

Assignments:-
1) WAP to convert feet to inch and inch to feet?
2) WAP to calculate Compound Interest?
3) WAP to convert temperatures to C to F?
4) WAP to move the ball five step up and five step down
5) WAP to calculate area of sphere and circles?




void main() { 

   int n = "hello"; 

   print(n); 


class TestClass {   

   void disp() {     

      print("Hello World"); 

   } 

}  

void main() {   

   TestClass c = new TestClass();   

   c.disp();  

}

Create  Program to calculate Compound Interest?


import 'dart:io';
import 'dart:math';
void main()
{
    print("Enter Principal");
    var p = double.parse(stdin.readLineSync()!);
    print("Enter rate ");
    var r =double.parse(stdin.readLineSync()!);
    print("Enter time ");
    var t =double.parse(stdin.readLineSync()!);
    var n = 12;
    r=r/100;
    var total = p* pow((1+r/n),n*t) ;
    print("Total Interest Amount is ${total-p}");

}

Create Program to move the ball five step up and five step down?

void main()
{
  var position=0;
  print('current position is ${position}');
  position+=5;
  print('current position is ${position}');
  position-=5;
  print('current position is ${position}');
  position-=5;
  print('current position is ${position}');

}

Assignments:-

WAP to create salary calculator where basic, ta, da, comm, pf, leave will be entered by the user? WAP to create emi calculator? WAP to create marksheet of 12th class student, display only percentage? WAP to reverse five digit number? 12345 o/p 54321 WAP to print the any name is ascii code?


Variables in Dart

Variables in Dart

Variables are used to store data that can be changed later in the program. In Dart, you can declare variables using the var, dynamic, or a specific type. Here are the key points:

  1. Using var:

    • When you use var, Dart infers the type based on the initial value assigned.

    • Example:

      dart
      var name = 'Alice'; // Dart infers that 'name' is a String
      
  2. Using Specific Types:

    • You can explicitly specify the type of a variable.

    • Example:

      dart
      int age = 25; // age is explicitly an integer
      String city = 'Paris'; // city is explicitly a string
      
  3. Using dynamic:

    • The dynamic keyword allows a variable to change its type at runtime.

    • Example:

      dart
      dynamic variable = 'Hello'; // variable is a String
      variable = 42; // Now, variable is an integer
      
  4. Uninitialized Variables:

    • Variables that are declared but not initialized have a default value of null.

    • Example:

      dart
      int number; // number is null by default
      

Constants in Dart

Constants are used to store values that do not change during the program execution. Dart provides two ways to define constants: const and final.

  1. Using const:

    • const is used to define compile-time constants.

    • Example:

      dart
      const double pi = 3.14159;
      
  2. Using final:

    • final is used to define run-time constants. It can be set once, and its value cannot be changed.

    • Example:

      dart
      final String appName = 'MyApp';
      

Literals in Dart

Literals are the fixed values assigned to variables or constants. They represent actual data in the code.

  1. String Literals:

    • Represent text values.

    • Example:

      dart
      String greeting = 'Hello, World!';
      
  2. Numeric Literals:

    • Represent integer and floating-point numbers.

    • Examples:

      dart
      int count = 10;
      double percentage = 95.5;
      
  3. Boolean Literals:

    • Represent true or false.

    • Example:

      dart
      bool isActive = true;
      
  4. List Literals:

    • Represent ordered collections of values.

    • Example:

      dart
      List<int> numbers = [1, 2, 3, 4, 5];
      
  5. Map Literals:

    • Represent key-value pairs.

    • Example:

      dart
      Map<String, String> capitals = {
        'France': 'Paris',
        'Japan': 'Tokyo'
      };
Data Types
Data types help you to categorize all the different types of data you use in your code. For e.g. numbers, texts, symbols, etc. The data type specifies what type of value will be stored by the variable. Each variable has its data type. Dart supports the following built-in data types :

Numbers
Strings
Booleans
Lists
Maps
Sets
Runes
Null

Var Keyword In Dart
In Dart, var automatically finds a data type. In simple terms, var says if you don’t want to specify a data type, I will find a data type for you.

void main(){

var name = "John Doe"; // String
var age = 20; // int

print(name);
print(age);
}

Built-In Types

In Dart language, there is the type of values that can be represented and manipulated. The data type classification is as given below:

Data Type Keyword Description
Numbers int, double, num It represents numeric values
Strings String It represents a sequence of characters
Booleans bool It represents Boolean values true and false
Lists List It is an ordered group of items
Maps Map It represents a set of values as key-value pairs
Sets Set It is an unordered list of unique values of same types
Runes runes It represents Unicode values of String

Null null It represents null value

When you need to store numeric value on dart, you can use either int or double. Both int and double are subtypes of num. You can use num to store both int or double value.

void main() {
// Declaring Variables  
int num1 = 100; // without decimal point.
double num2 = 130.2; // with decimal point.
num num3 = 50;
num  num4 = 50.4;  

// For Sum   
num sum = num1 + num2 + num3 + num4;
   
// Printing Info   
print("Num 1 is $num1");
print("Num 2 is $num2");  
print("Num 3 is $num3");  
print("Num 4 is $num4");  
print("Sum is $sum");  
   
}


Round Double Value To 2 Decimal Places
The .toStringAsFixed(2) is used to round the double value upto 2 decimal places in dart. You can round to any decimal places by entering numbers like 2, 3, 4, etc.

void main() {
// Declaring Variables
double price = 1130.2232323233233; // valid.
print(price.toStringAsFixed(2));
}

String
String helps you to store text data. You can store values like I love dart, New York 2140 in String. You can use single or double quotes to store string in dart.

void main() {
// Declaring Values     
String schoolName = "Diamond School";
String address = "New York 2140";   

// Printing Values
print("School name is $schoolName and address is $address");   
}

Create A Multi-Line String In Dart
If you want to create a multi-line String in dart, then you can use triple quotes with either single or double quotation marks.

void main() {
// Multi Line Using Single Quotes   
String multiLineText = '''
This is Multi Line Text
with 3 single quote
I am also writing here.
''';
   
// Multi Line Using D

String otherMultiLineText = """
This is Multi Line Text
with 3 double quote
I am also writing here.
""";
   
// Printing Information   
print("Multiline text is $multiLineText");
print("Other multiline text is $otherMultiLineText");
}

Type Conversion In Dart
In dart, type conversion allows you to convert one data type to another type. For e.g. to convert String to int, int to String or String to bool, etc.

Convert String To Int In Dart
You can convert String to int using int.parse() method. The method takes String as an argument and converts it into an integer.

void main() {
String strvalue = "1";
print("Type of strvalue is ${strvalue.runtimeType}");   
int intvalue = int.parse(strvalue);
print("Value of intvalue is $intvalue");
// this will print data type
print("Type of intvalue is ${intvalue.runtimeType}");
}

Convert String To Double In Dart
You can convert String to double using double.parse() method. The method takes String as an argument and converts it into a double.

void main() {
String strvalue = "1.1";
print("Type of strvalue is ${strvalue.runtimeType}");
double doublevalue = double.parse(strvalue);
print("Value of doublevalue is $doublevalue");
// this will print data type
print("Type of doublevalue is ${doublevalue.runtimeType}");
}

Convert Int To String In Dart
You can convert int to String using the toString() method. Here is example:

void main() {
int one = 1;
print("Type of one is ${one.runtimeType}");
String oneInString = one.toString(); 
print("Value of oneInString is $oneInString");
// this will print data type
print("Type of oneInString is ${oneInString.runtimeType}");
}

Convert Double To Int In Dart
You can convert double to int using the toInt() method.

void main() { 
   double num1 = 10.01;
   int num2 = num1.toInt(); // converting double to int

  print("The value of num1 is $num1. Its type is ${num1.runtimeType}");
  print("The value of num2 is $num2. Its type is ${num2.runtimeType}");
}

Booleans
In Dart, boolean holds either true or false value. You can write the bool keyword to define the boolean data type. You can use boolean if the answer is true or false. Consider the answer to the following questions:

Are you married?
Is the door open?
Does a cat fly?
Is the traffic light green?
Are you older than your father?

void main() {
bool isMarried = true;
print("Married Status: $isMarried");
}

Lists
The list holds multiple values in a single variable. It is also called arrays. If you want to store multiple values without creating multiple variables, you can use a list.

void main() {
List<String> names = ["Raj", "John", "Max"];
print("Value of names is $names");
print("Value of names[0] is ${names[0]}"); // index 0
print("Value of names[1] is ${names[1]}"); // index 1
print("Value of names[2] is ${names[2]}"); // index 2

  // Finding Length of List 
int length = names.length;  
print("The Length of names is $length");
}

Sets
An unordered collection of unique items is called set in dart. You can store unique data in sets.

 Info
Note: Set doesn’t print duplicate items.

void main() {
Set<String> weekday = {"Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"};
print(weekday);
}


Maps
In Dart, a map is an object where you can store data in key-value pairs. Each key occurs only once, but you can use same value multiple times.

void main() {
Map<String, String> myDetails = {
   'name': 'John Doe',
   'address': 'USA',
   'fathername': 'Soe Doe'
};
// displaying the output
print(myDetails['name']);
}

Operators

It is used to perform an operation using set

 of operand(variable,constant,literals).

Operator access by symbol but define as a predefine method.

Dart supports the operators shown in the following table.

DescriptionOperatorAssociativity
unary postfix: 

expr++    expr--    ()    []    ?[]    .    ?.    !None
unary prefix-expr    !expr    ~expr    ++expr    --expr      await exprNone
multiplicative*    /    %  ~/Left
additive+    -Left
shift<<    >>    >>>Left
bitwise AND&Left
bitwise XOR^Left
bitwise OR|Left
relational and type test>=    >    <=    <    as    is    is!None
equality==    !=None
logical AND&&Left
logical OR||Left
if-null??Left
conditionalexpr1    ?    expr2    :    expr3Right
cascade..    ?..Left
assignment=    *=    /=   +=   -=   &=   ^=   etc.Right
spread (See note)...    ...?None

1)Unary:
This operator work, based on single operand.

1.1) Post Increment | Decrement:
first perform other operation (assignment, addition, print, memory allocation) then
increase or decrease value.
var a=10;
a++;
a--;


1.2) Pre Increment | Decrement:
first increase or decrease value then perform other operation
(assignment, addition, print, memory allocation)
var a=5;
++a;
--a;

1.3) unary minus: convert +ve value to -ve value
var a=10;
print(-a)
1.4) tild expression: increase by one and apply minus symbol:
var c=50; print(~c);

2) Binary Operator: This operator uses minimum two operand to perform operation.

2.1) Arithmetic: It is used to perform operation using operand.

+ add
- substract
* multiplication
/ division
~/ divide return only integer part

2.2) Relational: it is to apply condition under expression
< less than
> greater than
<= less than equal to
>= greater than equal to

2.3) Comparison: it is used to compare data
== compare value if equal then return true
!= compare value if not equal then return true

2.4) Assignment: it is used to assign the value under variable, constant into memory
Simple Assignment =
Complex Assignment +=, -=,*=,/=,~/=

2.5) Logical Operator: It is used to return true and false to group of condition .

&& (and operator) if all condition true then return true
|| (or operator) if any condition true then return true
! (Not Operator) it convert true condition to false condition

2.6) Bitwise operator: it is used to perform binary shift & binary operation

& it multiply binary digit
! it add binary digit
>> right shift operator
<< left shift operator
^ XOR


3) Ternary Operator or Conditional statement:

It is used to solve condition based program under single line statement.

expression? true:false

Write a program to check even | odd?

void main()
{
    int a=11;
    String res = a%2==0?"Even":"Odd";
    print(res);
}





Write a program to check greater Age of Two Person?

void main()
{
    int Age1=40;
    int Age2=30;
    String res=Age1>Age2?"Age1 is greater":"Age2 is greater";
    print(res);
}

Conditional Statement in Dart:

It provide separate block level statement for true condition and false condition.

1) Simple If:

It will execute when condition is true.
Syntax
if(condition)
{
Statement;
}

Write a program to apply grace mark if student is eligible for grace
otherwise display normal mark?
e.g if mark is 28 then output "Total Mark is 33 and grace marks is 5"

void main()
{
    int marks = 30;
    if(marks>=28 && marks<33)
    {
        int g = 33-marks;
        marks = marks + g;
        print("Grace marks added ${g}");
    }
    print("Total Marks  ${marks}");
}
2) If--Else:

It will work when condition is true and false both.

if(condition)
{
Statement;

}
else
{
Statement;
}

3) Nested If--Else:

It is used to solve more than one condition based program.

if(condition)
{
if(condition)
{

}
else
{

}
}
else
{
if(condition)
{

}
else
{

}

}

{
        if(age1>age3)
        {
            print("Age1 is greater");
        }
        else
        {
            print("Age3 is greater");
        }
    }
    else
    {
        if(age2>age3)
        {
            print("Age2 is greater");
        }
        else
        {
            print("Age3 is greater");
        }
    }

4) ElseIf or Ladder If--else:

It will contain If, Multiple Else if and Single
Else Statement that
will execute step by step.

if(condition)
{
Statement;
}
else if(condition)
{
Statement;
}
...

else
{
Statement;
}

void main()
{
    int age1=60;
    int age2=70;
    int age3=40;
    if(age1>age2 && age1>age3)
    {
        print("Age1 is greater");
    }
    else if(age2>age3)
    {
        print("Age2 is greater");
    }
    else
    {
        print("Age3 is greater");
    }
   
}


5) Multiple If:

It is used to solve the program where multiple conditions can be true.

if(condition)
{

}

if(condition)
{

}

Write a program to check that number is divisible by 3 and 5 both and independent?

void main()
{
    int num=2;
    if(num%3==0)
    {
        print("Divisible by 3");
    }
    if(num%5==0)
    {
        print("Divisible by 5");
    }
}


Assignment:
1) WAP to check Leap Year using Ternary and Simple If?
2) WAP to check vowel and consonant using Ternary and Simple If?
3) WAP to deduction in electricity bill 50% if consumption is below 100 unit?
4) WAP to find max age in three person age using ternary?
5) WAP to check that user entered numeric char, alphabetical char or specials
using Ternary?
6) WAP to check middle age into three person?

7) WAP to create marksheet of 12th class student with all possibilities?

(pass,fail,supp, pass by grace, distinction)

8) WAP to check vowel consonet without && and ||



do--while Loop: First Execute program then check condition means by default one time loop will execute in all situation. Syntax of do--while init; do { statement; increment; }while(condition); Nested for loop: it contains more than one for loop using nested sequence, it contains collection of outer for loop and inner for loop. where outer for loop execute once and inner for loop will be executed until condition is true.when outer for loop false program will terminate. for(int i=1;i<=5;i++) { for(int j=1;j<=i;j++) { print(i); } } i j 1 1 2 2 3 3 4 4 5 5 ..................................................... 1 2 3 4 5 6 7 8 9 10 ..................................... A a B b C A a B b A a B A a A ............................ A B C D E A B C D A B C A B A ................................. 1 1 1 1 1 2 2 2 2 3 3 3 4 4 5 ............................... 1 0 0 1 0 1 0 0 1 1 0 0 1 0 1 ......................... A M I T A M I A M A ......................... print series of prime number where range will be entered by the user? WAP to print the leap year range will be entered by the user? * * * * * * * * * * * * * Dart Collection This section will help you to learn about the collection in Dart.
Here you will learn the following topics: List in Dart, Set in Dart, Map in Dart and Where in Dart.

List In Dart If you want to store multiple values in the single variable with proper sequence,
then we use List.
List in dart is similar to Array in other programming languages.

E.g. to store the names of multiple students

you can use a List. The List is represented by Square Braces[]. How To Create List You can create a List by specifying the initial elements in a square bracket.
Square bracket [] is used to represent a List.

Syntax of List:

List<Datatype> variablename = [values,...]
// Integer List List<int> ages = [10, 30, 23]; // String List List<String> names = ["Raj", "John", "Rocky"]; // Mixed List var mixed = [10, "John", 18.8];
Types Of Lists 1) Fixed Length List 2) Growable List [Mostly Used] Fixed Length List The fixed-length Lists are defined with the specified length. You cannot change the size at
runtime. This will create List of 5 integers with the value 0.
void main()
{
    List<int> arr = List<int>.filled(5, 0);
    arr[0] = 10;
    arr[1] = 20;
    arr[2] = 30;
    arr[3] = 40;
    arr[4] = 50;
   
   
    print("Array elements are:");
    for(int i=0;i<arr.length;i++)
    {
        print(arr[i]);
    }
}
Growable List A List defined without a specified size is called Growable List.
The length of the growable List can be changed in runtime. void main() { var list1 = [210,21,22,33,44,55]; print(list1); }
void main()
{
    List<int> arr = [10,20,30,40,50];
    arr.add(60);
    arr.add(70);
    print("Array elements are:");
    for(int i=0;i<arr.length;i++)
    {
        print(arr[i]);
    }
}
Access Item Of List You can access the List item by index. Remember that the List index always starts with 0. void main() { var list = [210, 21, 22, 33, 44, 55]; print(list[0]); print(list[1]); print(list[2]); print(list[3]); print(list[4]); print(list[5]); } Get Index By Value You can also get the index by value. void main() { var list = [210, 21, 22, 33, 44, 55]; print(list.indexOf(22)); print(list.indexOf(33)); } Find The Length Of The List You can find the length of List by using .length property. void main(){ List<String> names = ["Raj", "John", "Rocky"]; print(names.length); } Changing Values Of List You can also change the value of List. You can do it by listName[index]=value;.
For more, see the example below. void main(){ List<String> names = ["Raj", "John", "Rocky"]; names[1] = "Bill"; names[2] = "Elon"; print(names); } Mutable And Immutable List A mutable List means it can change after the declaration, and an immutable List can’t change
after the declaration.
List<String> names = ["Raj", "John", "Rocky"]; // Mutable List names[1] = "Bill"; // possible names[2] = "Elon"; // possible const List<String> names = ["Raj", "John", "Rocky"]; // Immutable List names[1] = "Bill"; // not possible names[2] = "Elon"; // not possible List Properties In Dart first: It returns the first element in the List.
last: It returns the last element in the List.
isEmpty: It returns true if the List is empty and false if the List is not empty.
isNotEmpty: It returns true if the List is not empty and false if the List is empty.
length: It returns the length of the List.
reversed: It returns a List in reverse order.
single: It is used to check if the List has only one element and returns it. Access First And Last Elements Of List You can access the first and last elements in the List by: void main() { List<String> drinks = ["water", "juice", "milk", "coke"]; print("First element of the List is: ${drinks.first}"); print("Last element of the List is: ${drinks.last}"); } Check The List Is Empty Or Not You can also check List contain any elements inside it or not. It will give result
either in true or in false. void main() { List<String> drinks = ["water", "juice", "milk", "coke"]; List<int> ages = []; print("Is drinks Empty: "+drinks.isEmpty.toString()); print("Is drinks not Empty: "+drinks.isNotEmpty.toString()); print("Is ages Empty: "+ages.isEmpty.toString()); print("Is ages not Empty: "+ages.isNotEmpty.toString()); } Reverse List In Dart You can easily reverse List by using .reversed properties. Here is an example below: void main() { List<String> drinks = ["water", "juice", "milk", "coke"]; print("List in reverse: ${drinks.reversed}"); } Dart provides four methods to insert the elements into the Lists. These methods are
given below. Method Description add() Add one element at a time and returns the modified List object. addAll() Insert the multiple values to the given List,
and each value is separated by the commas and enclosed with a
square bracket ([]). insert() Provides the facility to insert an element at a specified index position. insertAll() Insert the multiple value at the specified index position. Example 1: Add Item To List In this example below, we are adding an item to evenList using add() method. void main() { var evenList = [2,4,6,8,10]; print(evenList); evenList.add(12); print(evenList); } Example 2: Add Items To List In this example below, we are adding items to evenList using addAll() method. void main() { var evenList = [2, 4, 6, 8, 10]; print(evenList); evenList.addAll([12, 14, 16, 18]); print(evenList); } Example 3: Insert Item To List In this example below, we are adding an item to myList using insert() method. void main() { List myList = [3, 4, 2, 5]; print(myList); myList.insert(2, 15); print(myList); } **Example 4: Insert Items To List ** In this example below, we are adding items to myList using insertAll() method. void main() { var myList = [3, 4, 2, 5]; print(myList); myList.insertAll(1, [6, 7, 10, 9]); print(myList); } Removing List Elements Method Description remove() Removes one element at a time from the given List. removeAt() Removes an element from the specified index position and returns it. removeLast() Remove the last element from the given List. removeRange() Removes the item within the specified range. Example 1: Removing List Item From List In this example below, we are removing item of List using remove() method. void main() { var list = [10, 20, 30, 40, 50]; print("List before removing element : ${list}"); list.remove(30); print("List after removing element : ${list}"); } Combine Two Or More List In Dart You can combine two or more Lists in dart by using spread syntax. void main() { List<String> names = ["Raj", "John", "Rocky"]; List<String> names2 = ["Mike", "Subash", "Mark"]; List<String> allNames = [...names, ...names2]; print(allNames); } Conditions In List You can also use conditions in List. Here sad = false so cart doesn’t contain Beer in it. void main() { bool sad = true var cart = ['milk', 'ghee', if (sad) 'Beer']; print(cart); } Where In List Dart You can use where with List to filter specific items. Here in this example, even numbers are only filtered. void main(){ List<int> numbers = [2,4,6,8,10,11,12,13,14]; List<int> even = numbers.where((number)=> number.isEven).toList(); print(even); } 1) WAP to display unique element in List?
2) Write a program to count total frequency of each element in list?
3) Write a program to reverse non prime element in list?
4) Write a program to split even and odd element from list?
5) Write a program to sort list element in desc order?
6) Write a program to find max and second max element in List?
Set In Dart Set is a unique collection of items. You cannot store duplicate values in the Set.
It is unordered, so it can be faster than lists while working with a large amount of data. Set is useful when you need to store unique values without considering the order of the input. E.g., fruits name, months name, days name, etc. It is represented by Curley Braces{}. Syntax Set <variable_type> variable_name = {}; You can create a Set in Dart using the Set type annotation. Here Set<String> means only text is allowed in the Set. void main(){ Set<String> fruits = {"Apple", "Orange", "Mango"}; print(fruits); } Set Properties In Dart Properties Work first To get first value of Set. last To get last value of Set. isEmpty Return true or false. isNotEmpty Return true or false. length It returns the length of the Set. Example of Set Properties Dart This example finds the first and last element of the Set, checks whether it is empty or not, and finds its length. void main() { // declaring fruits as Set Set<String> fruits = {"Apple", "Orange", "Mango", "Banana"}; // using different properties of Set print("First Value is ${fruits.first}"); print("Last Value is ${fruits.last}"); print("Is fruits empty? ${fruits.isEmpty}"); print("Is fruits not empty? ${fruits.isNotEmpty}"); print("The length of fruits is ${fruits.length}"); } Add & Remove Items In Set Like lists, you can add or remove items in a Set. To add items use add() method and to remove use remove() method. Method Description add() Add one element to Set. remove() Removes one element from Set. void main(){ Set<String> fruits = {"Apple", "Orange", "Mango"}; fruits.add("Lemon"); fruits.add("Grape"); print("After Adding Lemon and Grape: $fruits"); fruits.remove("Apple"); print("After Removing Apple: $fruits"); } Adding Multiple Elements You can use addAll() method to add multiple elements from the list to Set. Method Description addAll() Insert the multiple values to the given Set. void main(){ Set<int> numbers = {10, 20, 30}; numbers.addAll([40,50]); print("After adding 40 and 50: $numbers"); } Printing All Values In Set You can print all Set items by using loops. Click here if you want to learn loop in dart. void main(){ Set<String> fruits = {"Apple", "Orange", "Mango"}; for(String fruit in fruits){ print(fruit); } } Set Methods In Dart Some other helpful Set methods in dart. Method Description clear() Removes all elements from the Set. difference() Creates a new Set with the elements of this that are not in other. elementAt() Returns the index value of element. intersection() Find common elements in two sets. Map In Dart:
In a Map, data is stored as keys and values. In Map, each key must be unique.
They are similar to HashMaps and Dictionaries in other languages. How To Create Map In Dart Here we are creating a Map for String and String. It means keys and values
must be the type of String. You can create a Map of any kind as you like. void main(){ Map<String, String> countryCapital = { 'USA': 'Washington, D.C.', 'India': 'New Delhi', 'China': 'Beijing' }; print(countryCapital); } Access Value From Key You can find the value of Map from its key. Here we are printing Washington,
D.C. by its key, i.e., USA. void main(){ Map<String, String> countryCapital = { 'USA': 'Washington, D.C.', 'India': 'New Delhi', 'China': 'Beijing' }; print(countryCapital["USA"]); } Map Properties In Dart Properties Work keys To get all keys. values To get all values. isEmpty Return true or false. isNotEmpty Return true or false. length It returns the length of the Map. Example Of Map Properties In Dart This example finds all keys/values of Map, the first and last element,
checks whether it is empty or not, and finds its length. void main() { Map<String, double> expenses = { 'sun': 3000.0, 'mon': 3000.0, 'tue': 3234.0, }; print("All keys of Map: ${expenses.keys}"); print("All values of Map: ${expenses.values}"); print("Is Map empty: ${expenses.isEmpty}"); print("Is Map not empty: ${expenses.isNotEmpty}"); print("Length of map is: ${expenses.length}"); } Adding Element To Map If you want to add an element to the existing Map. Here is the way for you: void main(){ Map<String, String> countryCapital = { 'USA': 'Washington, D.C.', 'India': 'New Delhi', 'China': 'Beijing' }; // Adding New Item countryCapital['Japan'] = 'Tokio'; print(countryCapital); } Updating An Element Of Map If you want to update an element of the existing Map. Here is the way for you: void main(){ Map<String, String> countryCapital = { 'USA': 'Nothing', 'India': 'New Delhi', 'China': 'Beijing' }; // Updating Item countryCapital['USA'] = 'Washington, D.C.'; print(countryCapital); } Map Methods In Dart Some useful Map methods in dart. Properties Work keys.toList() Convert all Maps keys to List. values.toList() Convert all Maps values to List. containsKey(‘key’) Return true or false. containsValue(‘value’) Return true or false. clear() Removes all elements from the Map. removeWhere() Removes all elements from the Map if condition is valid. Convert Maps Keys & Values To List Let’s convert keys and values of Map to List. void main() { Map<String, double> expenses = { 'sun': 3000.0, 'mon': 3000.0, 'tue': 3234.0, }; // Without List print("All keys of Map: ${expenses.keys}"); print("All values of Map: ${expenses.values}"); // With List print("All keys of Map with List: ${expenses.keys.toList()}"); print("All values of Map with List: ${expenses.values.toList()}"); } Check Map Contains Specific Key/Value Or Not? Let’s check whether the Map contains a specific key/value in it or not. void main() { Map<String, double> expenses = { 'sun': 3000.0, 'mon': 3000.0, 'tue': 3234.0, }; // For Keys print("Does Map contain key sun: ${expenses.containsKey("sun")}"); print("Does Map contain key abc: ${expenses.containsKey("abc")}"); // For Values print("Does Map contain value 3000.0: ${expenses.containsValue(3000.0)}"); print("Does Map contain value 100.0: ${expenses.containsValue(100.0)}"); } Removing Items From Map Suppose you want to remove an element of the existing Map. Here is the way for you: void main(){ Map<String, String> countryCapital = { 'USA': 'Nothing', 'India': 'New Delhi', 'China': 'Beijing' }; countryCapital.remove("USA"); print(countryCapital); } Looping Over Element Of Map You can use any loop in Map to print all keys/values or to perform operations in its keys and values. void main(){ Map<String, dynamic> book = { 'title': 'Misson Mangal', 'author': 'Kuber Singh', 'page': 233 }; // Loop Through Map for(MapEntry book in book.entries){ print('Key is ${book.key}, value ${book.value}'); } } Looping In Map Using For Each In this example, you will see how to use a loop to print all the keys and values in Map. void main(){ Map<String, dynamic> book = { 'title': 'Misson Mangal', 'author': 'Kuber Singh', 'page': 233 }; // Loop Through For Each book.forEach((key,value)=> print('Key is $key and value is $value')); } Remove Where In Dart Map In this example, you will see how to get students whose marks are greater or equal to 32 using where method. void main() { Map<String, double> mathMarks = { "ram": 30, "mark": 32, "harry": 88, "raj": 69, "john": 15, }; mathMarks.removeWhere((key, value) => value < 32); print(mathMarks); } Dart File Handling:
This section will help you to handle files in Dart. File handling is an important part of
any programming language. Here you will learn the following topics: Read File in Dart, Write File in Dart, Delete File in Dart, Introduction In this section, you will learn how to write file in dart programming language by using File
class and writeAsStringSync() method. Write File In Dart Let’s create a file named test.txt in the same directory of your dart program and write some text in it. // dart program to write to file import 'dart:io'; void main() { // open file File file = File('test.txt'); // write to file file.writeAsStringSync('Welcome to test.txt file.'); print('File written.'); } Add New Content To Previous Content You can use FileMode.append to add new content to previous content. Assume that test.txt file already contains some text. Welcome to test.txt file. Now, let’s add new content to it. // dart program to write to existing file import 'dart:io'; void main() { // open file File file = File('test.txt'); // write to file file.writeAsStringSync('\nThis is a new content.', mode: FileMode.append); print('Congratulations!! New content is added on top of previous content.'); } Write CSV File In Dart In the example below, we will ask user to enter name and phone of 3 students and write it to a csv file named students.csv. // dart program to write to csv file import 'dart:io'; void main() { // open file File file = File("students.csv"); // write to file file.writeAsStringSync('Name,Phone\n'); for (int i = 0; i < 3; i++) { // user input name stdout.write("Enter name of student ${i + 1}: "); String? name = stdin.readLineSync(); stdout.write("Enter phone of student ${i + 1}: "); // user input phone String? phone = stdin.readLineSync(); file.writeAsStringSync('$name,$phone\n', mode: FileMode.append); } print("Congratulations!! CSV file written successfully."); } Introduction To File Handling File handling is an important part of any programming language. In this section, you will learn how to read the file in a dart programming language. Read File In Dart Assume that you have a file named test.txt in the same directory of your dart program. Welcome to test.txt file. This is a test file. // dart program to read from file import 'dart:io'; void main() { // creating file object File file = File('test.txt'); // read file String contents = file.readAsStringSync(); // print file print(contents); } Get File Information In this example below, you will learn how to get file information like file location, file size, and last modified time. import 'dart:io'; void main() { // open file File file = File('test.txt'); // get file location print('File path: ${file.path}'); // get absolute path print('File absolute path: ${file.absolute.path}'); // get file size print('File size: ${file.lengthSync()} bytes'); // get last modified time print('Last modified: ${file.lastModifiedSync()}'); } Read CSV File In Dart Assume that you have a CSV file named test.csv in the same directory of your dart program. Name,Email,Phone John, john@gmail.com, 1234567890 Smith, smith@gmail.com, 0987654321 Now, you can read this file using File class and readAsStringSync() method. We will use split() method to split the string into a list of strings. // dart program to read from csv file import 'dart:io'; void main() { // open file File file = File('test.csv'); // read file String contents = file.readAsStringSync(); // split file using new line List<String> lines = contents.split('\n'); // print file print('---------------------'); for (var line in lines) { print(line); } } Read File From Specific Directory To read a file from a specific directory, you need to provide the full path of the file. Here is an example to read file from a specific directory. // dart program to read from file import 'dart:io'; void main() { // open file File file = File('C:\\Users\\test.txt'); // read file String contents = file.readAsStringSync(); // print file print(contents); } Introduction In this section, you will learn how to delete file in dart programming language using File class and deleteSync() method. Delete File In Dart Assume that you have a file named test.txt in the same directory of your dart program. Now, let’s delete it. // dart program to delete file import 'dart:io'; void main() { // open file File file = File('test.txt'); // delete file file.deleteSync(); print('File deleted.'); }
Function in dart:

Functions are the block of code that performs a specific task. it is basically used to
sub-divide the program code into multiple sub unit.it is also used to reduce common code repetition means The function helps reusability
of the code in the program.
Why Function 1) Avoid Code Repetition 2) Easy to divide the complex program into smaller parts 3) Helps to write a clean code Syntax of Function:
returntype functionName(parameter1,parameter2, ...){ // function body } Naming Convention In dart function are also objects. You should follow the lowerCamelCase naming convention while naming function. You should follow the lowerCamelCase naming convention while naming function parameters Types Of Function Functions are the block of code that performs a specific task.
Here are different types of functions: No Parameter And No Return Type:
void functionName()
{
   Statements;
}

e.g
void additionOfNumber() {
  int a=10,b=20;
  int sum = a + b;
  print("Sum of $a and $b is $sum");
}

void main(){
    additionOfNumber();
}

Parameter And No Return Type:

void functionName(param)
{
   Statements;
}

example:
void additionOfNumber(int a, int b) {

  int sum = a + b;
  print("Sum of $a and $b is $sum");
}

void main(){
    additionOfNumber(10,20);
}
No Parameter And Return Type:

datatype functionName()
{
   return data;
}
example:
int additionOfNumber() {
  int a=10,b=20;
  int sum = a + b;
  return sum;
}

void main(){
    int res = additionOfNumber();
    print("result is $res");
}
Parameter And Return Type
datatype functionName(param)
{
   return data;
}
Example:
int additionOfNumber(int a,int b) {
  int sum = a + b;
  return sum;
}

void main(){
    int res = additionOfNumber(100,20);
    print("result is $res");
}

Write a program to calculate simple interest?

double siCalc(double a,double b, double c) {
  double res = (a*b*c)/100;
  return res;
}

void main(){
    double res = siCalc(100000,2,2);
    print("result is $res");
    res = siCalc(200000,2,2);
    print("result is $res");
    res = siCalc(300000,2,2);
    print("result is $res");
}
Write a program to Swap two number?
void swap(int a, int b){
    int temp=a;
    a=b;
    b=temp;
    print("a: $a, b: $b");
}
void main()
{
    swap(100,20);
}

Anonymous Function In Dart This tutorial will teach you the anonymous function and how to use it.
You already saw function like main(), add(), etc. These are the named functions, which means they have a certain name. But not every function needs a name. If you remove the return type and the function name, the function is called anonymous function. Syntax Here is the syntax of the anonymous function. (parameterList){ // statements } Example 1: Anonymous Function In Dart In this example, you will learn to use an anonymous function to print all list items. This function invokes each fruit without having a function name. void main() { const fruits = ["Apple", "Mango", "Banana", "Orange"]; fruits.forEach((fruit) { print(fruit); }); } Arrow Function In Dart Dart has a special syntax for the function body, which is only one line. The arrow function is represented by => symbol. It is a shorthand syntax for any function that has only one expression. Syntax The syntax for the dart arrow function. returnType functionName(parameters...) => expression; // arrow function that calculate interest double calculateInterest(double principal, double rate, double time) => principal * rate * time / 100; void main() { double principal = 5000; double time = 3; double rate = 3; double result = calculateInterest(principal, rate, time); print("The simple interest is $result."); } Simple Calculation Using Arrow Function This program finds the sum, difference, multiplication, and division of two numbers using the arrow function. int add(int n1, int n2) => n1 + n2; int sub(int n1, int n2) => n1 - n2; int mul(int n1, int n2) => n1 * n2; double div(int n1, int n2) => n1 / n2; void main() { int num1 = 100; int num2 = 30; print("The sum is ${add(num1, num2)}"); print("The diff is ${sub(num1, num2)}"); print("The mul is ${mul(num1, num2)}"); print("The div is ${div(num1, num2)}"); }

Static Component In Dart If you want to define a variable or method that is shared by all instances of a class,
using static keyword.
Static members are accessed using the class name. It is used for memory management.
How To Declare A Static Variable In Dart
static datatype variablename; How To Initialize A Static Variable In Dart To initialize a static variable simply assign a value to it. class ClassName { static dataType variableName = value; // for e.g // static int num = 10; // static String name = "Dart"; } How To Access A Static Variable In Dart You need to use the ClassName.variableName to access a static variable in Dart. class ClassName { static dataType variableName = value; // Accessing the static variable inside same class void display() { print(variableName); } } void main() { // Accessing static variable outside the class dataType value =ClassName.variableName; } Dart Static Method
A static method is shared by all instances of a class.
It is declared using the static keyword. You can access a static method without creating
an object of the class. Syntax class ClassName{ static returnType methodName(){ //statements } }
An example to pass multiple student marks and calculate average?

class StuMarks
{
    static List<int> marks = [];
    static int? avg;
    StuMarks(int m)
    {
        marks.add(m);
    }
   static void calculate()
    {
        int sum = 0;
        for(int i = 0; i < marks.length; i++)
        {
            sum += marks[i];
        }
        avg = sum ~/ marks.length;
    }
   static void display()
    {
        print("Marks: $avg");
    }
}

void main()
{
    var s1 = StuMarks(90);
    var s2 = StuMarks(80);
    var s3 = StuMarks(70);
    StuMarks.calculate();
    StuMarks.display();
   
   
}
Constructor In Dart A constructor is a special method used to initialize an object. It is called automatically when an object is created, and it can be used to set the initial
values for the object’s properties. For example, the following code creates a Person class
object and sets the initial values for the name and age properties. Example 1: How To Declare Constructor In Dart In this example below, there is a class Student with three properties: name, age, and rollNumber. The class has one constructor. The constructor is used to initialize the values of the three properties. We also created an object of the class Student called student. class Student { String? name; int? age; int? rollNumber; // Constructor Student(String name, int age, int rollNumber) { print( "Constructor called"); // this is for checking the constructor is called or not. this.name = name; this.age = age; this.rollNumber = rollNumber; } } void main() { // Here student is object of class Student. Student student = Student("John", 20, 1); print("Name: ${student.name}"); print("Age: ${student.age}"); print("Roll Number: ${student.rollNumber}"); } Write Constructor Single Line
You can also write the constructor in short form. You can directly assign the values to the properties. For example, the following code is the short form of the constructor in one line. class Person{ String? name; int? age; String? subject; double? salary; // Constructor in short form Person(this.name, this.age, this.subject, this.salary); // display method void display(){ print("Name: ${this.name}"); print("Age: ${this.age}"); print("Subject: ${this.subject}"); print("Salary: ${this.salary}"); } } void main(){ Person person = Person("John", 30, "Maths", 50000.0); person.display();
Type of Constructor:
1) Default Constructor or No Argument Based Constructor:
Example 1: Default Constructor In Dart In this example below, there is a class Laptop with two properties: brand, and price. Lets create constructor with no parameter and print something from the constructor. We also have an object of the class Laptop called laptop. class Laptop { String? brand; int? price; // Constructor Laptop() { print("This is a default constructor"); } } void main() { // Here laptop is object of class Laptop. Laptop laptop = Laptop(); } Parameterized Constructor or With Argument Constructor:
Parameterized constructor is used to initialize the instance variables of the class.
Parameterized constructor is the constructor that takes parameters.
It is used to pass the values to the constructor at the time of object creation. Syntax class ClassName { // Instance Variables int? number; String? name; // Parameterized Constructor ClassName(this.number, this.name); } Named Constructor In Dart:
We can provide special unique name constructor and it will be called using Assigned name.
In this example below, there is a class Student with three properties:
name, age, and rollNumber.
The class has two constructors. The first constructor is a default constructor.
The second constructor is a named constructor.
The named constructor is used to initialize the values of the three properties.
We also have an object of the class Student called student. class Student { String? name; int? age; int? rollNumber; // Default Constructor Student() { print("This is a default constructor"); } // Named Constructor Student.namedConstructor(String name, int age, int rollNumber) { this.name = name; this.age = age; this.rollNumber = rollNumber; } } void main() { // Here student is object of class Student. Student student = Student.namedConstructor("John", 20, 1); print("Name: ${student.name}"); print("Age: ${student.age}"); print("Roll Number: ${student.rollNumber}"); }

class Person
{
    String? name;
    int? age;
    Person(this.name, this.age);
    Person.guest()
    {
        name = "Guest";
        age = 18;
    }
    Person.elder(String name, int age)
    {
        this.name = name;
        this.age = age;
    }
    void showOutput()
    {
        print(name);
        print(age);
    }
}
void main()
{
    var p1 = Person("Peter", 23);
    var p2 = Person.guest();
    var p3 = Person.elder("Sam", 45);
    p1.showOutput();
    p2.showOutput();
    p3.showOutput();
}
Constant Constructor In Dart
Constant constructor is a constructor that creates a constant object.
A constant object is an object whose value cannot be changed.
A constant constructor is declared using the keyword const. In this example below, there is a class Point with two final properties: x and y.
The class also has a constant constructor that initializes the two properties.
The class also has a method called display,
which prints out the values of the two properties. class Point { final int x; final int y; const Point(this.x, this.y); } void main() { // p1 and p2 has the same hash code. Point p1 = const Point(1, 2); print("The p1 hash code is: ${p1.hashCode}"); Point p2 = const Point(1, 2); print("The p2 hash code is: ${p2.hashCode}"); // without using const // this has different hash code. Point p3 = Point(2, 2); print("The p3 hash code is: ${p3.hashCode}"); Point p4 = Point(2, 2); print("The p4 hash code is: ${p4.hashCode}"); } Encapsulation in Dart Encapsulation In Dart In Dart, Encapsulation means hiding data within a library, preventing it from outside factors.
It helps you control your program and prevent it from becoming too complicated. Getter and Setter Methods Getter and setter methods are used to access and update the value of private property.
Getter methods are used to access the value of private property. Setter methods are used to
update the value of private property. Example 1: Encapsulation In Dart In this example, we will create a class named Employee. The class will have two private properties _id and _name. We will also create two public methods getId() and getName() to access the private properties. We will also create two public methods setId() and setName() to update the private properties. class Employee { // Private properties int? _id; String? _name; // Getter method to access private property _id int getId() { return _id!; } // Getter method to access private property _name String getName() { return _name!; } // Setter method to update private property _id void setId(int id) { this._id = id; } // Setter method to update private property _name void setName(String name) { this._name = name; } } void main() { // Create an object of Employee class Employee emp = new Employee(); // setting values to the object using setter emp.setId(1); emp.setName("John"); // Retrieve the values of the object using getter print("Id: ${emp.getId()}"); print("Name: ${emp.getName()}"); } Private Properties Private property is a property that can only be accessed from same library. Dart does not have any keywords like private to define a private property. You can define it by prefixing an underscore (_) to its name. Example 2: Private Properties In Dart In this example, we will create a class named Employee. The class has one private property _name. We will also create a public method getName() to access the private property. class Employee { // Private property var _name; // Getter method to access private property _name String getName() { return _name; } // Setter method to update private property _name void setName(String name) { this._name = name; } } void main() { var employee = Employee(); employee.setName("Jack"); print(employee.getName()); } Why Encapsulation Is Important?
Data Hiding: Encapsulation hides the data from the outside world.
It prevents the data from being accessed by the code outside the class. This is known as data hiding. Testability: Encapsulation allows you to test the class in isolation.
It will enable you to test the class without testing the code outside the class. Flexibility: Encapsulation allows you to change the implementation of the class without
affecting the code outside the class. Security: Encapsulation allows you to restrict access to the class members.
It will enable you to limit access to the class members from the code outside the library. Polymorphism In Dart
Poly means many and morph means forms. Polymorphism is the ability of an object to take on many forms. As humans, we have the ability to take on many forms. We can be a student, a teacher, a parent, a friend, and so on. Similarly, in object-oriented programming, polymorphism is the ability of an object to take on many forms. Polymorphism By Method Overriding Method overriding is a technique in which you can create a method in the child class that has the same name as the method in the parent class. The method in the child class overrides the method in the parent class. Syntax class ParentClass{ void functionName(){ } } class ChildClass extends ParentClass{ @override void functionName(){ } } Example 1: Polymorphism By Method Overriding In Dart In this example below, there is a class named Animal with a method named eat(). The eat() method is overridden in the child class named Dog. class Animal { void eat() { print("Animal is eating"); } } class Dog extends Animal { @override void eat() { print("Dog is eating"); } } void main() { Animal animal = Animal(); animal.eat(); Dog dog = Dog(); dog.eat(); }



Tags

Post a Comment

0Comments

POST Answer of Questions and ASK to Doubt

Post a Comment (0)