Java Flashcards
Как объявить константу, доступную нескольким методам класса? Какие модификаторы доступа она должна иметь?
Вне метода, в рамках класса. static и final.
Как вычислить квадратный корень из числа?
double х = 4;
double у= Math.sqrt(x);
System.out.println(y);
Как возвести в степень?
double у= Math.pow(x,a); //второе число - степень.
Как округлить число с плавающей точкой до ближайшего целого числа? Почему необходимо приведение?
double х = 9.997;
int nx = (int)Math.round(x);
Значение, возвращаемое методом round (), относится к типу long и поэтому может
быть присвоено переменной типа int только с явным приведением.
Дано: String s = “Hello”;
Как сделать из нее “Hell”
String s1 = s.substring (0,4);
Как создать строку из строк, разделенную определенным знаком? Например, “/”?
String all = String.join(“ / “, “S”, “М”, “L”, “XL”);
//в итоге переменная all содержит строку “S / М / L / XL
Как проверить идентичность строк, игнорируя регистр?
“Hello”.equalsignoreCase(“hello”);
Как определить символ в строке по номеру символа?
String greeting = “Hello”;
char first = greeting.charAt(0);
//первый символ - ‘Н’
Какой метод возвращает true, если строка начинается или заканчивается указанной в нем подстрокой?
• String Str = new String("Добро пожаловать на ProgLang.su"); System.out.println(Str.startsWith("Добро пожаловать") );
Возвращаемое значение: true
• boolean endsWith(Strinq suffix);
//в скобках то, с чего начинается/заканчивается.
Как найти индекс определенного фрагмента строки str в другой строке? Что вернет метод, если ничего не найдет?
String hello = “Hello”;
int index1 = hello.indexOf(‘H’);
Где находится класс String и все его методы?
java.lang.String
Как “вырезать” кусок строки с определенного места? С определенного места до определенного места?
String Str = new String(“Добро пожаловать на ProgLang.su”);
System.out.println(Str.substring(5));
tem.out.println(Str.substring(5, 15));
Как поменять все буквы строки на маленькие/большие?
toLowerCase ();
toUpperCase ();
Как вернуть исходную строку n раз?
String repeat (int count);
Есть необходимость поэтапно добавлять в объект строки, после перевести его в String. Как это сделать?
StringBuilder builder = new StringBuilder(); //создать
builder.append(ch); // добавить единственный символ
builder.append(str); //добавить символьную строку
String completedString = builder.toString(); //перевести в строку
Как добавить строку в StringBuilder?
StringВuilder append (String str) ;
Как вставить в StringBuilder строку на определенное место? Сколько параметров?
StringBuilder insert (int n, String str) ;
Как создать объект для считывания информации?
Scanner in = new Scanner(System.in);
Как считать строку и помесить ее в переменную класса Scanner?
Scanner in = new Scanner(System.in); String name = in.nextLine();
Когда два объекта StringBuilder будут выдавать true, equals ?
Только тогда, когда они ссылаются на один объект.
Что можно использовать для создания String?
Массив типа char
char [] arr = new char [] {'p','r','i', 'v', 'e', 't'} ; String s = new String(arr);
Как написать метод, получающий сколько угодно параметров int и печатающий их сумму?
Чем по сути является эта переменная?
public static void sum(int ... a) { int summa = 0; for (int i = 0; i < a.length; i++) { summa+=i; Sout(summa); } }
это обычный массив.
только один.
Сколько varargs переменных может быть в параметре?
Где должен стоять vararhs параметр?
Один.
В конце листа параметров.
Что нельзя ставить в список перезаписанных методов вместе с varargs и почему?
в параметре не может быть массив, потому что varargs переменная и есть массив .
Что можно вписать вместо varargs переменной? При желании.
Обычный массив.
Какие два способа удалить элемент из ArrayList?
remove();
по индексу и по значению.
Мы clone() клонировали ArrayList или задали в конструкторе new ArrayList <> (list3); какой-то другой ArrayList. На что будут ссылаться новосозданные ArrayList?
Будут новые ссылки на уже существующие объекты. И оригинал и клон содержат ссылки на одно и тоже.
Как создать массив StringBuilder из ArrayList? Массив Object?
StringBuilder [] arraySB = list.toArray(new
StringBuilder[10]);
где list - наш ArrayList, 10 - размер нового обычного массива.
тот же метод без параметров.
(!!!) Ново созданный массив ссылается на те же объекты, что и ArrayList.
Как перевести массив в список List?
Что уже никогда не изменится в этом List?
List list = Arrays.asList(массив);
Длина.
На что указывают ссылки новосозданного массива методом toArray()?
На объекты изначального List.
Как создать из массива список?
StringBuilder [] array = { sb1, sb2, sb2 };
List list = Arrays.asList(array);
Как отсортировать ArrayList?
Collections.sort(arrayList);
Как использовать метод equals() на ArrayList?
Каким образом перезаписан equals для ArrayList?
arraylist1.equals(arraylist2);
true будет когда оба содержат одинаковые элементы в одинаковом порядке.
Где лежит Iterator?
java.util.Iterator;
Как создать Iterator?
Iterator it = list1.iterator();
где list1 - наш ArrayList, в <> тип ArrayList
Как пройтись по коллекции с помощью итератора и вывести на экран элементы?
Iterator it = list1.iterator();
while(it.hasNext()) {
System.out.println(it.next());
}
Как удалить элемент с помощью итератора?
Iterator it = list1.iterator();
while(it.hasNext()) {
it.next();
it.remove();
}
Как сравнить два массива лексикографически?
Что возвращает метод?
System.out.println(Arrays.compare(array1, array2);
-1, если элементы первого массива “выше лексиграфически = выше в словаре” второго,
+1, если “ниже”
0, если равны
Как, сравнивая два массива, узнать место, где их значения становятся разными?
Что возвращает метод?
System.out.println(Arrays.mismatch(array1, array2);
если одинаковые -1;
иначе индекс расхождения.
Какой метод позволит удалить из ArrayList все элементы, содержащие элементы другого ArrayList?
arraylist1.removeAll(arraylist2);
Как оставить в ArrayList только те элементы, которые есть в другом ArrayList? Какому методу противоположен этот метод?
arraylist1.retainAll(arraylist2);
Как вырезать кусок ArrayList?
Какой тип будет куска?
Что будет с исходным ArrayList, если в его subList добавить элемент?
List list = arraylist1.subList(1,3);
List.
Элемент добавится и в него.
Как создать и заполнить List без использования метода add();
Как копировать коллекцию, сделав ее неизменяемой?
Какое свойство созданных List?
List list = List.of(“один”, “два”, “три”);
List list2 = List.copyOf(list);
неизменяемый.
Как передать переменной s i-тый элемент массива String?
String s = new String [] {“A”, “B”,”C”} [i];
Какой возвращаемый тип у геттера и что в параметрах?
Тип переменной, в параметрах ничего.
Какой возвращаемый тип у сеттера и что в параметрах?
Тип void, принимают изменяемое значение.
Как сделать так, чтобы геттер не позволял изменять свою переменную? Например, геттер типа StringBuilder?
В геттере нужно создать новую переменную и приравнять ее к старой. Возвращать нужно копию.
В классе есть несколько overloaded конструкторов, как вызвать один из другого?
this()
в параметры которого нужно вписать те переменные того же типа в том же порядке, что и в конструкторе, который мы вызываем.
Какое необходимое условие должен соблюдать класс, чтобы быть унаследованным?
быть public
Что такое overriding метода?
Каким должен быть метод?
Это изменение non-static, non-final метода, который он унаследовал от родительского класса.
Что должно соблюдаться при overrinding метода?
Такое же имя, список параметров и return type ( или это subclass нашего return type)
Что такое binding?
Определение, какой из перезаписанных методов вызовется, основываясь либо на реально созданном объекте, либо на типе данных ссылочной переменной.
Какие методы не могут быть перезаписаны? и, соответственно, какой binding?
private, static, final
compile time binding
Когда вызывается метод, основанный на реально созданном объекте? Какой binding?
Когда метод НЕ private, static, final.
Runtime = dynamic
Когда вызывается метод, основываясь на типе ссылочной переменной?
Какой binding.
Когда метод private, static, final.
Compile time = static
Если в параметрах метода ссылочная переменная, то какой метод вызовется и какой будет binding?
Вызовется тот метод, который определяется ТИПОМ этой переменнной.
Compile time;
Какой интерфейс необходим для использования для использования лямбда выражений?
Функциональный интерфейс, с одним лишь методом, который надо перезаписать.
По сути, чем является лямбда выражение и что позволяет лямбда выражение?
Можно думать о лямбда как об анонимных методах.
Позволяют нам внутрь параметр листа метода записывать метод.
Чтобы использовать лябмда мы должны?
В параметры метода вписать в круглые скобки объект, имплементирующий функциональный интерфейс, поставить стрелку и перезаписать один единственный его метод.
В чем разница методов next() и nextLine() в классе Scanner?
ййй
Какой метод служит для считывания числа? Числа с точкой?
System.out.print(“How old are you? “);
int age = sc.nextInt();
double age1 = sc.nextDouble () ;
Где находится класс Scanner?
import java.util.*;
Как проверить, есть ли следующее слово в потоке?
Что возвращает метод?
while (sc.hasNext()) {
System.out.println(scan.next());
}
Как проверить, есть ли следующее число в потоке?
- boolean hasNextInt()
* boolean hasNextDouble ()
Как вывести число, с дробной частью в двух знаках?
System.out.printf(“%.2f”, х);
Как определить ширину поля в семь символов?
Как сделать отступ справа или слева?
System.out.printf(“%8.2f”, х);
добавить минус перед 8;
При считывании информации с файла, что мы должны сделать в первую очередь?
Создать объект класса File c указанием пути к файлу:
File file = new File (“C:\Users\Admin\Desktop\myfile.txt”);
Создать объект класса Scanner и задать в параметры наш файл.
Scanner sc = new Scanner(file);
Как вывести на экран все строки нашего файла?
File file = new File ("C:\\Users\\Admin\\Desktop\\myfile.txt"); Scanner sc = new Scanner(file); while(sc.hasNextLine()) { System.out.println(sc.nextLine()); }
Что нужно делать в конце работы Scanner?
sc.close();
чтобы освобождать ресурсы
Как разделить строку на несколько по определенному “разделителю”?
Что возвращает метод?
String Str = new String(“Разделяем эту строку на слова”);
for (String retval : Str.split(“ “)) {
System.out.println(retval);
}
Массив строк.
Какой метод принимает на вход строку и возвращает число?
int x =Integer.parseInt(“9”);
double c = Double.parseDouble(“5”);
Как объявить массив?
int [] а;
Напиши простой способ объявления и инициализации массива.
int [] smallPrimes = { 2, 3, 5, 7, 11, 13 };
Как заполнить массив числами от 0 до 99 в цикле?
int [] а= new int[100];
for (int i = 0; i < 100; i++)
a[i] = i;
Чем инициализируются все элементы массива при его создании?
Нулями.
Как определить количество элементов в массиве? На что обратить внимание?
имя_массива.length.
без скобок, это не метод.
Как перебрать массив с помощью for each? Пример.
for (переменная : коллекция) что делаем.
пример:
for (iпt elemeпt : а)
System.out.printlп(elemeпt);
Как вывести все значения массива с помощью одного метода?
System.out.println(Arrays.toString(array));
Как создать два массива, чтобы изменяя значение одного элемента массива мы изменяли значение элемента второго массива на той же позиции?
int [] array1 = {1,2,3};
int [] array2 = array1;
Как копировать один массив в другой? Что указывается вторым параметром метода?
int [] copy = Arrays.copyOf ( array1, array1.length);
длина массива.
Как отсортировать массив?
Arrays.sort(array);
Как копировать массив в массив с определенного элемента по определенный элемент?
Arrays.copyOf (array[] а, int start, int end);
Как получить индекс элемента в массиве по его значению?
Arrays.binarySearch(array1, 2);
где array1 - массив, 2 - значение, индекс которого мы ищем.
Как быстро заполнить массив одним элементом?
Заполнить десятиместный массив шестерками?
int [] array = new int [10];
Arrays.fill(array, 6);
Что такое method hiding?
Это перекрытие static методов из родительского класса в дочернем.
Какие требования для method hiding?
- Имя такое же
- Список аргументов такой же
- Return type такой же или дочерний класс return типа родительского класса.
- Access модификатор такой же или менее строгий.
Что можно делать override?
Все методы НЕ static, НЕ final, НЕ private
Что можно сделать hide?
- static методы
2. non-private переменные.
Какие методы не могут быть ни override, ни hide?
final методы.
т.е. если мы хотим сделать так, чтобы метод не перезаписывался ни в одном из дочерних классов, что надо сделать?
добавить final.
Как создать объект абстрактного класса?
Может ли абстрактный класс быть final?
Никак.
Нет, абстракт подразумевает перезапись, а final - что потомков не будет. Не может.
Что может быть abstract?
Классы или методы.
Переменные нет.