2016-07-07 61 views
-1

我對Java非常陌生,並且一直在使用Codecademy,並且在瞭解三元條件之後,我想知道是否可以使用字符串代替char?我知道在Java中字符串不是真正的原始數據類型,而字符是,但是您似乎應該能夠打印出字符串而不是單個字符,而不必使用if/else語句或類似的東西。可以在三元條件語句中使用字符串嗎?

//my ternary with char 
public class dogBreeds 
{ 
    public static void main(String[] args) 
    { 
     int dogType = 2; 
     char dalmation = (dogType == 2) ? 'Y':'N'; 
    } 
} 

//my ternary with string (or something like it) in place of char 
public class dogBreeds 
{ 
    public static void main(String[] args) 
    { 
     int dogType = 2; 
     String dalmation = (dogType == 2) ? 'Yes':'No'; 
    } 
} 
+3

對於字符串使用雙引號。字符串是不可變的。 – Li357

+0

這也是你應該使用'enum DogType'來代替magic int的情況。 – chrylis

回答

1

當代表String S,使用雙引號,因爲它們意味着一個字符串。單引號表示一個char文字:

String dalmation = (dogType == 2) ? "Yes" : "No"; 

沒有與Stringchar類型的差異。字符串是不可變的,創建後不能更改。當一個String對象被創建並且構造函數被調用時,它不能被改變。如果您想使用String s,請考慮StringBuilder,如果您希望它是可變的。

2

應該

String dalmation = (dogType == 2) ? "Yes": "No"; 
+0

我以爲袋熊怕狗:-P –

+0

可怕的袋熊不害怕的是新鮮的 –

+0

他們很可怕,我會給你那:) – Li357

0

應該是這樣

String dalmation = (dogType == 2) ? "Yes":"No"; 

字符串使用double quotes函所附哪裏都是這樣做時

String dalmation = (dogType == 2) ? 'Yes': 'No'; 

字符與single quotes

0

你有一個錯字.. 提到您正在使用char符號(單引號),它必須用雙引號完成。 。如:

String dalmation = (dogType == 2) ? "Yes": "No"; 
相關問題