Java Flashcards

(231 cards)

1
Q

Как объявить константу, доступную нескольким методам класса? Какие модификаторы доступа она должна иметь?

A

Вне метода, в рамках класса. static и final.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Как вычислить квадратный корень из числа?

A

double х = 4;
double у= Math.sqrt(x);
System.out.println(y);

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Как возвести в степень?

A

double у= Math.pow(x,a); //второе число - степень.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Как округлить число с плавающей точкой до ближайшего целого числа? Почему необходимо приведение?

A

double х = 9.997;
int nx = (int)Math.round(x);
Значение, возвращаемое методом round (), относится к типу long и поэтому может
быть присвоено переменной типа int только с явным приведением.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Дано: String s = “Hello”;

Как сделать из нее “Hell”

A

String s1 = s.substring (0,4);

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Как создать строку из строк, разделенную определенным знаком? Например, “/”?

A

String all = String.join(“ / “, “S”, “М”, “L”, “XL”);

//в итоге переменная all содержит строку “S / М / L / XL

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Как проверить идентичность строк, игнорируя регистр?

A

“Hello”.equalsignoreCase(“hello”);

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

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

A

String greeting = “Hello”;
char first = greeting.charAt(0);

//первый символ - ‘Н’

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Какой метод возвращает true, если строка начинается или заканчивается указанной в нем подстрокой?

A
• String Str = new String("Добро пожаловать на ProgLang.su");
System.out.println(Str.startsWith("Добро пожаловать") );

Возвращаемое значение: true

• boolean endsWith(Strinq suffix);

//в скобках то, с чего начинается/заканчивается.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Как найти индекс определенного фрагмента строки str в другой строке? Что вернет метод, если ничего не найдет?

A

String hello = “Hello”;

int index1 = hello.indexOf(‘H’);

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Где находится класс String и все его методы?

A

java.lang.String

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

Как “вырезать” кусок строки с определенного места? С определенного места до определенного места?

A

String Str = new String(“Добро пожаловать на ProgLang.su”);

System.out.println(Str.substring(5));

tem.out.println(Str.substring(5, 15));

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

Как поменять все буквы строки на маленькие/большие?

A

toLowerCase ();

toUpperCase ();

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

Как вернуть исходную строку n раз?

A

String repeat (int count);

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

Есть необходимость поэтапно добавлять в объект строки, после перевести его в String. Как это сделать?

A

StringBuilder builder = new StringBuilder(); //создать
builder.append(ch); // добавить единственный символ
builder.append(str); //добавить символьную строку
String completedString = builder.toString(); //перевести в строку

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

Как добавить строку в StringBuilder?

A

StringВuilder append (String str) ;

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
17
Q

Как вставить в StringBuilder строку на определенное место? Сколько параметров?

A

StringBuilder insert (int n, String str) ;

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
18
Q

Как создать объект для считывания информации?

A

Scanner in = new Scanner(System.in);

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
19
Q

Как считать строку и помесить ее в переменную класса Scanner?

A
Scanner in = new Scanner(System.in); 
String name = in.nextLine();
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
20
Q

Когда два объекта StringBuilder будут выдавать true, equals ?

A

Только тогда, когда они ссылаются на один объект.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
21
Q

Что можно использовать для создания String?

A

Массив типа char

char [] arr = new char [] {'p','r','i', 'v', 'e', 't'} ;
String s = new String(arr);
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
22
Q

Как написать метод, получающий сколько угодно параметров int и печатающий их сумму?

Чем по сути является эта переменная?

A
public static void sum(int ... a) {
int summa = 0;
for (int i = 0; i < a.length; i++) {
summa+=i;
Sout(summa);
}
}

это обычный массив.

только один.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
23
Q

Сколько varargs переменных может быть в параметре?

Где должен стоять vararhs параметр?

A

Один.

В конце листа параметров.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
24
Q

Что нельзя ставить в список перезаписанных методов вместе с varargs и почему?

A

в параметре не может быть массив, потому что varargs переменная и есть массив .

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
25
Что можно вписать вместо varargs переменной? При желании.
Обычный массив.
26
Какие два способа удалить элемент из ArrayList?
remove(); по индексу и по значению.
27
Мы clone() клонировали ArrayList или задали в конструкторе new ArrayList <> (list3); какой-то другой ArrayList. На что будут ссылаться новосозданные ArrayList?
Будут новые ссылки на уже существующие объекты. И оригинал и клон содержат ссылки на одно и тоже.
28
Как создать массив StringBuilder из ArrayList? Массив Object?
StringBuilder [] arraySB = list.toArray(new StringBuilder[10]); где list - наш ArrayList, 10 - размер нового обычного массива. тот же метод без параметров. (!!!) Ново созданный массив ссылается на те же объекты, что и ArrayList.
29
Как перевести массив в список List? Что уже никогда не изменится в этом List?
List list = Arrays.asList(массив); Длина.
30
На что указывают ссылки новосозданного массива методом toArray()?
На объекты изначального List.
31
Как создать из массива список?
StringBuilder [] array = { sb1, sb2, sb2 }; List list = Arrays.asList(array);
32
Как отсортировать ArrayList?
Collections.sort(arrayList);
33
Как использовать метод equals() на ArrayList? Каким образом перезаписан equals для ArrayList?
arraylist1.equals(arraylist2); true будет когда оба содержат одинаковые элементы в одинаковом порядке.
34
Где лежит Iterator?
java.util.Iterator;
35
Как создать Iterator?
Iterator it = list1.iterator(); где list1 - наш ArrayList, в <> тип ArrayList
36
Как пройтись по коллекции с помощью итератора и вывести на экран элементы?
Iterator it = list1.iterator(); while(it.hasNext()) { System.out.println(it.next()); }
37
Как удалить элемент с помощью итератора?
Iterator it = list1.iterator(); while(it.hasNext()) { it.next(); it.remove(); }
38
Как сравнить два массива лексикографически? Что возвращает метод?
System.out.println(Arrays.compare(array1, array2); -1, если элементы первого массива "выше лексиграфически = выше в словаре" второго, +1, если "ниже" 0, если равны
39
Как, сравнивая два массива, узнать место, где их значения становятся разными? Что возвращает метод?
System.out.println(Arrays.mismatch(array1, array2); если одинаковые -1; иначе индекс расхождения.
40
Какой метод позволит удалить из ArrayList все элементы, содержащие элементы другого ArrayList?
arraylist1.removeAll(arraylist2);
41
Как оставить в ArrayList только те элементы, которые есть в другом ArrayList? Какому методу противоположен этот метод?
arraylist1.retainAll(arraylist2);
42
Как вырезать кусок ArrayList? Какой тип будет куска? Что будет с исходным ArrayList, если в его subList добавить элемент?
List list = arraylist1.subList(1,3); List. Элемент добавится и в него.
43
Как создать и заполнить List без использования метода add(); Как копировать коллекцию, сделав ее неизменяемой? Какое свойство созданных List?
List list = List.of("один", "два", "три"); List list2 = List.copyOf(list); неизменяемый.
44
Как передать переменной s i-тый элемент массива String?
String s = new String [] {"A", "B","C"} [i];
45
Какой возвращаемый тип у геттера и что в параметрах?
Тип переменной, в параметрах ничего.
46
Какой возвращаемый тип у сеттера и что в параметрах?
Тип void, принимают изменяемое значение.
47
Как сделать так, чтобы геттер не позволял изменять свою переменную? Например, геттер типа StringBuilder?
В геттере нужно создать новую переменную и приравнять ее к старой. Возвращать нужно копию.
48
В классе есть несколько overloaded конструкторов, как вызвать один из другого?
this() в параметры которого нужно вписать те переменные того же типа в том же порядке, что и в конструкторе, который мы вызываем.
49
Какое необходимое условие должен соблюдать класс, чтобы быть унаследованным?
быть public
50
Что такое overriding метода? Каким должен быть метод?
Это изменение non-static, non-final метода, который он унаследовал от родительского класса.
51
Что должно соблюдаться при overrinding метода?
Такое же имя, список параметров и return type ( или это subclass нашего return type)
52
Что такое binding?
Определение, какой из перезаписанных методов вызовется, основываясь либо на реально созданном объекте, либо на типе данных ссылочной переменной.
53
Какие методы не могут быть перезаписаны? и, соответственно, какой binding?
private, static, final compile time binding
54
Когда вызывается метод, основанный на реально созданном объекте? Какой binding?
Когда метод НЕ private, static, final. Runtime = dynamic
55
Когда вызывается метод, основываясь на типе ссылочной переменной? Какой binding.
Когда метод private, static, final. Compile time = static
56
Если в параметрах метода ссылочная переменная, то какой метод вызовется и какой будет binding?
Вызовется тот метод, который определяется ТИПОМ этой переменнной. Compile time;
57
Какой интерфейс необходим для использования для использования лямбда выражений?
Функциональный интерфейс, с одним лишь методом, который надо перезаписать.
58
По сути, чем является лямбда выражение и что позволяет лямбда выражение?
Можно думать о лямбда как об анонимных методах. Позволяют нам внутрь параметр листа метода записывать метод.
59
Чтобы использовать лябмда мы должны?
В параметры метода вписать в круглые скобки объект, имплементирующий функциональный интерфейс, поставить стрелку и перезаписать один единственный его метод.
60
В чем разница методов next() и nextLine() в классе Scanner?
ййй
61
Какой метод служит для считывания числа? Числа с точкой?
System.out.print("How old are you? "); int age = sc.nextInt(); double age1 = sc.nextDouble () ;
62
Где находится класс Scanner?
import java.util.*;
63
Как проверить, есть ли следующее слово в потоке? | Что возвращает метод?
while (sc.hasNext()) { System.out.println(scan.next()); }
64
Как проверить, есть ли следующее число в потоке?
* boolean hasNextInt() | * boolean hasNextDouble ()
65
Как вывести число, с дробной частью в двух знаках?
System.out.printf("%.2f", х);
66
Как определить ширину поля в семь символов? | Как сделать отступ справа или слева?
System.out.printf("%8.2f", х); добавить минус перед 8;
67
При считывании информации с файла, что мы должны сделать в первую очередь?
Создать объект класса File c указанием пути к файлу: File file = new File ("C:\\Users\\Admin\\Desktop\\myfile.txt"); Создать объект класса Scanner и задать в параметры наш файл. Scanner sc = new Scanner(file);
68
Как вывести на экран все строки нашего файла?
``` File file = new File ("C:\\Users\\Admin\\Desktop\\myfile.txt"); Scanner sc = new Scanner(file); while(sc.hasNextLine()) { System.out.println(sc.nextLine()); } ```
69
Что нужно делать в конце работы Scanner?
sc.close(); чтобы освобождать ресурсы
70
Как разделить строку на несколько по определенному "разделителю"? Что возвращает метод?
String Str = new String("Разделяем эту строку на слова"); for (String retval : Str.split(" ")) { System.out.println(retval); } Массив строк.
71
Какой метод принимает на вход строку и возвращает число?
int x =Integer.parseInt("9"); | double c = Double.parseDouble("5");
72
Как объявить массив?
int [] а;
73
Напиши простой способ объявления и инициализации массива.
int [] smallPrimes = { 2, 3, 5, 7, 11, 13 };
74
Как заполнить массив числами от 0 до 99 в цикле?
int [] а= new int[100]; for (int i = 0; i < 100; i++) a[i] = i;
75
Чем инициализируются все элементы массива при его создании?
Нулями.
76
Как определить количество элементов в массиве? На что обратить внимание?
имя_массива.length. без скобок, это не метод.
77
Как перебрать массив с помощью for each? Пример.
for (переменная : коллекция) что делаем. пример: for (iпt elemeпt : а) System.out.printlп(elemeпt);
78
Как вывести все значения массива с помощью одного метода?
System.out.println(Arrays.toString(array));
79
Как создать два массива, чтобы изменяя значение одного элемента массива мы изменяли значение элемента второго массива на той же позиции?
int [] array1 = {1,2,3}; | int [] array2 = array1;
80
Как копировать один массив в другой? Что указывается вторым параметром метода?
int [] copy = Arrays.copyOf ( array1, array1.length); длина массива.
81
Как отсортировать массив?
Arrays.sort(array);
82
Как копировать массив в массив с определенного элемента по определенный элемент?
Arrays.copyOf (array[] а, int start, int end);
83
Как получить индекс элемента в массиве по его значению?
Arrays.binarySearch(array1, 2); где array1 - массив, 2 - значение, индекс которого мы ищем.
84
Как быстро заполнить массив одним элементом? | Заполнить десятиместный массив шестерками?
int [] array = new int [10]; | Arrays.fill(array, 6);
85
Что такое method hiding?
Это перекрытие static методов из родительского класса в дочернем.
86
Какие требования для method hiding?
1. Имя такое же 2. Список аргументов такой же 3. Return type такой же или дочерний класс return типа родительского класса. 4. Access модификатор такой же или менее строгий.
87
Что можно делать override?
Все методы НЕ static, НЕ final, НЕ private
88
Что можно сделать hide?
1. static методы | 2. non-private переменные.
89
Какие методы не могут быть ни override, ни hide?
final методы.
90
т.е. если мы хотим сделать так, чтобы метод не перезаписывался ни в одном из дочерних классов, что надо сделать?
добавить final.
91
Как создать объект абстрактного класса? Может ли абстрактный класс быть final?
Никак. Нет, абстракт подразумевает перезапись, а final - что потомков не будет. Не может.
92
Что может быть abstract?
Классы или методы. Переменные нет.
93
Какие три сочетания abstract c модификаторами недопустимы?
final + abstract private + abstract static + abstract
94
java7. Какие методы может содержать интерфейс? Что нужно обязательно указать при перезаписи абстр. метода интерфейса в классе?
Только абстрактные и только public. Что он public.
95
Как создать интерфейс?
``` interface Help_able { //тело. } ```
96
Какой порядок extends implements?
Сначала extends, потом implements
97
Какие переменные может содержать интерфейс? Какие модификаторы у них есть по умолчанию?
Только константы. public, final, static
98
Возможно ли создать объект интерфейса?
Нет, это не класс.
99
Как работает правило с одним public?
В классе должен быть только один класс или интерфейс с модификатором public. Название файла должно повторять название класса.
100
В случае, если мы создаем объект ссылаясь на интерфейс, как использовать методы самого класса, а не интерфейса?
Нужно написать класс перед именем объекта и взять в скобки всё.
101
Что может наследовать интерфейс кроме класса?
Другой интерфейс.
102
Как сделать метод, имеющий тело, в интерфейсе?
Добавить default.
103
Какие модификаторы не может иметь default метод в интерфейсе?
static, final, abstract.
104
Java8. Какое отличие static методов в интерфейсе и в классе?
В интерфейсе можно вызвать static метод только по имени интерфейса.
105
Что обязан иметь static метод в интерфейсе?
Тело.
106
Java9. Какой модификатор стал доступен для методов интерфейса с Java9? Где используется?
Private методы. Только внутри интерфейса.
107
Что такое полиморфизм?
Способность метода вести себя по разному в зависимости от того, объект какого класса вызывает этот метод.
108
Как проверить, является ли объект объектом определенного класса? Есть ли связь is-a? Можно ли проверять не только на классы?
System.out.println(emp1 instanceof Employee); Да, можно проверять, имплементирует объект интерфейс. System.out.println(emp1 instanceof Help_able);
109
Когда возможет кастинг reference переменных? Что нужно не забыть? Какой это кастинг?
Только когда между ними есть связь is-a. Скобки нужно не забыть. Восходящий. Мы кастим объект child класса в объект parent класса.
110
Какое условие для сравнения двух объектов с помощью == ?
Должны иметь is-a связь, иначе компилятор не пропустит даже написать.
111
Дан массив Employee, наполненный Driver, Teacher, Doctor и тд. Как работать только с Driver?
``` Employee [] array = {dr1,tc1,dc1}; for (Employee e: array) { if (e instanceof Driver) { //код } ```
112
Три условия, когда происходит narrowing без кастинга у примитивов?
1. int кастим в byte, short, char. 2. int это константа (= не ссылка) 3. если int помещается в соответствующий тип данных.
113
Как получить true, имея два идентичных массива?
Arrays.equals(array1, array2);
114
Какие non-access модификаторы существуют?
final, static, abstract.
115
К чему может относиться final?
Переменная, метод, класс.
116
Что сделает с переменной final?
Сделает ее неизменяемой = константой.
117
Когда нужно инициализировать final переменные?
Сразу же или в каждом конструкторе.
118
Как создать конструктор?
Имя_Kласса () {}
119
Что означает final для ссылочной переменной? Что может изменяться?
Что ее адрес не может быть изменен. | Переменные самого объекта.
120
Есть объект типа Human, у него есть машина типа Car, у Car есть переменная Color. Как изменить цвет машины человека?
h.c.color = "blue"; h - объект типа Human, c - объект типа Car.
121
Если нужно сделать счетчик созданных объектов, где логично инкрементировать его? Каким должен быть счетчик?
В конструкторе. Статическим.
122
Что может быть static? Какое основное свойство?
переменные и методы. Принадлежат целому классу.
123
1. Использовать СТАТИЧНУЮ переменную в НЕ СТАТИЧНОМ методе? 2. Использовать СТАТИЧНУЮ переменную в СТАТИЧНОМ методе? 3. Использовать НЕ СТАТИЧНУЮ переменную в СТАТИЧНОМ методе? 4. Использовать НЕ СТАТИЧНЫЙ метод в СТАТИЧНОМ методе?
1. Да. Она и так существует. 2. Да. Они существуют независимо друг от друга. 3. Нет. Для нее нужно создание объекта, статичному методу не нужно. 4. Нет. Только при условии, что был создан объект и он ссылается на него.
124
Как изменить нестатическую переменную в статическом методе?
Внутри стат.метода создать объект и используя ссылку на него изменить переменную.
125
Что напрямую не могут вызывать статичные переменные и методы? Как могут не на прямую?
нестатичные переменные и методы. Только с помощью создания объекта внутри себя.
126
final переменные нужно объявить или сразу, или в конструкторе. Что будет, если добавить static?
только сразу. В конструкторе уже нельзя, static не обязывает нас создать объект.
127
Какие четыре группы переменных существуют? Коротко описать каждую.
1. Local variable - переменная внутри метода. 2. Parameter - переменная внутри метода + параметры. 3. Instance = переменная объекта. 4. Static - принадлежит всему классу.
128
Когда нельзя использовать this. ?
При обращении к переменным и методам внутри static метода.
129
На что указывает this?*
На то, что мы обращаемся к переменной уже созданного (!) объекта.
130
Когда мы подставляем reference тип данных внутрь параметра, что на самом деле передается в параметр?
Его копия, ссылающаяся на этот же объект. Пример, когда нужно было поменять местами два объекта.
131
Т.е., если мы хотим поменять два объекта места, как это можно сделать? (Не уверен, что это единственный способ.)
Можем поменять местами все его переменные, но сами объекты останутся на своих местах.
132
Как в цикле for задать условие, чтобы i было одновременно больше 10 и меньше 20?
for (int i = 1; i >10 && i < 20; i++) {}
133
Что необычное может быть в цикле for, где мы обычно пишем i++? (место называется update)
Туда можно вставить вызов метода.
134
Как в цикле for задать несколько ubdate? Где можно записать update statement?
Через запятую. В теле цикла, ничего не изменится.
135
Какое значение принимает condition statement цикла for ( ; cond.stat; ) {}
boolean. любое булево значение.
136
Какие границы у операторов break и continue?
Фигурные скобки любого цикла.
137
Какая разница между continue и break?
break; заканчивает целиком цикл. continue; одну его итерацию, дальше цикл бежит дальше.
138
Как работает НЕ перезаписанный метод equals() ? Он работает точно также, как что?
Когда переменные ссылаются на один и тот же объект. ==
139
Как метод equals() выглядит в классе Object?
public boolean equals(Object obj) { return (this==obj) }
140
Класс Person c двумя полями, как перезаписать метод equals, чтобы было true, когда name и surname одинаковы?
``` public boolean equals(Object o) { if (o instanceof Person2) { if (((Person2) o).surname==this.surname && ((Person2) o).name==this.name ) return true; } return false; ```
141
Какая одна из самых частых ошибок при перезаписи equals()?
public boolean equals(Object o) {} В параметрах должен быть Object o и ничего другого. Иначе метод перегруженный, а не перезаписанный.
142
Можно ли вызвать какой-либо метод на null?
Нет.
143
Какая сигнатура у метода toString() ?
public String toString(){ | }
144
Как перевести String в int? Как это работает с Boolean?
int i = Integer.parseInt("50"); Boolean b = Boolean.parseBoolean("true"); // всё, что не "true" будет false.
145
Что делает метод valueof()?
Создает новый объект wrapper класса, на котором был вызван данный метод.
146
Пример valueof() c double.
Double d = Double.valueof(3.14)
147
Как называется блок кода вне метода?
Инициализатор.
148
Какая разница между статическим и нестатическим инициализатором?
Статический срабатывает один раз, нестатический - каждый раз, когда создается новый объект.
149
Как создать инициализатор?
Написать код в классе, но вне метода в { }
150
Что сработает раньше, нестатический инициализатор или конструктор?
Сначала инициализатор, после конструктор.
151
Как создать статический инициализатор?
В классе, вне метода static { }
152
Где еще можно задать значение static final переменной, кроме как сразу же?
В статическом инициализаторе.
153
class Животное { int количествоБлох = 0; static int Количество лап = 0; void чесаться () {Sout("Животное чешется"); static void бегать() {Sout("Животное бегает") } } class Собака extends Животное { int количествоБлох = 5; static int Количество лап = 4; void чесаться () {Sout("Собака чешется"); static void бегать() {Sout("Собака бегает") } } ``` Животное ж = new Собака(); Sout(ж.количествоБлох); Sout(ж.количествоЛап); ж.чесаться(); ж.бегать(); ``` Что выведется на экран? ПОЧЕМУ?
0 0 переменные -compile time - значит по типу переменной, тип Животное, значит 0, 0. non-static метод определяется runtime - значит на основе реально созданного объекта, значит из класса Собака. static метод - compile time - значит снова по типу переменной - значит из Животного.
154
Как работает блок try { } при ловле исключений?
Мы помещаем туда тот код, который способен выкинуть исключение.
155
Что мы вписываем в параметры catch() ?
catch(тип_исключения имя_исключения) { }
156
Блоки try, catch, finally. Сколько может быть каких?
Один try, много catch, один finally.
157
Какая разница между checked и unchecked исключениями?
в unchecked виноват программист. Checked указывают на ту часть кода, которая находится за пределами контроля программы и должна обрабатываться. Checked всегда или объявить, или поймать. Unchecked хочешь - объявляй, хочешь - лови, хочешь ничего не делай.
158
Когда будет ругаться компилятор, если метод, способный выбросить исключение и объявляющий его, вызывается в другом методе?
Когда в вызывающем методе не объявлено, что метод выбрасывает исключение.
159
Как вывести на экран StackTrace пойманного Exception?
e.printStackTrace();
160
Если поимку исключения засунуть в НЕ void метод, то из какого блока кода будет браться возвращаемое значение?
Всегда из finally.
161
Какое главное правило в исключениях?
Всё, что может выбросить checked исключение, должно быть или объявлено, или поймано блоками try-catch.
162
Когда мы сами выбрасываем исключение, как это нужно написать?
throw new Тип_исключения () ; без имени*
163
Что такое multicatch() при ловле исключенией?
``` catch (IOException | ParseException e) { //код обработки } ```
164
Есть класс Animal с методом eat(); , как переопределить этот метод, не создавая новый класс? (нужно использовать его только один раз) Объект какого класса создается на самом деле?
``` //создать объект "старого" класса: Animal animal = new Animal() { public void eat() { System.out.println("Необъодимая реализация на один раз"); }; } ``` Одноразовый наследник класса Animal
165
Как мы создаем анонимный класс?
После создания объекта класса вместо " ; " мы открываем { } и пишем новую реализацию одноразовых методов
166
*Как записать "Число x нацело делиться на 3"?
x%3 == 0;
167
Как узнать длину String?
str.length(); возвращает int.
168
Как узнать, какой символ находится на позиции n?
char c = str.charAt(n);
169
Какой метод находит индекс символа S? Что, если символ повторяется и нам нужен его индекс не с первой позиции?
str. indexOf("s"); str. indexOf("s", 3); где 3 - место начала отчета.
170
Что делает метод startsWith("String", int i ); c двумя параметрами?
Можно узнать, начинается ли String с определенной последовательности String с указанного места. Или кончается.
171
Какой метод убирает пробелы? Каким способом метод это делает?
String s = str.trim(); убирает пробелы по бокам и не трогает посередине.
172
Какая особенность с последним символом есть у substring("str", int i, int j);
Последний элемент j не учитывается, поэтому нужно писать как бы j+1, указывать несуществующий символ чтобы вывеси последний.
173
Как поменять отдельный символ или целый кусок строки в строке?
String s = str.replace(String old, String new);
174
Как конкатенировать строки без + ?
String s = str.concat(String newString);
175
Что такое method chaining?
Использования нескольких методов через точку.
176
Какая сигнатура класса toString, чтобы его перезаписать?
@Override public String toString() { return ... ; }
177
Как перевести примитив(любой, в то м числе и boolean) в строку?
String a = String.valueOf(1);
178
Как перевести коллекцию элементов в строку и вывести каждый через определенный разделитель?
``` List people = Arrays.asList( "Philip J. Fry", "Turanga Leela", "Bender Bending Rodriguez", "Hubert Farnsworth", "Hermes Conrad", "John D. Zoidberg", "Amy Wong" ); ``` String peopleString = String.join("; ", people); System.out.println(peopleString);
179
Как разбить строку на массив строк?
String people = "Philip J. Fry; Turanga Leela; Bender Bending Rodriguez; "; String[] peopleArray = people.split("; "); for (String human : peopleArray) { System.out.println(human); }
180
Какой метод возвращает true, когда String содержит только пробелы, TABы и тд? Когда String пустой?
str. isBlank(); | str. isEmpty();
181
Какой метод убирает все пробелы и Tabы еще? Как удалить все пробелы в начале? В конце?
str.strip(); str. stripLeading(); str. stripTrailing();
182
Что возвращает метод strip() если удалять нечего?
Тот же самый объект
183
Как присвоить массиву определенный размер n?
double[] myList = new double[n];
184
Зачем ссылать коллекции на тип интерфейса List?
Можно сослать ArrayList на LinkedList для более эффективного удаления элементов с начала. list = new ArrayList ()
185
Какой класс лучше использовать, если необходимо часто удалять элементы из начала списка?
LinkedList.
186
Как одновременно объявить массив и проинициализировать его? Что нельзя указывать в этом примере?
String[] seasons = new String[] {"Winter", "Spring", "Summer", "Autumn"}; Длину в квадратных скобках. Java сама считает.
187
Как объявить массив на восемь ячеек в каждой по восемь ячеек?
int[][] Array = new int [8][8];
188
Как подсчитать сумму всех элементов массива?
double total = 0; for (int i = 0; i < myList.length; i++) { total += myList[i]; }
189
Как найти наибольшее значение в массиве?
double max = myList[0]; for (int i = 1; i < myList.length; i++) { if (myList[i] > max) max = myList[i]; }
190
Какой синтаксис foreach цикла?
for (double element: myList) { System.out.println(element); }
191
Написать метод, получающий массив в параметр и возвращающий новый массив в обратном порядке.
``` public static int[] reverse(int[] list) { // 1. создать массив по длине такой же int[] result = new int[list.length]; // 2. Две переменные в for, одна растет, вторая убывает. for (int i = 0, j = result.length - 1; i < list.length; i++, j--) { result[j] = list[i]; } return result; } ```
192
Какой метод с помощью бинарного поиска ищет индекс элемента? Как выглядит и какое обязательное условие? Что выдаст, если такого элемента нет?
int[] array1 = {10, 20, 30, 40}; int pos1 = Arrays.binarySearch(array1, 20); где array1 - массив, 20 - искомое значение;' массив должен быть отсортирован. -1.
193
Как сравнить два массива? Нужно создавать объект, чтобы его использовать?
public static boolean equals(long[] a1, long[] a2) нет, статический.
194
Как заполнить массив одним значением? Нужно создавать объект, чтобы его использовать?
public static void fill(int[] a, int val) нет, статический.
195
Как отсортировать массив?
public static void sort(Object[] a)
196
Как определить максимальное значение массива с помощью метода Math.max( x1, x2); ?
double[] myArray = {11, 5.8, 11.1, 10.9}; // создали double max = Double.MIN_VALUE; //присвоили минимум ``` for (int i = 0; i < myArray.length; i++) { max = Math.max(max, myArray[i]); } // перебрали циклом, сравнивая каждый элемент с max; ```
197
Как присвоить минимальное и максимальное значение числу, которое позволяет тип данных?
double min = Double.MIN_VALUE;
198
Какой метод ищет элемент в массиве с определенного по определенный индекс? Синтаксис, какие параметры.
int binarySearch(int[] myArray, int fromIndex, int toIndex, int key)
199
Как вывести строку в обратном порядке? (с помощью цепочки методов)
``` String str = "абвгдеёжзи"; String reverse = new StringBuffer(str).reverse().toString(); ```
200
Как разбить строку на массив char?
String str = "ProgLang.su"; | char[] reverseArray1 = str.toCharArray();
201
Как вывести массив в обратном порядке? | Как должен выглядеть цикл for
for (int i = Array.length-1 ; i >= 0 ; i-- ) System.out.print(Array1[i]);
202
Как установить начальный размер ArrayList?
List list = new ArrayList<>(20);
203
Как создать ArrayList точно повторяющий любую коллекцию?
ArrayList list2 = new ArrayList<>(list);
204
Как добавить элемент в ArrayList?
ArrayList list = new ArrayList<>(); | list.add("Hello");
205
Как добавить элемент в ArrayList в позицию index&
list.add(0, "Amigo");
206
Как добавить целую коллекцию в ArrayLIst? Как сделать это на позицию index?
ArrayList secondList = new ArrayList<>(); secondList.addAll(list); secondList.addAll(1, list);
207
Как очистить ArrayList?
secondList.clear();
208
Как клонировать ArrayList и почему нужно приведение к тому же типу, что и изначальный ArrayList?
ArrayList copyOfSecondList = (ArrayList) secondList.clone(); Потому что clone() возвращает Object
209
Как узнать, содержит ли ArrayList определенный элемент?
System.out.println(copyOfSecondList.contains("Hello")); true
210
Что за метод foreach7 Не цикл, а именно метод.
https://javarush.ru/groups/posts/524-khvatit-pisatjh-ciklih-top-10-luchshikh-metodov-dlja-rabotih-s-kollekcijami-iz-java8
211
Как узнать размер ArrayList?
size()
212
Какой метод позволяет узнать текущее время в милисекундах? Пример использования.
long start ´System.currentTimeMillis(); чтобы измерить скорость работы программы. Вызвать в начале метода, в конце и end минус start
213
1. Если нужно добавлять элементы в ArrayList и LinkedList в конец, что будет происходит быстрее? 2. Если нужно считывать? 3. Если нужно записывать, но в начало?
1. Добавлять в конец ArrayList в два раза. 2. Считывание с ArrayList намного быстрее. 3. LinkedList намного быстрее.
214
1. Добавлять в конец ArrayList в два раза. 2. Считывание с ArrayList намного быстрее. 3. LinkedList намного быстрее.
System.out.println(cars.pollFirst()); | System.out.println(cars.pollLast());
215
Как создать объект класса HashMap?(Ключ int, значение String ) На что ссылаем?
Map map = new HashMap <> ();
216
Как добавить в HashMap данные? (Число и его перевод на русский )
map. put(1, "Один"); | map. put(2, "Два");
217
Как ведет себя HashMap при вставке нового ключ-значение, если ключ уже существует?
Перезапишет старое значение.
218
Сколько может быть повторяющихся ключей и значений в HashMap?
Ключ всегда один, значение сколько угодно.
219
Как получить значение по ключу?
map.get(1);
220
Имеется ли какой-то порядок в HashMap? Какой Map имеет?
Нет. LinkedHashMap и TreeMap.
221
Какой порядок в LinkedHashMap и TreeMap?
Сохраняет порядок добавления, сортирует по ключу.
222
Как выглядит цикл forEach, чтобы вывести ключ-значение на экран для HashMap?
for (Map.Entry entry : map.entrySet() ) ) { SOUT(entry.getKey() + " : " + entry.getValue() ) ); }
223
Сколько дубликатов может хранить в себе Set
Ни одного.
224
Какие множества ты знаешь? | Как создаются?
Set hashSet = HashSet <> (); LinkedHashSet; treeSet;
225
Как выглядит цикл forEach для HashSet?
for (String n : hashSet) { | }
226
Как редактировать сразу несколько строк в среде разработки?
Alt+Shift и мышкой выбираешь строки
227
Как узнать, содержит ли Set определенный элемент?
hash.set.contains("Искомый эмелент");
228
Как объединить два множества? Какая особенность?
set1.addAll(set2); ничего не дублируется, значит "общий кусок" будет один на двоих
229
Как создать множество с теми же элементами, что и у старого?
Set newHasSet = new HashSet <> (oldHashSet);
230
Как оставить в множестве все элементы другого множества?
oldHashSet.retainAll(newHashSet);
231
Как "отнять" одно множество от другого? Из множества, на котором используется метод, удаляем все элементы того множества, которое задается в параметре.
set1.removeAll(set2);