#2. Вводный курс по языку программирования JAVA. Переменные и типы

<<Предыдущий урок   Список уроков   Следующий урок>>

Примитивные типы в Java

Несмотря на то, что язык Java объектно-ориентирован, не все типы – объекты. Существуют так называемые примитивы (primitives). Вот список всех примитивов в Java:

  • byte (число, 1 байт)
  • short (число, 2 байта)
  • int (число, 4 байта)
  • long (число, 8 байтов)
  • float (число с плавающей точкой, 4 байта)
  • double (число с плавающей точкой, 8 байтов)
  • char (символ, 2 байта)
  • boolean (true (истина) или false (ложь), 1 байт)

Java – строго типизированный язык, это означает, что мы должны объявить переменные , прежде чем будем их использовать.

Числа в Java

Чтобы объявить и присвоить число используйте следующий синтаксис:

int myNumber;
myNumber = 5;

= это оператор присваивания.

Вы можете объединить эти операции:

int myNumber = 5;

Чтобы объявить число с плавающей точкой, используйте следующий синтаксис:

double d = 4.5;
d = 3.0;

Если вы хотите использовать float, то:

float f = (float) 4.5;

Или:

float f = 4.5f

(f – более короткий способ объявить float)

Символы и строки в Java

В Java символ – свой собственный тип, и это не просто число. Синтаксис:

char c = 'g';

String – не примитив. Это реальный тип. Вот несколько способов использования строки:

Создание строки с помощью конструктора

String s1 = new String("Who let the dogs out?");

С помощью двойных кавычек (” “).

String s2 = "Who who who who!";

В Java присутсвует конкатенация (объединение) строк при помощи оператора +.

String s3 = s1 + s2;

В Java нет перегрузки операторов! Оператор + определен только для строк, вы никогда не увидите его с другими объектами, только с примитивами.

int num = 5;
String s = "I have " + num + " cookies";

Заметьте, что кавычки с примитивами не используются.

Логический тип boolean в Java

Каждый оператор сравнения в Java возвращает булевскую переменную (boolean), которая может принять только два значения: true (истина) или false (ложь).

boolean b = false;
b = true;

boolean toBe = false;
b = toBe || !toBe;
if (b) {
    System.out.println(toBe);
}

Оператор || это логическое “или”.

А например, такой код не будет работать по причине несовместимости типов:

int children = 0;
b = children;  // Не будет работать, требуется boolean, а найден int
if (children) {  // Не будет работать, требуется boolean, а найден int
    // Не будет работать, требуется boolean, а найден int
}
Попрактикуйтесь в написании кода, прежде чем перейти к следующему уроку.

Дополнительное чтение:

Переменные и идентификаторы в Java

Переменные и константы в Java

Литералы в Java

Более подробно о типах данных в Java

Преобразование типов данных в Java

Переменные и области видимости в Java

<<Предыдущий урок   Список уроков   Следующий урок>>

Коментарі: 27
  1. bazz

    Артём,
    одно значение, это дроби
    double , float = пишутся с плавающей точкой 3.1 2.3 0.9 и т.д (double , float отличаются размером )

    Игорь , если не можеш гуглить, то лучше даже не начинать, вначале надо очень ОЧЕНЬ много гуглить инфу про то как начать и вообще как жить(хД) , другой вариант раскошелится на ментора(учителя) или курсы платные где все по полочкам не надо ничего гуглить это сэкономит кучу времени и заберет кучу твои денег.

  2. Игорь н

    как понять этот урок если нечего не понимаешь,буквы символы (с чего начать?)

    1. Father for Python
      Father for Python

      Java усложненная версия языка C++ который сам по себе сложный. Не в коем случае не начинайте обучение c JAVA это самоубийство. Идеальный переход:
      python-pascal-c++-java Если вы гипер умный можете обойтись без паскаль, он вам не пригодится.

  3. Артём

    double d = 4.5;
    d = 3.0; Почему у вас переменной d присвоено два значения?

    1. Виталий Непочатов
      admin (автор)

      Это просто пример записи

    2. отвечаю админу – присоединяюсь к вопросу – вам оно может и понятно, но мне, как человеку, никогда программированием не занимавшемуся, это вообще не понятно, и не только это. Хотелось бы курсов типа – вот ложечка кашки, это ложечка? Ложечка! А кашка вкусная? Вкусная кашка! Как с ребенком, С объяснением основ. А вы преподаете на таком уровне, на котором новичкам не понятно, а знающим, думаю, не интересно

    3. Father for Python
      Father for Python

      в java как только ты создаешь переменную с каким-либо типом, ты должен сразу задать ему число или строку. Она может быть любой, и по моему проще присвоить 0. А дальше работаешь с ней как хочешь.И я бы не советовал начинать с java это боль)

    4. Father for Python
      Father for Python

      И не надо гнать на курс. Самое идеально , что я видел. Просто когда ты выучил хотя 2-3 основных языка программирования, тебе не нужно учить с самого начала уже на более сложном языке основы основ. Если ты хочешь научить ребенка готовить, ты не будешь ему пояснять что ложечка есть ложечка, а кашечка есть кашечка. Нични с пакаль ; с++ – а джава уже последнее

  4. Sergiu

    спасибо за урок, но про boolean понять не могу.
    почему сначала (boolean b = false;) задался примитив b типа boolean, ему присвоилось значение false,
    а потом сразу к тому же примитиву присваевается другое значение (true)?
    а потом создаётся ещё один примитив к которому опять сначала присваевается falce а потом значение b.

  5. Vladimir

    Скажите пожалуйста, что это за ошибка и как её исправить? Error:(20, 9) Gradle: error: reached end of file while parsing

    1. Павел

      Скорее всего, у вас есть продолжение программы после конца файла(да, я просто перевел текст):

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

      -У Вас просто не хватает этих скобок

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

      Надеюсь, я помог Вам.

  6. Спасибо за долю юмора. Надеюсь приколы с “быть или не быть” заметили все :)

    1. Павел

      +++

  7. String s1 = new String(“Who let the dogs out?”);

    зачем здесь перед String пишется new ? Что new означает?

  8. Анатолий

    Очень понятно и подробно объяснено.Это мой третия язык програмирования.Я уже знаю C++ и Python.Скоро выучу и яву.Всегда хотел попробовать себя в качестве android-разработчика

    1. Егор

      Анатолий вам как то пригодилось изучение языков???

  9. Почему у меня выдает S3 вместо Who let the dogs out?Who who who who

    1. Никита
      Никита

      возможно, Вы поставили кавычки. Без кавычек консоль выдаёт значение переменной, а с ними – то, что между кавычками написано.

  10. мне ни чего не ясно) я абсолютный ноль в этом и урок мне ни чего не дал)

  11. Складывая целочисленную переменную и строку, Вы всегда получаете строку.
    Например:
    int month = 15;
    String phrase = “Today is March, ” + 15;

    Тогда в переменной phrase получите: “Today is March, 15”. Так как тип переменной phrase – строковый, то строковым он и останется, “поглотив” в себя int.

    P.S. Надеюсь, всё понятно разъяснил :)

  12. String s = “I have ” + num + ” cookies”; а что делает эта строка, как складываються строки вродебы ясно, а вот как складывать целочислнные переменные и строки? Что там получиться в этой s?

  13. спасибо за урок, но про boolean понять не могу.
    почему сначала (boolean b = false;) задался примитив b типа boolean, ему присвоилось значение false,
    а потом сразу к тому же примитиву присваевается другое значение (true)?
    а потом создаётся ещё один примитив к которому опять сначала присваевается falce а потом значение b.
    также непонятна строчка с if. что она вообще обозначает?

    помогите пожалуйста! распишите каждое слово из предпоследнего прямоугаольника.что и для чего оно делает. заранее спасибо.

    1. Анатолий

      if это условный опертаор.Когда узнаешь что такое ветвление программы ты поймешь.

Додати коментар

Цей сайт використовує Akismet для зменшення спаму. Дізнайтеся, як обробляються ваші дані коментарів.