2016-02-04 5 views
-10

Эй, я первый год, когда изучаю основы Java. Я просматривал программу, которая измеряет средний осадок в течение года с использованием массивов. Внутри конструктора используется String year; - почему вы использовали String, а не int? Что такое Strings и для чего они используются - в простоте **Когда вы используете String over int

Я попытался посмотреть в Интернете, но есть такие огромные вариации, и это слишком сложно для меня. Я только что узнал о Java/CS уже пару месяцев в университете.

+2

Это действительно зависит от того, как он использует информацию. Вы можете использовать любой тип данных. Может быть, вы можете отправить программу здесь? –

+0

Лучшее место для изучения: http://docs.oracle.com/javase/tutorial/java/data/strings.html –

+0

См. «Типы данных на Java» – thedarkpassenger

ответ

4

Обычно вы используете тип, который наилучшим образом соответствует вашему сценарию.

  • Если вам нужно сделать математику, связанные с номером, используйте тип данных, способный что, как int, double, long, float и т.д.

  • Если вам не нужно выполнять математику на нем, или вы используете его в качестве метки, тогда допустим String.

(В действительности все, если вы действительно хотите сделать что-то с датой, например, вычесть два года вместе, в идеале нужно использовать соответствующий объект для этого, а также.)

Из того, что вы описываете, годы действительно означают только заголовок столбца, и от них больше ничего не требуется, поэтому String - единственный подходящий тип.

+0

Спасибо. Я понимаю – Newbie

0

Это зависит от того, откуда и откуда идет информация.

Например, я недавно выполнял проект, в котором использовался инструмент сериализации xml, в котором сериализатор должен был преобразовать как строки, так и ints. Было проще использовать сериализатор, если я просто сохранил все переменные в java как строки. Мне не нужно было никаких вычислений с теми, которые были номерами в любом случае.

0

String используется с набором символов, как, например:

  • Струны: Earth, школа, окна

  • Ints: От -2147483648 до 2147483647 (без десятичных знаков)

  • Chars: a, b, c, d, e

Мы можем классифицировать так:

  • Для чисел: байт, короткие, Int, Float, двойной, длинный

  • Для characers: String, символ

  • Для булевых (True/False): Boolean

Для получения дополнительной информации, вы можете проверить его из Oracle Java Documentation

0

строки текст, Integer числа. Причина, по которой вы используете оба эти метода, - это то, как они работают.

Например, суммируя

String string1 = "1"; 
String string2 = "2"; 
System.out.printLn(string1 + string2); 
// Will output 12 

int x = 1; 
int y = 2; 
System.out.printLn(x + y); 
// This will output 3 

Сравнение также различна для двух.

+1

* «Сравнение также отличается для два. "* Не когда вы используете' Integer' вместо 'int'. – Tom

+0

Ах, это изменит. Я предположил, что «Целое» было таким же, как «int» в C#, мне плохо. – Swen

+0

Спасибо, что имеет смысл! – Newbie

0

лучший ответ: Строки используются для хранения чисто текстовых данных. Это может включать в себя: слова, индивидуальные символы, отдельные цифры и символы или любую комбинацию любой из этих вещей. Чтобы определить строку, вы должны ввести:

String variable = "some words and numbers here 12345?!"; 

Все, что находится внутри кавычек, будет частью переменной.

Целые числа используются для хранения не десятичных чисел. Например, если вы хотите сохранить числовые данные, которые могут использоваться математическими операциями (например, +, -, /, *), вам нужно использовать целое число. Хотя строки могут содержать числовые данные, они не могут быть непосредственно использованы в математических упражнениях. Пример:

//this works 
    int a=4; 
    int b=2; 
    int c=(a+b); 
    //int c now equals 6 
    //this does not work 
    String a="4"; 
    String b="2"; 
    String c=(a+b); 
    //String c now equals 42, because you are adding the strings "4"+"2", not the numbers 4+2. 

надеюсь, что это помогает.

0

Строка используется, когда вы хотите сохранить символьные данные, и int будет использоваться, когда вы хотите сохранить числовые данные, находящиеся между -2147483648 и 2147483648. Стинг может содержать очень большое количество символов, но каждый символ будет занимать 2 байта или 16 бит памяти для хранения. Int - фиксированный размер 4 байта или 32 бита. Таким образом, для хранения года, такого как «2016», требуется больше памяти для хранения в магазинах в виде строки, а затем для хранения как целого.

Причина, по которой кто-то может хранить год в String, в отличие от int, может быть потому, что они хотели бы выполнять на нем общие строковые операции. В качестве строки легко прочитать код, который использует, например, только последние две цифры.

String year = "2016"; 
System.out.println("Today is Thursday 02/04/" + year.substring(2)); 

Это может быть легче читать, чем выполнять некоторую арифметику на int, чтобы получить тот же результат.

int year = 2016; 
int shortYear = year - 2000; 
System.out.println("Today is Thursday 02/04/" + shortYear; 

Есть еще много причин, но это простой пример.