Temel Dil
Operatörler
US işleçleri, noktalama ve öncelik sırası.
US işleçleri aritmetik, atama, karşılaştırma, mantık, null güvenliği ve US'a özgü belirteçleri (=\>, !=\>, @, ^, -\>) kapsar. Bazı katalog öğeleri noktalama veya tip sonekidir.
Aşağıdaki özet tablo operators-reference-table.json kaynağından üretilir; ayrıntılar madde madde Operatör Referansı’nda ve ilgili sayfalardadır.
Öncelik sırası
Öncelik sıkıdan gevşeğe (language-spec §6, OperatorPrecedence):
- Üye, çağrı, indis,
?., sonek++-- - Tekil
+-!, önek++--,@ */%+-\<\<=\>\>===!=&&||??- İfade-eğer (
=\>/!=\>) - Atama
=+=-=*=/=(sağa birleşir)
Atama ailesi sağa birleşir. Diğer ikili aileler soldan bağlanır (parser Pratt).
Referans tablosu
| İşleç | Kategori | Amaç | İşlenenler / bağlam | Sonuç | Öncelik |
|---|---|---|---|---|---|
= | assignment | Atama; atanan değeri üretir | lvalue, ifade | atanan değer | 11 (sağa) |
== | comparison | Eşitlik | değer, değer | mantıksal | 6 |
!= | comparison | Eşitsizlik | değer, değer | mantıksal | 6 |
\< | comparison | Küçük-mü; generic tip argümanı açılışı | sıralanabilir, sıralanabilir | mantıksal | 5 |
\<= | comparison | Küçük-eşit | sıralanabilir, sıralanabilir | mantıksal | 5 |
\> | comparison | Büyük-mü; generic tip argümanı kapanışı | sıralanabilir, sıralanabilir | mantıksal | 5 |
\>= | comparison | Büyük-eşit | sıralanabilir, sıralanabilir | mantıksal | 5 |
+ | arithmetic | Toplama veya tekil artı (metin birleştirmez) | sayısal [, sayısal] | sayısal | 4 ikili / 2 tekil |
- | arithmetic | Çıkarma veya tekil eksi | sayısal [, sayısal] | sayısal | 4 ikili / 2 tekil |
* | arithmetic | Çarpma | sayısal, sayısal | sayısal | 3 |
/ | arithmetic | Bölme (tamsayı sıfıra doğru; /0 → US1502) | sayısal, sayısal | sayısal | 3 |
% | arithmetic | Kalan (sıfıra doğru; %0 → US1502) | sayısal, sayısal | sayısal | 3 |
&& | logical | Kısa devre VE | mantıksal, mantıksal | mantıksal | 7 |
| ` | ` | logical | Kısa devre VEYA | mantıksal, mantıksal | |
! | logical | Mantıksal değil | mantıksal | mantıksal | 2 |
++ | arithmetic | Artırma (önek yeni / sonek eski) | sayısal lvalue | sayısal | 1 sonek / 2 önek |
-- | arithmetic | Azaltma (önek yeni / sonek eski) | sayısal lvalue | sayısal | 1 sonek / 2 önek |
+= | assignment | Bileşik ekle; olay aboneliği | lvalue, sayısal | işleyici | atanan / olay |
-= | assignment | Bileşik çıkar; olay abonelik kaldırma | lvalue, sayısal | işleyici | atanan / olay |
*= | assignment | Bileşik çarp | sayısal lvalue, sayısal | sayısal | 11 (sağa) |
/= | assignment | Bileşik böl | sayısal lvalue, sayısal | sayısal | 11 (sağa) |
=\> | us-specific | Sonuç / ifade-eğer doğru dal / seç / lambda | bağlama özel | bağlama özel | 10 (ifade-eğer) |
!=\> | us-specific | İfade-eğer yanlış dalı | bağlama özel | bağlama özel | 10 (ifade-eğer) |
@ | us-specific | Örnek oluşturma (new yok; DI değil) | tip + arg/başlatıcı | örnek | 2 |
~ | nullability | Boş değer (yalnız T?) | — | null | literal |
? | nullability | Nullable tip soneki T? | tip | T? | tip soneki |
?. | nullability | Null-güvenli üye erişimi | nullable alıcı, üye | nullable | 1 |
?? | nullability | Null birleştirme | nullable, varsayılan | ortak tip | 9 |
-\> | us-specific | dön öğe adlandırma | koleksiyon -> değişken | — | sözdizim |
^ | us-specific | Sorgu/transform geçerli öğe | sorgu lambda | öğe | bağlam |
\{ \} ( ) [ ] . , : ; | punctuation | Blok/grup/koleksiyon/üye-süre/ayırıcı/tip/deyim sonu noktalaması | sözdizim | — | n/a |
İlgili konular
Operatör Referansı · Veri Tipleri · Null ve Nullable · Koşullar · Literaller
Referans
Bu sayfa 8 katalog öğesini kapsar. Aşağıdaki maddeler language-spec, örnekler ve katalog alanlarından üretilmiştir.
Aritmetik ifadeler
Nedir?
İkili + - * / % ve tekil + -. Öncelik: üye/çağrı → tekil/@ → */% → +- → karşılaştırma → && → || → ?? → ifade-eğer → atama.
Sözdizimi
sonuç: tamsayı = 2 + 3 * 4Basit örnek
sonuç: tamsayı = 2 + 3 * 4syaz "{sonuç}"Çıktı
14
Dikkat edilmesi gerekenler
- Uyumsuz ikili US0807; sıfıra bölme US1502.
Karşılaştırma / mantık
Nedir?
Karşılaştırma ve mantık işleçleri. &&/|| kısa devreli (sorgu yükleminde de).
Sözdizimi
aktif: mantıksal = yaş >= 18 && !pasifBasit örnek
yaş: tamsayı = 38eğer yaş >= 18 { syaz "Yetişkin" }Çıktı
Yetişkin
Geçersiz örnek
eğer "metin" { syaz "x" }US0812 ConditionType
Dikkat edilmesi gerekenler
- Koşul mantıksal olmalı (US0812).
İlgili konular
Null güvenli erişim
Nedir?
?. nullable alıcıda güvenli üye erişimi; uzun eşleşmeli ayrı belirteç.
Sözdizimi
kullanıcı?.adBasit örnek
ad: metin? = kullanıcı?.adDikkat edilmesi gerekenler
- Düz
.nullable’da US0811; null alıcı runtime US1513.
İlgili konular
Null birleştirme
Nedir?
?? sol boşsa sağı üretir; öncelik || sonrası, atama öncesi.
Basit örnek
ad: metin? = ~syaz ad ?? "Misafir"Çıktı
Misafir
İlgili konular
Artırma / bileşik atama
Nedir?
Önek/sonek ++ -- ve bileşik += -= *= /=. Atamalar sağa birleşir.
Sözdizimi
değer++değer += 2Basit örnek
değer: tamsayı = 10değer++syaz "{değer}"Çıktı
11
'@' oluşturma
Nedir?
Örnek @Tip(...) veya @Tip \{ ... \} ile; new yok. Soyut sınıf/arayüz oluşturulamaz.
Sözdizimi
@Kullanıcı { ad = "İbrahim" }@Kullanıcı("İbrahim")@HesapMakinesi()Basit örnek
kullanıcı: Kullanıcı = @Kullanıcı { ad = "İbrahim" }syaz kullanıcı.adÇıktı
İbrahim
Dikkat edilmesi gerekenler
@DI sayacını artırmaz.- Soyut → US0828; eksik zorunlu alan US1512.
İlgili konular
Atama ifadesi
Nedir?
Atama ifadedir ve atanan değeri üretir. = += -= *= /= sağa birleşir.
Sözdizimi
x: tamsayı = 1x = 2y: tamsayı = (x = 3)Basit örnek
x: tamsayı = 1x = 2syaz "{x}"Çıktı
2
İlgili konular
Öncelik sırası
Nedir?
İfade işleçlerinin sıkıdan gevşeğe önceliği language-spec §6 ile sabittir. Ayrı bir kullanıcı sözdizimi biçimi değildir; ayrıştırıcı bu sırayı uygular.
US bunu nasıl denetler?
Sıra: (1) üye/çağrı/indis/?./sonek ++ -- (2) tekil + - !, önek ++ --, @ (3) * / % (4) + - (5) \< \<= \> \>= (6) == != (7) && (8) || (9) ?? (10) ifade-eğer (11) atama = += -= *= /= (sağa birleşir). Atama ifadedir ve atanan değeri üretir.
Geçerli örnek
sonuç: tamsayı = 2 + 3 * 4syaz "{sonuç}"Çıktı
14
Dikkat edilmesi gerekenler
2 + 3 * 4sonucu 14'tür (*önce).^yalnız sorgu lambda konumunda geçerlidir; normal değişken değildir.- Uyumsuz ikili işlem US0807; koşul tipi US0812 — bunlar öncelik hatası değildir.