2015-04-20 8 views
0

Почему мой код работы, когда я использую?»В следующем коде:В чем разница между «и«

for(int i=0;i<7;i++){ 
     if(grid[row][i]!=0){ 
      if(player == "yellow"){ 
       grid[row][i-1] = 'y'; 
      } 
      else if(player == "red"){ 
       grid[row][i-1] = 'r'; 
      } 
     } 
    } 

Но не работает, когда я использую" в следующем коде:

for(int i=0;i<7;i++){ 
     if(grid[row][i]!=0){ 
      if(player == 'yellow'){ 
       grid[row][i-1] = 'y'; 
      } 
      else if(player == 'red'){ 
       grid[row][i-1] = 'r'; 
      } 
     } 
    } 

Он всегда говорит: «Неверная символьная константа».
- сетка представляет собой 2 мерный символ переменной
- строка целым числом
- игрок супер класс (окно), защищенный и в конструкторе суперкласса, занимаемого со значением желтого:

protected String player; 

public window() { 
    player = "yellow"; 
} 
+7

"" для струнных, '' для символов. – jyoon

+3

Всегда сравнивать объекты String с помощью метода equals – copeg

+0

Это может объяснить это очень хорошо: http://stackoverflow.com/questions/3683602/single-quotes-vs-double-quotes-in-c – DTH

ответ

5

Символ - это всего лишь один символ, например «a» или «b». Строка - это один или несколько символов, нанизанных вместе, например «hello world» или «p». Одиночные кавычки (') используются для символьных литералов, а двойные кавычки (") используются для струнных.

+2

Ваш первоначальный оператор не совсем прав, если это не область java отличается от C#, char - это единственный символ, однако только потому, что он имеет один символ, это не значит, что это символ. «a» и «a» - это два разных значения. «a» - это строка с длиной 1, а «a» - значение символа. – CalebB

+0

Вы абсолютно правы, спасибо, что заметили это. – kirbyquerby

+0

Хорошо, спасибо. Это помогает мне лучше понять Java. –

3

В Java используется "" для строк из букв (струнные) и '' для одного символа (си)

Пример:

  • "The fox jumped" будет окружен двойными кавычками, потому что она имеет более чем один символ
  • 'c' бы в одинарных кавычках, потому что он имеет только один символ
  • ..

Знайте, что String может быть составлен одним или несколькими символами, а char состоит из одного символа.

+0

Поймите свой комментарий на ответ Кирбайкерби. Понятие string vs char немного отличается от того, как вы его описываете. – CalebB

+0

Я добавил для него редактирование. Спасибо. – Forseth11

+0

Спасибо! Мне это очень помогает –

Смежные вопросы