Pro Java: Оператор if/else

Оператор if является основным оператором управления, который позволяет Java принимать решения или, точнее, выполнять операторы по условию. Оператор if содержит выражение и оператор. Если выражение равно true, то интерпретатор выполняет данный оператор. Однако если выражение равно false, то оператор пропускается. Выражение всегда должно возвращать тип boolean. Например:

if

( username == null) // Если имя пользователя равно null, то
     username = «John Doe»; // определить его

Согласно синтаксису оператора if, выражение необходимо заключать в круглые скобки, хотя они и кажутся избыточными.

Как уже упоминалось, группа операторов, заключенная в фигурные скобки, сама является оператором, поэтому можно записать такой оператор if:

if

(( address == null) || ( address. equals(«»))) {
      address = «[undefined]»;
      System.out.println(«WARNING: адрес не указан.»);
}

Оператор if может содержать необязательное ключевое слово else, за которым следует второй операнд. При записи оператора в таком виде вычисляется выражение, а затем, если результат равен true, выполняется первый оператор. Иначе выполняется второй оператор. Например:

if

( username != null) System.out.println(«Привет » + username);
   else {
      username = askQuestion(«Как тебя зовут?»);
      System.out.println(«Привет » + username + «. Welcome!»);
   }

При использовании вложенных операторов if/else необходимо убедиться в том, что оператору else соответствует подходящий оператор if. Рассмотрим следующие строки:

if

( i == j)
  if ( j == k) System. out.println(«i равно k»);
else
 
System.out.println(«i не равно j»); // ОШИБКА!!

В этом примере внутренний оператор if образует единый оператор, выполнение которого зависит от внешнего оператора if. К сожалению, не ясно (если связи не определяются отступами), к какому оператору if относится данный оператор else. В представленном примере отступы сбивают с толку. Согласно правилу, такой оператор else связан с ближайшим к нему оператором if. С правильно установленным отступом этот код выглядит следующим образом:

if ( i == j)
  if ( j == k) System.out.println(«i равно k»);
     else
  
System.out.println(«i не равно j»); // ОШИБКА!!

Это допустимый код, но он явно отличается от кода, который хотел записать программист. При работе с операторами if лучше использовать фигурные скобки. Это облегчит чтение кода. Лучше писать код таким образом:

if

(

i

== j) {
   if (

j

==

k

)
       System.out.println(«i равно k»);
} else {
   System.out.println(«i не равно j»);
}

Оператор else if

Оператор if/else используют при проверке состояния и при выборе одного из двух операторов или блоков программы. Но что делать, если нужно выбирать из нескольких блоков? В таком случае обычно применяется оператор else if, который на самом деле является идиоматическим вариантом стандартного оператора if/else, а не новой синтаксической конструкцией. Он выглядит так:

if

( n == 1) {
   // Выполнить блок кода №1
}
else if ( n == 2) {
  // Выполнить блок кода №2
}
else if ( n == 3) {
  // Выполнить блок кода №3
}
else {
  // Если ни одно условие не выполнилось, выполнить блок №4
}

Но вообще, в большинстве случаев, для такой конструкции лучше использовать оператор switch, который мы рассмотрим в следующем посте. А пока не большой пример:

И несколько вариантов вывода этой программы на консоль:

Так же, я думаю, тут еще разок стоит упомянуть об операторе ?: одним слайдом:

Мы его рассматривали тут.

Управление проектами Java в Visual Studio Code

Редактировать

Расширение Project Manager for Java помогает вам управлять проектами Java и их зависимостями. Он также помогает создавать новые проекты, пакеты и классы Java. Чтобы получить полную поддержку языка Java в Visual Studio Code, вы можете установить пакет расширений для Java, который включает расширение Project Manager for Java.

Установите пакет расширений для Java

Подробную информацию о том, как начать работу с пакетом расширений, можно найти в учебнике «Начало работы с Java».

Представление проектов

Представление Java Projects помогает просматривать проекты Java и их зависимости, а также предоставляет точки входа для задач управления проектами.

По умолчанию представление Java Projects отображается под представлением

Explorer . Если вы его не видите, попробуйте нажать ... в строке заголовка EXPLORER и выберите Java Projects .

Кнопка переполнения панели навигации содержит больше возможностей для использования. Например, вы можете переключаться между иерархическим представлением и плоским представлением.

Вы можете найти кнопки рядом с узлами в проводнике, которые предоставляют полезные ярлыки для некоторых действий.

Есть также много полезных функций в контекстном меню каждого узла, вы можете щелкнуть правой кнопкой мыши узел в Проводнике, чтобы переключить его.

Создать новый проект Java

Вы можете создать новый проект Java, нажав кнопку + на панели навигации или с помощью команды: Java: Создать проект Java. .. в палитре команд (⇧ ⌘P (Windows, Linux Ctrl+Shift+P)). Во время создания VS Code упростит установку необходимых расширений для вашего типа проекта, если расширения еще не были установлены.

Импорт проектов Java

Вы можете напрямую импортировать существующие проекты и модули Java в рабочую область через

Файл > Открыть папку… (Убедитесь, что открытая папка содержит сценарии инструментов сборки, например, pom.xml или build.gradle ). VS Code для Java обнаружит ваши проекты и автоматически импортирует их.

Когда вы добавляете новый модуль в свои проекты, вы можете запустить команду Java: импортировать проекты Java в рабочую область , чтобы импортировать их в свою рабочую область. Эта команда помогает импортировать новые проекты в рабочую область без необходимости перезагрузки окна VS Code.

Экспорт в JAR

Вы можете экспортировать свою сборку в JAR из представления проектов или с помощью команды

Java: Export Jar. .. .

Настройка среды выполнения для проектов

По мере развития Java разработчики часто работают с несколькими версиями JDK. Вы можете сопоставить их с локальными путями установки с помощью параметра: java.configuration.runtimes . Параметр имеет следующий формат:

 "java.configuration.runtimes": [
  {
    "имя": "JavaSE-1.8",
    "путь": "/usr/local/jdk1.8.0_201"
  },
  {
    "имя": "JavaSE-11",
    "путь": "/usr/local/jdk-11.0.3",
    "источники": "/usr/local/jdk-11.0.3/lib/src.zip",
    "javadoc": "https://docs.oracle.com/en/java/javase/11/docs/api",
    "по умолчанию": правда
   },
   {
    "имя": "JavaSE-12",
    "путь": "/usr/local/jdk-12.0.2"
   },
   {
    "имя": "JavaSE-13",
    "путь": "/usr/local/jdk-13"
   }
]
 

Примечание : Вы можете установить один из них по умолчанию, добавив «по умолчанию»: true к записи. JDK по умолчанию будет использоваться для ваших неуправляемых папок (без инструментов сборки).

Чтобы увидеть, какие JDK используются для ваших проектов, вы можете вызвать команду

Java: настроить Java Runtime в палитре команд (⇧⌘P (Windows, Linux Ctrl+Shift+P)). Эта команда открывает представление, отображающее информацию о времени выполнения для ваших проектов:

Изменение JDK для проектов Maven и Gradle

Если вы хотите изменить версию JDK для своих проектов Maven или Gradle, вам необходимо обновить ее в сценариях сборки ( pom.xml или build.gradle ). Вы можете щелкнуть, чтобы увидеть, как внести такие изменения. Нажмите, чтобы перейти к файлу сценария сборки проекта.

Изменить JDK для неуправляемых папок

Чтобы изменить JDK для неуправляемых папок (без каких-либо инструментов сборки), нажмите кнопку . В нем будут перечислены все JDK, и вы можете выбрать один для своих неуправляемых папок.

Загрузить JDK

Если вы хотите загрузить новый JDK, вы можете щелкнуть ссылку для загрузки или запустить команду Java: установить новый JDK в палитре команд (⇧⌘P (Windows, Linux Ctrl+ Шифт+П)). Откроется новый вид, который поможет вам загрузить JDK.

Примечание . Чтобы включить функции предварительного просмотра Java, см. статью Как использовать VS Code с новыми версиями Java.

Настройка пути к классам для неуправляемых папок

Расширение Project Management for Java предоставляет пользовательский интерфейс для настройки пути к классам для неуправляемых папок. Путь к классам можно задать вручную на странице конфигурации пути к классам. Вы можете открыть его, выполнив команду Java: Configure Classpath из палитры команд (⇧⌘P (Windows, Linux Ctrl+Shift+P)).

В некоторых редких случаях может потребоваться очистка рабочей области Java путем выполнения команды Java: Очистить рабочую область Java Language Server из палитры команд (⇧⌘P (Windows, Linux Ctrl+Shift+P)) для пусть языковой сервер перестроит ваши зависимости.

Управление зависимостями

Добавление зависимости Maven

Для проекта Maven можно добавить зависимость, щелкнув значок + рядом с узлом Зависимости Maven

в представлении проекта.

Управление зависимостями для неуправляемой папки

Если ваш проект представляет собой неуправляемую папку без каких-либо инструментов сборки. Вы можете управлять зависимостями, щелкнув значок + или значок на ссылочных библиотеках узел или элементы под ним, или вы можете просто перетащить свои jar-библиотеки непосредственно на узел Ссылочные библиотеки

Вы также можете управлять зависимостями на странице конфигурации classpath.

См.: Настройка пути к классам для неуправляемой папки

.

За кулисами есть настройка java.project.referencedLibraries в settings.json . Ниже приведены подробные сведения о том, как настроить этот параметр.

Включить библиотеки

Библиотеки, на которые следует ссылаться, описываются с помощью набора шаблонов глобусов.

Например:

 "java.project.referencedLibraries": [
    "библиотека/**/*.jar",
    "/home/имя пользователя/библиотека/foo.jar"
]
 

Приведенные выше настройки добавят все файлы .jar в папку библиотеки рабочей области вместе с foo.jar из указанного абсолютного пути во внешние зависимости проекта.

Затем VS Code отслеживает указанные библиотеки, и проект будет обновляться, если в любом из этих зависимых файлов есть изменения.

По умолчанию VS Code будет ссылаться на все файлы JAR в каталоге lib рабочей области, используя шаблон glob lib/**/*. jar .

Исключить некоторые библиотеки

Если вы хотите исключить некоторые библиотеки из проекта, вы можете расширить java.project.referencedLibraries , чтобы использовать поля include/exclude и добавить шаблон exclude glob:

3

» java.project.referencedLibraries»: { «включать»: [ «библиотека/**/*.jar», «/home/имя пользователя/библиотека/foo.jar» ], «исключать»: [ «библиотека/источники/**» ] }

В приведенном выше примере любые двоичные файлы JAR в папке library/sources игнорируются как внешние зависимости проекта.

Прикрепить исходные файлы jar

По умолчанию ссылочный файл {binary}.jar попытается выполнить поиск {binary}-sources.jar в том же каталоге и присоединить его как источник, если будет найдено одно совпадение.

Если вы хотите вручную указать файл JAR в качестве исходного вложения, вы можете предоставить карту значений 9 в0024 источника поле:

 "java. project.referencedLibraries": {
    "включать": [
        "библиотека/**/*.jar",
        "/home/имя пользователя/библиотека/foo.jar"
    ],
    "исключать": [
        "библиотека/источники/**"
    ],
    "источники": {
        "библиотека/bar.jar": "библиотека/источники/bar-src.jar"
    }
}
 

Таким образом, bar-src.jar присоединяется к bar.jar в качестве источника.

Облегченный режим

VS Code для Java поддерживает два режима: упрощенный и стандартный. В упрощенном режиме языковой сервер разрешает только исходные файлы и JDK; в стандартном режиме импортированные зависимости разрешаются, и проект создается языковым сервером. Облегченный режим лучше всего подходит, когда вам нужна легкая и быстрая среда для работы с исходными файлами, например, для чтения исходного кода, навигации между исходным кодом и JDK, просмотра схемы и Javadoc, а также для обнаружения и исправления синтаксических ошибок. Кроме того, автозавершение кода поддерживается в рамках исходных файлов и JDK.

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

Вы можете управлять режимом запуска, настроив java.server.launchMode с помощью следующих параметров:

  • Гибридный (по умолчанию) — во-первых, рабочая область открывается в облегченном режиме. Вам будет предложено переключиться в стандартный режим, если ваша рабочая область содержит неразрешенные проекты Java. Если вы выберете Позже он останется в облегченном режиме. Вы можете щелкнуть элемент состояния языка в строке состояния, чтобы вручную переключиться в стандартный режим.
  • Стандартный — Рабочая область открыта в стандартном режиме.
  • LightWeight — Рабочая область открыта в облегченном режиме. Вы можете щелкнуть элемент состояния языка в строке состояния, чтобы вручную переключиться в стандартный режим.

Элемент состояния языка указывает, в каком режиме находится текущая рабочая область, с помощью различных значков.

  • — рабочая область открыта в облегченном режиме.
  • — рабочая область в процессе открытия в стандартном режиме.
  • — рабочая область открыта в стандартном режиме.

Щелчок по элементу состояния языка переключает в стандартный режим.

Когда вы редактируете исходный код Java в Visual Studio Code, языковой сервер Java строит ваше рабочее пространство, чтобы предоставить вам необходимые языковые функции. Вы можете увидеть подробный статус задачи сборки и посмотреть, что происходит за кулисами, щелкнув элемент статуса языка в строке состояния. Вы также можете выбрать проверьте подробности ссылка, когда уведомление показывает, что языковой сервер открывает проекты Java, чтобы увидеть статус задачи сборки.

Дополнительные ресурсы

Существует несколько расширений Visual Studio Code для поддержки различных систем сборки для Java. Ниже представлены расширения для нескольких популярных систем сборки.

  • Maven для Java
  • Gradle для Java
  • Базель

Если у вас возникнут проблемы при использовании вышеперечисленных функций, вы можете связаться с нами, заполнив заявку.

Следующие шаги

Читайте дальше, чтобы узнать больше о:

  • Редактирование Java. Изучите функции редактирования для Java в VS Code.
  • Отладка Java. Узнайте, как отладить проект Java с помощью VS Code.
  • Тестирование Java — используйте VS Code для своих случаев JUnit и TestNG.
  • Расширения Java. Узнайте о других полезных расширениях Java для VS Code.

25.04.2022

Условные операторы Java: оператор If-else в Java

Введение в Java + Установка Java JDK и IntelliJ IDEA для Java

Базовая структура программы на Java: понимание нашей первой программы Hello World на Java

Учебное пособие по Java: переменные и типы данных в программировании на Java

Учебное пособие по Java: литералы в Java

Учебное пособие по Java: ввод данных пользователем в Java Упражнение 1: Калькулятор процентного соотношения платы CBSE

Учебное пособие по Java: Глава 1 — Практический набор | Практические проблемы Java с решением

Учебник по Java: операторы, типы операторов и выражения в Java

Учебное пособие по Java: Ассоциативность операторов в Java

Учебное пособие по Java: Тип данных выражений и операторы увеличения/уменьшения

Учебное пособие по Java: Упражнение 1 — Решения + крики

Учебное пособие по Java: Глава 2 — Практический набор (вопросы по практике Java)

Учебное пособие по Java: Введение в строки

Учебное пособие по Java: Строковые методы в Java

Практические вопросы по Java по строкам: практический набор по строкам Java (необходимо решить!)0003

Учебник по Java. Реляционные и логические операторы в Java

Учебник по Java. Операторы Switch Case в Java

Учебник по Java. Практические вопросы по условным выражениям и регистру Switch

Упражнение по программированию на Java 2. Игра «Камень, ножницы, бумага» на Java

Java Учебное пособие: циклы While в Java

Учебное пособие по Java: цикл do-while в Java

Учебное пособие по Java: цикл for в Java

Учебное пособие по Java: break and continue в Java

Учебное пособие по Java: практические вопросы по циклам

Учебник по Java: Введение в массивы

Учебник по Java: Для каждого цикла в Java

Учебник по Java: Многомерные массивы в Java

Учебник по Java: Практические вопросы по массивам в Java

Как сделать так, чтобы IntelliJ IDEA выглядела потрясающе!

Учебное пособие по Java. Методы в Java

Учебное пособие по Java. Перегрузка методов в Java

Учебное пособие по Java. Переменные аргументы (VarArgs) в Java

Учебное пособие по Java. Рекурсия в Java

Учебное пособие по Java. Практические вопросы по методам Java

Учебник по Java: Введение в объектно-ориентированное программирование

Учебник по Java: Основные термины в объектно-ориентированном программировании

Учебник по Java: Создание собственного класса Java

Учебник по Java: Основные вопросы по объектно-ориентированному программированию геттеры и сеттеры в Java

Учебное пособие по Java. Упражнение 2. Решение и крики

Учебное пособие по Java. Конструкторы в Java

Упражнение по Java 3. Угадай число (издание для ООП)

Учебное пособие по Java: Упражнение по модификаторам доступа и конструкторам

Наследование в Java

Конструкторы в наследовании в Java

ключевое слово this и super в Java

Переопределение метода в Java

Учебник по динамической отправке методов в Java

3

3 3 — Решения и комментарии

Учебник по Java: Упражнение 4 — Онлайн-библиотека

Учебник по Java: Упражнения и практические вопросы по наследованию

Учебник по Java: Абстрактный класс и абстрактные методы

Учебник по Java: Введение в интерфейсы

Учебник по Java: Абстрактные классы и интерфейсы

Почему множественное наследование не поддерживается в Java?

Пример интерфейса Java и методы по умолчанию

Наследование в интерфейсах

Учебник по Java: полиморфизм в интерфейсах

Практические вопросы по абстрактным классам и интерфейсам по Java

Упражнение по Java 4: Решение и комментарии!

Интерпретируемые и компилируемые языки!

Java интерпретируется или компилируется?

Пакеты в Java

Учебное пособие по Java. Создание пакетов в Java

Модификаторы доступа в Java

Практический набор по пакету Java и модификаторам доступа

Упражнение 5 по Java. Создание пользовательского пакета

Многопоточность в Java Создание потока путем расширения класса Thread

Создание потока Java с использованием интерфейса Runnable

Жизненный цикл потока Java

Конструкторы из класса Thread в Java

Приоритеты потоков Java

Методы потоков Java

Учебник по Java: Практические вопросы по потокам

Упражнение 5: Решение и приветствия!

Ошибки и исключения в Java

Синтаксические ошибки, ошибки времени выполнения и логические ошибки в Java (демонстрация)

Исключения и блок Try-Catch в Java

Обработка конкретных исключений в Java

Вложенный Try-Catch в Java

3 Класс исключения в Java

Throw vs Throws в Java

Окончательный блок в Java и зачем он нужен!

Практический набор по ошибкам и исключениям

Java-упражнение 6: Пользовательский калькулятор | Java Practice Question

Java Collections Framework

Иерархия коллекций в Java

Как правильно просматривать документацию по Java

ArrayList в Java: демонстрация и методы

LinkedList в Java: демонстрация и методы

ArrayDeque в Java Хеширование в Java

HashSet в Java

Дата и время в Java

Класс Date в Java

Класс Calendar в Java

Класс GregorianCalendar и часовой пояс в Java

java.