Найти в Дзене
Тест Java SE 11. Вопрос 3
Каков результат следующего фрагмента кода? — int moon = 9, star = 2 + 2 * 3; float sun = star>10 ? 1 : 3; double jupiter = (sun + moon) - 1.0f; int mars = --moon <= 8 ? 2 : 3; System.out.println(sun+"-"+jupiter+"-"+mars); A. 1-11-2 B. 3.0-11.0-2 C. 1.0-11.0-3 D. 3.0-13.0-3 E. 3.0f-12-2 F. Код не компилируется, поскольку для одного из назначений требуется явное числовое преобразование. — B. Изначально параметру moon присваивается значение 9, а параметру star - значение 8. Оператор умножения (*) имеет более высокий порядок приоритета, чем оператор сложения (+), поэтому он вычисляется первым. Поскольку...
5 месяцев назад
Тест Java SE 11. Вопрос 2
2. Каков результат работы следующей программы? (Выберите все, что применимо.) — 1: interface HasTail { int getTailLength(); } 2: abstract class Puma implements HasTail { 3: protected int getTailLength() { return 4; } 4: } 5: public class Cougar implements HasTail { 6: public static void main(String[] args) { 7: var puma = new Puma(); 8: System.out.println(puma.getTailLength()); 9: } 10: public int getTailLength(int length) { return 2; } 11: } — A. 2 B. 4 C. Код не будет скомпилирован из-за строки 3. D. Код не будет скомпилирован из-за строки 5. E. Код не будет скомпилирован из-за строки 7...
5 месяцев назад
Тест Java SE 11. Вопрос 1
Каков результат выполнения программы? — 1: public class MathFunctions { 2: public static void addToInt(int x, int amountToAdd) { 3: x = x + amountToAdd; 4: } 5: public static void main(String[] args) { 6: var a = 15; 7: var b = 10; 8: MathFunctions.addToInt(a, b); 9: System.out.println(a); 10: } 11:} — A. 10 B. 15 C. 25 D. Ошибка компилятора в строке 3 E. Ошибка компилятора в строке 8 F. Ничего из вышеперечисленного — 1. B. Код компилируется успешно, поэтому варианты D и E неверны...
5 месяцев назад
14.1 Параллелизм (Concurrency). Локальные переменные потока
Локальная переменная потока - это переменная типа ThreadLocal. Каждый поток, который обращается к локальной переменной потока, имеет свою собственную, независимо инициализированную копию переменной. Чтобы записать или прочитать значение локальной переменной потока, вызовите ее метод set или get соответственно. Обычно локальная переменная потока объявляется как final static поле, чтобы многие компоненты могли легко получить к ней доступ. В следующем примере класс TLDBConn представляет подключение к базе данных. TLBDBConn::open Метод выводит строку и имя пользователя. Класс TLServer представляет саму базу данных...
1 год назад
14 Параллелизм (Concurrency). Структурированный параллелизм
Ссылка https://docs.oracle.com/en/java/javase/21/core/structured-concurrency.html Структурированный параллелизм рассматривает группы связанных задач, выполняемых в разных потоках, как единую единицу работы, тем самым оптимизируя обработку ошибок и их отмену, повышая надежность и улучшая наблюдаемость. Основной класс API структурированного параллелизма находится StructuredTaskScope в java.util.concurrent пакете. Этот класс позволяет координировать группу параллельных подзадач как единое целое. С помощью...
1 год назад
14.1 Параллелизм (Concurrency). Виртуальные потоки
Ссылка https://docs.oracle.com/en/java/javase/21/core/virtual-threads.html Виртуальные потоки - это легковесные потоки, которые сокращают усилия по написанию, обслуживанию и отладке высокопроизводительных параллельных приложений. Для получения справочной информации о виртуальных потоках см. JEP 444. Поток - это наименьшая единица обработки, которую можно запланировать. Он выполняется одновременно с другими подобными единицами и в значительной степени независимо от них. Это экземпляр java.lang.Thread...
1 год назад
14 Параллелизм (Concurrency)
Ссылка https://docs.oracle.com/en/java/javase/21/core/concurrency.html API-интерфейсы параллелизма Java SE предоставляют мощную, расширяемую платформу высокопроизводительных утилит потоковой обработки, таких как пулы потоков и блокирующие очереди. Этот пакет освобождает программиста от необходимости создавать эти утилиты вручную, во многом аналогично тому, как Collections Framework создавал структуры данных. Кроме того, эти пакеты предоставляют низкоуровневые примитивы для продвинутого параллельного программирования...
1 год назад
Операторы
Теперь, когда вы научились объявлять и инициализировать переменные, вы, вероятно, захотите узнать, как что-то делать с ними. Для начала неплохо изучить операторы языка программирования Java. Операторы - это специальные символы, которые выполняют определенные операции с одним, двумя или тремя операндами, а затем возвращают результат. Поскольку мы изучаем операторы языка программирования Java, вам может быть полезно заранее знать, какие операторы имеют наивысший приоритет. Операторы в следующей таблице перечислены в порядке приоритета...
1 год назад
Краткое описание переменных
Язык программирования Java использует как "поля", так и "переменные" как часть своей терминологии. Переменные экземпляра (нестатические поля) уникальны для каждого экземпляра класса. Переменные класса (статические поля) - это поля, объявленные с модификатором static; существует ровно одна копия переменной класса, независимо от того, сколько раз создавался экземпляр класса. Локальные переменные хранят временное состояние внутри метода. Параметры - это переменные, которые предоставляют дополнительную информацию методу; и локальные переменные, и параметры всегда классифицируются как "переменные" (а не "поля")...
1 год назад
Массивы
Массив - это объект-контейнер, который содержит фиксированное количество значений одного типа. Длина массива устанавливается при создании массива. После создания его длина фиксируется. Вы уже видели пример массивов в main методе приложения "Hello World!". В этом разделе массивы рассматриваются более подробно. Массив из 10 элементов. Каждый элемент в массиве называется элементом, и доступ к каждому элементу осуществляется по его числовому индексу. Как показано на предыдущем рисунке, нумерация начинается с 0...
1 год назад
Примитивные типы данных
Язык программирования Java имеет статическую типизацию, что означает, что все переменные должны быть сначала объявлены, прежде чем их можно будет использовать. Это включает указание типа и имени переменной, как вы уже видели: int gear = 1; При этом ваша программа узнает, что существует поле с именем "gear", содержит числовые данные (целое число) и имеет начальное значение 1. Тип данных переменной определяет значения, которые она может содержать, а также операции, которые могут быть выполнены с ней. В дополнение к int, язык программирования Java поддерживает семь других примитивных типов данных...
1 год назад
Переменные
Ссылка на оригинал Как вы знаете, объект сохраняет свое состояние в полях. int cadence = 0; int speed = 0; int gear = 1; Вероятно у вас есть вопросы, такие как: Каковы правила и соглашения для присвоения имен полю? Какие существуют типы данных? Обязательно ли инициализировать поля при их объявлении? Присваиваются ли полям значения по умолчанию, если они явно не инициализированы? Мы рассмотрим ответы на эти вопросы в этой статье, но прежде чем мы это сделаем, есть несколько технических различий, о которых вы должны сначала узнать. В языке программирования Java используются оба термина: "поле"...
1 год назад