Это 8-й день моего участия в августовском испытании обновлений.Подробности о событии:Испытание августовского обновления
Сложный уровень:средний
программа
программа один
1) Что выводит следующая программа?
public class Test implements Runnable
{
public void run()
{
System.out.printf("%d",3);
}
public static void main(String[] args) throws InterruptedException
{
Thread thread = new Thread(new Test());
thread.start();
System.out.printf("%d",1);
thread.join();
System.out.printf("%d",2);
}
}
a) 123
b) 213
c) 132
d) 321
Нажмите здесь, чтобы перейти к ответу
программа вторая
2) Что выводит следующая программа?
public class Test
{
private static int value = 20;
public int s = 15;
public static int temp = 10;
public static class Nested
{
private void display()
{
System.out.println(temp + s + value);
}
}
public static void main(String args[])
{
Test.Nested inner = new Test.Nested();
inner.display();
}
}
а) ошибка компиляции
b) 1020
c) 101520
г) ничего из вышеперечисленного
Нажмите здесь, чтобы перейти к ответу
Процедура третья
3) Что выводит следующая программа?
import java.io.*;
public class Test
{
public void display() throws IOException
{
System.out.println("Test");
}
}
class Derived extends Test
{
public void display() throws IOException
{
System.out.println("Derived");
}
public static void main(String[] args) throws IOException
{
Derived object = new Derived();
object.display();
}
}
тест
б) производное
в) ошибка компиляции
г) ошибки времени выполнения
Нажмите здесь, чтобы перейти к ответу
программа четыре
4) Что выводит следующая программа?
public class Test extends Thread
{
public void run()
{
System.out.printf("Test ");
}
public static void main(String[] args)
{
Test test = new Test();
test.run();
test.start();
}
}
а) ошибка компиляции
б) ошибки времени выполнения
c) Test
d) Test Test
Нажмите здесь, чтобы перейти к ответу
Процедура пятая
5) Что выводит следующая программа?
public class Test extends Thread
{
public static void main(String[] args)
{
String a = "Haiyong";
String b = new String(a);
int value = 0;
value = (a==b) ? 1:2;
if(value == 1)
{
System.out.println("Haiyong");
}
else if(value == 2)
{
System.out.println("Blog");
}
else
{
System.out.println("HY");
}
}
}
a) Haiyong
b) Blog
c) HY
г) ничего из вышеперечисленного
Нажмите здесь, чтобы перейти к ответу
программа шесть
6) Что выводит следующая программа?
public class Test
{
try
{
public Test()
{
System.out.println("Haiyong");
throw new Exception();
}
}
catch(Exception e)
{
System.out.println("HY");
}
public static void main(String[] args)
{
Test test = new Test();
}
}
a) Haiyong
b) HY
в) ошибка компиляции
г) ничего из вышеперечисленного
Нажмите здесь, чтобы перейти к ответу
программа семь
7) Для данного кода выберите правильный ответ.
public interface Test
{
public int calculate();
protected interface NestedInterface
{
public void nested();
}
}
а) Ошибки времени компиляции из-за NestedInterface
б) Ошибка времени компиляции из-за модификатора доступа NestedInterface
c) отсутствие ошибок времени компиляции
г) NestedInterface не может содержать никаких объявлений функций.
Нажмите здесь, чтобы перейти к ответу
Процедура восьмая
8) Какое из следующих утверждений об объявлениях конструкторов верно?
а) Конструкторы могут быть объявлены окончательными.
б) Конструкторы могут быть окружены блоками try/catch.
c) Конструкторы не могут генерировать исключения.
г) Конструктор может содержать синхронизированный код (чтобы каждый поток мог обращаться к конструктору последовательно).
Нажмите здесь, чтобы перейти к ответу
Вторая половина статьи - вывод и анализ программы
вывод и разбор
вывод программы
Отвечать:
(c)
иллюстрировать:
Родительский поток использует соединение, чтобы дождаться завершения вновь созданного потока. Метод join() позволяет одному потоку ждать, пока другой поток завершит свое выполнение. Таким образом, родительский поток печатает 1 и ждет завершения дочернего потока. Дочерний поток выводит на консоль 3, и, наконец, родительский поток выводит 2.
Программа два выхода
Отвечать:
(a)
иллюстрировать:
Нестатические переменные недоступны в статических вложенных внутренних классах. «Вложенный» не может получить доступ к нестатическим переменным [переменным в данном случае]. Отсюда ошибка:
10:错误:不能从静态上下文中引用非静态变量 s
System.out.println(temp + s + value);
^
Программа три выхода
Отвечать:
(b)
иллюстрировать:
Если метод суперкласса объявляет исключение, метод, переопределяемый подклассом, может объявить то же самое, исключение подкласса или отсутствие исключения, но не исключение суперкласса.
Запрограммируйте четыре ответа
отвечать :
(d)
иллюстрировать:
test.run() выполняет метод запуска. test.start() создает новый поток и выполняет переопределенный метод запуска класса Thread. Метод Thread.start() всегда запускает новый поток, точкой входа которого является метод run(). Если вы вызовете run() напрямую, он будет выполняться в том же потоке, новсегда рекомендую вThread.start() логически вызывается для запуска нового потока выполнения, за которым следует метод run().
Программа пять ответов
отвечать :
(b)
проиллюстрировать:
Оператор == проверяет, указывают ли две переменные на один и тот же объект. Здесь a и b относятся к двум разным объектам. ?: — это еще одна форма оператора if else, которую можно понимать как условие: если верно, то сделайте это: иначе сделайте это.
Программа Шесть Ответов
отвечать :
(c)
проиллюстрировать:
Конструкторы не могут быть заключены в блоки try/catch.
Программа семь ответов
отвечать :
(b)
проиллюстрировать:
Модификаторы доступа для NestedInterface могут быть только общедоступными. Отсюда ошибка:
4:错误:修饰符的非法组合:公共和受
保护的受保护接口 NestedInterface
^
1 错误
Программа восемь ответов
отвечать :
(d)
проиллюстрировать:
Конструкторы обеспечивают последовательный доступ к данным между потоками.
Это все для этой статьи
Статьи по Теме:
[Java-упражнения] Вывод Java-программ | Первый набор (включая синтаксический анализ)
[Вопросы по практике Java] Вывод программ Java | Второй набор (включая синтаксический анализ)
[Вопросы по практике Java] Вывод Java-программ | Третий набор (включая синтаксический анализ)
[Вопросы по практике Java] Вывод программ Java | Четвертый набор (включая анализ)
[Вопросы по практике Java] Вывод Java-программ | Пятый набор (включая анализ)
[Вопросы по практике Java] Вывод Java-программ | Шестой набор (включая синтаксический анализ)
[Вопросы по практике Java] Вывод программ Java | Седьмой набор (включая анализ)
[Вопросы по практике Java] Вывод Java-программ | Восьмой набор (включая анализ)
[Java-упражнения] Вывод Java-программ | Девятый набор (включая синтаксический анализ)
[Java-упражнения] Вывод Java-программ | Набор 10 (сборка мусора)
[Java-упражнения] Вывод Java-программ | Набор 11 (включая синтаксический анализ)
Я давно веду блог о технологиях, и это одна из моих технических статей/руководств. Надеюсь, вам это понравится! Вот краткое изложение всех моих оригинальных и исходных кодов работ:GitHub, и это блог, который я недавно создал:haiyong.site,контента в ней не так много,есть какие-то HTML игры,если интересно можете попробовать.Вы можете сами скопировать исходники по F12,или спросите у меня напрямую.
Если вы действительно узнали что-то новое из этой статьи, ставьте лайк, добавляйте в закладки и делитесь с друзьями. 🤗Наконец, не забудьте поставить ❤ или 📑 в поддержку.