2.1.8. Выводмассивов.
Пример вывода двумерного массива a.
for(int i = 0; i < a.length; i++) { for(int j = 0; j < a[i].length; j++)
System.out.print(a[i][j] + “ “); System.out.println();
}
2.2. Строки.
Для работы со стоками в Java предусмотрен класс String.
Конструкторы класса String:
Конструктор |
Пример |
|
|
Результат |
String() |
String s = new |
|
“” |
|
|
String(); |
|
|
|
String(char chars[]) |
char chars[] = {‘a’, |
|
“abc” |
|
|
‘b’, ‘c’}; |
|
|
|
|
String s = new |
|
|
|
|
String(chars); |
|
|
|
String(char chars[], |
char chars[] = {‘a’, |
|
“cde” |
|
int startIndex, int |
‘b’, ‘c’, ‘d’, ‘e’, |
|
|
|
numChars) |
‘f’}; |
|
|
|
|
String s = new |
|
|
|
|
String(chars, 2, 3); |
|
|
|
String(String |
String s = new |
|
“str” |
|
stringObj) |
String(“str”); |
|
|
|
Создание из строкового |
String s = “str”; |
|
“str” |
|
литерала |
|
|
|
|
Методы класса String: |
|
|
|
|
|
|
|
||
int length() |
|
Возвращает длину строки |
||
char charAt(int where) |
|
Возвращает символ с индексом where |
||
char[] toCharArray() |
|
Возвращает массив символов, воходящих в |
||
|
|
строку |
|
|
boolean equals(Object str) |
|
Сравнение с другой строкой |
||
boolean equalsIgnoreCase(Object str) |
Сравнение с другой строкой без учёта регистра |
|||
|
|
символов |
|
|
int indexOf(String str) |
|
Возвращает индекс первого вхождения |
||
|
|
подстроки str в строку или -1, если подстрока ни |
||
|
|
разу не встретилась |
|
|
String replace(char oldChar, char newChar) |
Возвращает строку, в которой символ oldChar |
|||
|
|
заменён на newChar |
|
|
String concat(String str) |
|
Возвращает строку, полученную добавлением |
||
|
|
строки str в конец строки, для которой вызван |
||
|
|
метод |
|
|
String toLowerCase() |
|
Возвращает строку, в которой все символы |
||
|
|
приведены к нижнему регистру |
||
String toUpperCase() |
|
Возвращает строку, в которой все символы |
||
|
|
приведены к верхнему регистру |
Примеры:
String str = "This is a string";
System.out.println("Длина строки: " + str.length()); System.out.println("Символ с индексом 12: " + str.charAt(12)); System.out.println("Слово string начинается с индекса: " + str.indexOf("string"));
if(str.equalsIgnoreCase("this IS a String")) System.out.println("Строки равны без учёта регистра");
str = str.replace(' ', '.');
System.out.println("В этой строке пробелы заменены на точки:
".concat(str));
2.3. КлассMath.
Класс Math содержит математические функции и константы.
Константы:
Math.E |
Число e (2,72…) |
Math.PI |
Число π (3.14…) |
Пример: |
|
System.out.println(“Число e равно: “ + Math.E);
Тригонометрические функции:
double Math.sin(double arg) |
Синус угла arg, переданного в радианах |
double Math.cos(double arg) |
Косинус угла arg, переданного в радианах |
double Math.tan(double arg) |
Тангенс угла arg, переданного в радианах |
double Math.asin(double arg) |
Возвращает угол, синус которого равен arg |
double Math.acos(double arg) |
Возвращает угол, косинус которого равен arg |
double Math.atan(double arg) |
Возвращает угол, тангенс которого равен arg |
double Math.atan2(double x, double y) |
Возвращает угол, тангенс которого равен x/y |
Экспоненциальные функции: |
|
|
|
double Math.exp(double arg) |
Экспонента arg |
double Math.log(double arg) |
Натуральный логарифм от arg |
double Math.log10(double arg) |
Логарифм по основанию 10 от arg |
double Math.pow(double y, double x) |
y в степени x |
double Math.sqrt(double arg) |
Квадратный корень arg |
Прочие функции: |
|
|
|
<тип> Math.abs(<тип> arg) |
Абсолютное значение arg |
double Math.ceil(double arg) |
Наименьшее целое число, большее arg |
double Math.floor(double arg) |
Наибольшее целое число, меньше или равное |
|
arg |
<тип> Math.max(<тип> x, <тип> y) |
Возвращает большее из чисел x и y |
<тип> Math.min( <тип> x, <тип> y) |
Возвращает меньшее из чисел x и y |
double Math.random() |
Возвращает псевдослучайное число от 0 до 1 |
double Math.toDegrees(double arg) |
Преобразует радианы в градусы |
double Math.toRadians(double arg) |
Преобразует градусы в радианы |
2.4.Генератор псевдослучайных чисел.
Для генерации случайных чисел в Java предназначен класс Random. Этот класс находится в пакете java.utils. Чтобы использовать методы класса Random, его необходимо создать.
Пример:
java.util.Random r = new java.util.Random();
2.4.1. Равномерное распределение.
Для генерации псевдослучайных чисел равномерного распределения предназначены следующие методы:
•nextBoolean() – генерирует значение в диапазоне (false, true)
•nextDouble(), nextFloat() – генерируют значение в диапазоне 0.0 .. 1.0
•nextInt(), nextLong() – генерирует целое число из области значений целого типа
•nextInt(int n) – генерирует целое число в диапазоне 0 .. n-1
Пример:
int a[] = new int[10]; Random r = new Random();
for(int i = 0; i < a.length; i++) a[i] = r.nextInt(25);
2.4.2. Стандартное нормальное распределение.
Для генерации псевдослучайных чисел стандартного нормального распределения предназначен метод nextGaussian(). Он возвращает псевдослучайное число типа double, подчинённое закону нормального распределения с математическим ожиданием 0.0 и стандартным отклонением 1.0.
Пример:
double a[] = new double[128]; Random r = new Random();
for(int i = 0; i < a.length; i++) a[i] = r. nextGaussian();