Temelden İleri Seviyeye Dart Programlama! - SiberMega - Basit Yazılım ve Tasarım Eğitimleri

Popüler Yazılar

Post Top Ad

Responsive Ads Here

Post Top Ad

Responsive Ads Here

03/08/2022

Temelden İleri Seviyeye Dart Programlama!


Temelden İleri Seviyeye Dart Programlama

Dart Nedir?

Dart Yazmak İçin Kullanılan IDE’ler

1- print() Komutu ve Temel Başlangıç

void main() {}
void main() {print("Hello World");}

2- Yorum Satırları

// Tekli yorum satırı yazmayı sağlar./* */  birden fazla yorum satırı için kullanılır.

3- Değişkenler

int money= 150; // Tam Sayı Değerleri int anahtar sözcüğüyle ifade edilir.
String hello= "Hello" // Yazı Değerleri String anahtar sözcüğüyle ifade edilir.
print(hello + money); // aynı türden olmayan veriler toplanamaz.
print(hello + " " + "$money");
print("Merhaba" + " " + '${25 + 5}');
double sayi = 5.4; // Ondalıklı Sayı Değerleri double anahtar sözcüğüyle ifade edilir.
userMoney = userMoney ~/ 2;
var userName = "Berkcan";
final int bankMoney = 100;
const int data = 15;
bool isCustomerRich = true;

4- Koşullu İfadeler

if(koşul 1){  // Koşul 1 doğruysa çalışacak kodlar.}else if(koşul 2){  // Koşul 2 doğruysa çalışacak kodlar.}else{  //Koşul 1 ve Koşul 2 doğru değilse çalışacak kodlar.}
int notDegeri = 150;if(notDegeri >= 90 && notDegeri<=100){   print("Notunuz : AA");}else if(notDegeri >= 80 && notDegeri < 90 ){   print("Notunuz : BA");}else if(notDegeri >= 70 && notDegeri < 80){   print("Notunuz : BB");}else if(notDegeri >= 60 && notDegeri < 70 ){  print("Notunuz : CB");}else if(notDegeri >= 50 && notDegeri < 60){  print("Notunuz : CC");}else if(notDegeri >= 0 && notDegeri < 50 ){  print("Notunuz çok düşük yazmaya tenezzül bile etmedik");}else{  print("Hatalı veya eksik giriş");}
final int classDegree = 2;switch (classDegree) {   case 0:     print("Yeterli");     break;   case 1:     print("Olur");     break;   case 2:     print("Bravo");     break;   default:     print("Başarısız");}

5. Operatörler

== eşittir!= eşit değildir> büyüktür< küçüktür>= büyük eşittir<= küçük eşittir
&& AND => Her iki koşulun sağlanması durumunda true olur.|| OR => İki koşuldan biri doğruysa true olur.! NOT => var olan durumu tersine dönüştürür.
int money = 15;
money += 1; //money = money + 1
money++ // money = money + 1
+ Toplama
- Çıkarma
/ Bölme
* Çarpma
% Mod alma

6- Döngüler

for(var baslangic;bitişŞartı; artış){     //Tekrarlanacak kod yapısı}
for (var i = 0; i < 5; i++) {      print(i);}
for(var veri in veriKümesi){     //Tekrarlanacak kod yapısı}
List isimListesi = ["Berkcan", "Şevval", "Nurana", "Mete"];for (var isim in isimListesi) {     print(isim);}
while(şart){    //Tekrarlanacak ifade}  
var sayac = 1;while (sayac < 4) {    print(sayac);    sayac += 1;}
do{   //Tekrarlanacak kod bloğu}while(koşul);

7- Listeler

List<int> moneys = [100, 110, 500];print("1. Müşterinin parası : ${moneys[0]}");
List<int> moneys = [100, 110, 500, 200, 300];moneys.sort();print(moneys);
List<int> moneys = [100, 110, 500, 200, 300];moneys.add(500);print(moneys);
List<int> moneys = [100, 110, 500, 200, 300];moneys.insert(2,300);print(moneys);
List<int> moneys = [100, 110, 500, 200, 300];moneys.clear();print(moneys);
List<int> moneys = [100, 110, 500, 200, 300];moneys.remove(110);print(moneys);
List<int> moneys = [100, 110, 500, 200, 300];moneys.removeAt(110);print(moneys);
List<int> moneys = [100, 110, 500, 200, 300];moneys.lenght();print(moneys);
var sportlist = ['cricket', 'tennis', 'football'];
print(sportsList.any((e) => e.contains(‘cricket’)));
var ilkListe = [1,2,3,4,5,6];
print(ilkListe.where((i) => i < 4));
var tekSayilar = [1,3,5];var ciftSayilar =[2,4,6];var sonListe= [...tekSayilar,...ciftSayilar];print(sonListe);

8- Fonksiyonlar

dönüşTürü fonksiyonAdi(Parametre){   //Kodlar}
void main() {   final int userMoney = 0;   controlUserMoney(userMoney, 0);}void controlUserMoney(int money, int minValue) {if (money > minValue) {   print("Para var");} else {   print("Para yok");  }}
void main(){
final newResult = convertToStandartDolar(100, dolarIndex: 13);
final newResult2 = convertToStandartDolar(100); final newResult3 = convertToEuro(userMoney: 500);}int convertToStandartDolar(int userMoney, {int dolarIndex: 14}) { return userMoney ~/ dolarIndex;}int convertToEuro({required int userMoney, int dolarIndex = 14}) { return userMoney ~/ dolarIndex;}
Map<String, int> users = {"Ahmet": 20,"Mehmet": 30,};print("Ahmet'in parası ${users['Ahmet']}");
Map<String, List<int>> bgBank = {"Ahmet": [100, 200, 300]};bgBank["Mehmet"] = [30, 50];bgBank["Veli"] = [30];for (var item in bgBank.keys) {   // Bankanın tüm elemanlarıfor (var money in bgBank[item]!) {  //bgBank[item]!-> musterinin hesaplari demek     //User hesapları dolaşılır.      if (money > 150) {         print("Krediniz hazır");      }    }}

Nesneye Yönelik Programlama

1- Sınıf Yapısı

void main(){
User user1 = User('Berkcan', 15, age: 23, city: 'Ankara');
print(user1.name);
}
class User {
// Özellikleri yazılmalı// late boş olabileceğini söylememizi sağlıyor late final String name; late int money; late final int? age; User(String name, int money, {required int? age, String? city}) { this.name = name; this.money = money; this.age = age; this.city = city; }}

2- Kalıtım(Inheritance)

void main() {   final userNormal = User("Berkcan", 15);   userNormal.sayMoneyWithCompanyName();}abstract class IUser {  final String name;  final int money;  IUser(this.name, this.money);  void sayMoneyWithCompanyName() {      print("$name $money TL paranız bulunmaktadır");   }}class User extends IUser {   final String name;   final int money;   User(this.name, this.money) : super(name, money);}class BankUser extends IUser {   final int bankingCode;   BankUser(String name, int money, this.bankingCode) : super(name, money);}

3-PolyMorphism(Çok Biçimlilik)

void main() {  var kus = Kus();   kus.fly();}abstract class Hayvan {}abstract class Ucabilenler {   void fly();}abstract class Havlayabilenler {  void bark();}abstract class Kosabilenler {    void run();}class Kopek extends Hayvan implements Havlayabilenler, Kosabilenler {  @override  void bark() {  print("Köpek Havlayabilir");}@overridevoid run() {   print("Köpek koşabilir");  }}
class Kus extends Hayvan implements Ucabilenler {
@override
void fly() {
print("Kuş uçabilir.");
}
}
class Insan implements Kosabilenler { @override void run() { print("İnsan Koşabilir."); }}

4- Enum

void main() {  final customerMouse = Mouses.a4;  print(customerMouse.index);  print(customerMouse.name);  if (customerMouse == Mouses.a4) {}  if (customerMouse.name == 'a4') {}}enum Mouses { magic, apple, logitech, a4 }

5- Extension Kullanımı

void main(){
String? name;
if ('ali'.isAdmin()) { print('object'); } name.isAdmin();}extension StringUserCheckExtension on String? { bool isAdmin() { return (this ?? '').toLowerCase() == 'admin'.toLowerCase(); }}

6- Mixin Yapısı

class Bank with BankMixin {    @override    void sayBankHello() {        calculateMoney(100);    }}mixin BankMixin {   void sayBankHello();  void calculateMoney(int money) {     print('money');   }}

7- Static Metod ve Değişkenler

void main(List<String> args) {    print(Asinifi.degisken);    Asinifi.degisken = 100;    print(Asinifi.degisken);   print(Asinifi.oran);   Asinifi.metod();}class Asinifi {   static int degisken = 10;   static final double oran = 10.45;   static void metod() {   print("Merhaba");  }}

8- Hata Yönetimi

void main() {   print("Program Başladı");   try {     int sayi = 100 ~/ 0;     print(sayi);   } on IntegerDivisionByZeroException {     print("Bölen 0 olamaz");   } catch (e) {    print("Hata: $e");   } finally {   print("Program bitti");   }}
void main(List<String> args) {   String userName = "a";   if (userName.length > 2) {       print('a');    } else {       throw UserNameException();     }}class UserNameException implements Exception {    @override    String toString() {       return 'user name null girmişsin bunu düzelt';    }}

9- Future, async ve await İşlemleri

Future<void> main(List<String> args) async {   print("a");   // 2 saniye bekle sonra gel hiçbir müşteri alma.    await Future.delayed(Duration(seconds: 2));    print("ab");}//Bir servise cevap sonradan gelecek ve ben bu işlem yapılana kadar devam etmek istiyorsam kullanırız.

Kısa Bir Kapanış

Hiç yorum yok:

Yorum Gönder

Görüş ve Düşüncelerinizi Bizimle Paylaşmayı Unutmayın.

Post Top Ad

Responsive Ads Here