- •Вывод в Консоль
- •Управляющая последовательность (Escapesequence)
- •Встроенные типы данных. Приведение типов
- •Замечание о типеchar
- •Литерал
- •Лр3 Операции над примитивными типами. Библиотеки api. Импорт библиотек. Ввод исходных данных с клавиатуры Приоритеты операций в Java
- •Методы классов Java api (application programming interface): Math, System.Out, ….
- •Определение. Сигнатура метода.
- •Лр4. Управление потоком (if, else, while) Импорт jar-библиотеки ввода/вывода
- •Методы этих классов специфицированы в файле stdlib.Docx.
- •Конструкции контроля последовательности исполнения инструкций кода
- •1.Типовые конструкции с условным операторомif
- •2.Типовые конструкции с оператором циклаwhile
- •3.Типовые конструкции с оператором циклаfor
- •Лр5. Псевдокод. Множественный выбор. Другие конструкции циклов.
- •Псевдокод
- •Оператор switch делает код короче и понятнее
- •Другие конструкции циклов
- •Оператор break делает код более быстрым
- •Оператор continue делает код более быстрым
- •Пример использования метода чтения из файла
Литерал
Литералом называется непосредственное представление в коде значения какого либо типа данных.
Например, в строке кода intf= 234; литералом будет 234
в строке кода intа = 2.344; литералом будет 2.344 (представляет число с плавающей точкой двойной точности)
System.out.print(“Привет”); литералом будет Привет.
Лр3 Операции над примитивными типами. Библиотеки api. Импорт библиотек. Ввод исходных данных с клавиатуры Приоритеты операций в Java
Высший приоритет( ) [ ] . ++ -- ~ ! ( * / % + - >> >>> << == != & ^ | && || = op=Низший приоритет
Для выражения с несколькими операторами одинакового приоритета операции выполняются «слева-направо» , т.е. а + b + c + d = (a + b) + c + d = ((a + b) + c) + d
Методы классов Java api (application programming interface): Math, System.Out, ….
public class System.out
void print(String s) печать s
void println(String s) печать s, с последующим переходом в новую строку
void println() переход в новую строку
Пример использования: System.out.println()
public class Math
double abs(double a) абсолютное6 значение a
double max(double a, double b) максимум из a и b
double min(double a, double b) минимум из a и b
Замечание 1:
abs(), max(), and min() могут применяться к int, long, и float.
double sin(double theta) функция синус
double cos(double theta) функция косинус
double tan(double theta) функция тангенс
Замечание 2:
Углы выражены в радианах. Для преобразования в градусыиспользуют toDegrees() а в радианы toRadians().
Замечание 3: Для обратных функций используют asin(), acos(), и atan()
double exp(double a) экспонента еа
double log(double a) натуральный логарифм ln a
double pow(double a, double b) возведение в степень (ab )
double random() случайное число в промежутке [0, 1)
double sqrt(double a) квадратный корень из a
double E число e (constant)
double PI число Пи (constant)
long round(double a) округление к ближайшему целому
public class Integer
int parseInt(String s) конвертирует s в int значение
пример: int a = Integer.parseInt("12");
public class Double
double parseDouble(String s) конвертирует s в double значение
public class Long
long parseLong(String s) конвертирует s в long значение
Замечание 4: Для использования инструкций конвертирования необходимо импортировать: import java.lang.*;
Для вывода на печать программисту не нужно конвертировать int, double и long в String, потому что Java автоматически конвертирует все аргументы System.out.println() или System.out.print() в тип String для вывода на печать.
String
k = “6452” int
w = Integer.parseInt(k)
long d = Math.round(45.56); (в d присвоится 46)
double q = Math.sqrt(b*b - 4.0*a*c);
import java.lang.*;
public class test {
public static void main(String[] args) {
// TODO Auto-generated method stub
int a = Integer.parseInt("12");
System.out.print(a);
}
}
Определение. Сигнатура метода.
Как показывают примеры, код в приведенной таблице НЕ является кодом, который пишется, чтобы использовать метод. Код в таблице – это сигнатуры методов, т.е. спецификация типа аргументов метода, имени метода и типа возвращаемого значения (return value):
сигнатура
метода
round
long round(double a)
Замечание 5 Следует избегать сравнения на равенство чисел с плавающей точкой!
Например, (0.1 + 0.1 == 0.2) is true but (0.1 + 0.1 + 0.1 == 0.3) is false!
Замечание 6 При делении чисел типа int Java выполняет целочисленное деление!
Например, 10/3 даст 3. Чтобы получить дробное число нужно делить 10.0/3 или 10/3.0 или 10.0/3.0.
Комбинированные операции
В Java для бинарных арифметических операций можно использовать комбинированные (составные) знаки операций:
идентификатор операция = выражение
Это эквивалентно следующей операции:
идентификатор = идентификатор операция выражение
Примеры:
1. Выражение x += b означает x = x + b.
2. Выражение x -= b означает x = x - b.
3. Выражение x *= b означает x = x * b.
4. Выражение x /= b означает x = x / b.
5. Выражение x %= b означает x = x % b.
Примеры операций сравнения:
boolean isEqual, isNonEqual, isGreater, isGreaterOrEqual, isLess, isLessOrEqual;
int x1 = 5, x2 = 5, x3 = 3, x4 = 7;
isEqual = x1 == x2; // isEqual = true
isNonEqual = x1 != x2; // isNonEqual = false
isGreater = x1 > x3; // isGreater = true
isGreaterOrEqual = x2 >= x3; // isGreaterOrEqual = true
isLess = x3 < x1; // isLess = true
isLessOrEqual = x1 <= x3; // isLessOrEqual = false
Ввод с клавиатуры исходных данных в консольное окно
Ввод целого числа
import java.util.Scanner; // импортируем класс Scanner, в котором есть System.in
public class inputInt {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in); // создаём объект класса Scanner
int i ;
System.out.print("Введите целое число: ");
if(sc.hasNextInt()) { // возвращает истину, если введено целое число
i = sc.nextInt(); // считывает целое число с потока ввода и сохраняет в i
System.out.println(i*2);
} else {
System.out.println("Вы ввели не целое число");
}
}
}
Ввод вещественного числа
Метод hasNextDouble(), применённый объекту класса Scanner, проверяет, можно ли считать с потока ввода вещественное число типа double, а метод nextDouble() — считывает его. Если попытаться считать значение без предварительной проверки, то во время исполнения программы можно получить ошибку (отладчик заранее такую ошибку не обнаружит).
import java.util.Scanner; public class inputDouble { public static void main(String[] args) { Scanner sc = new Scanner(System.in); double i = sc.nextDouble(); // если ввести букву s, то случится
//ошибка во время исполнения System.out.println(i/3); } }
Ввод строк символов, т.е. данных типа String
Имеется также метод nextLine(), позволяющий считывать целую последовательность символов, т.е. строку, а, значит, полученное через этот метод значение нужно сохранять в объекте класса String. В следующем примере создаётся два таких объекта, потом в них поочерёдно записывается ввод пользователя, а далее на экран выводится одна строка, полученная объединением введённых последовательностей символов.
import java.util.Scanner; public class inputString { public static void main(String[] args) { Scanner sc = new Scanner(System.in); String s1, s2;
//System.out.print("Введите две строки символов: "); s1 = sc.nextLine(); s2 = sc.nextLine(); System.out.println(s1 + s2); } }