- •Вывод в Консоль
- •Управляющая последовательность (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 делает код более быстрым
- •Пример использования метода чтения из файла
Другие конструкции циклов
Оператор break делает код более быстрым
Иногда цикл можно завершить досрочно. Например, при проверке наличия в списке наименований товаров, имеющихся на складе конкретного товара просмотр наименований списка можно прекратить, как только текущее наименование совпало с искомым.
Или при проверке является ли число N простым, мы последовательно делим его на целые значения параметра цикла i. Как только остаток от деления N/ i станет равным нулю, становится ясно, что N – не простое, а составное число и проверку (т.е. деление на следующие значения i можно прекратить. Для досрочного выхода из цикла в Java имеется оператор break.
Пример.
int i;
for (i = 2; i < N; i++)
if (N % i == 0) break;
if (i = N) System.out.println(N + " простое число");
Оператор continue делает код более быстрым
Когда в теле цикла for исполняется оператор continue, то управление сразу передается оператору инкрементации параметра цикла (т.е. пропускаются имеющиеся после continue операторы тела цикла)
Бесконечный цикл
For ( ; ; )
Цикл для обхода всех элементов массива или коллекции
В следующей программе используется расширенный for для прохода по всем элементам массива:
class EnhancedForDemo {
public static void main(String[] args){
int[] numbers =
{1,2,3,4,5,6,7,8,9,10};
for (int item : numbers) {
System.out.println("Count is: " + item);
}
}
}
Здесь переменная item принимает значение текущего элемента массива.
Цикл do-while
Спецификация цикла do – while:
do
{ <statements> }
while (<boolean expression>);
Этот цикл отличается от цикла while тем, что при первом входе в тело цикла НЕ проверяется значение булевского выражения.
Пример. С помощью метода random() получить случайную точку внутри единичного круга на координатной плоскости.
do
{ // Scale x and y to be random in (-1, 1).
x = 2.0*Math.random() - 1.0;
y = 2.0*Math.random() - 1.0;
} while (Math.sqrt(x*x + y*y) > 1.0);
ЛР10 Выдача РГР. Запись в файл. чтение из файла
Пример класса FileWorker, содержащего методы записи текста в файл и чтения текста из файла
import java.io.*;
public class FileWorker {
public static void writeToFile(String fileName, String text,boolean addToFile) {
// при addToFile=true text заменяет содержимое файла, иначе - добавляется
//Определяем целевой файл
File file = new File(fileName);
try {
//проверяем, что если файл не существует то создаем его
if(!file.exists()){
file.createNewFile();
}
//FileWriter обеспечит возможности записи в файл
FileWriter fr = new FileWriter(file.getAbsolutePath(),addToFile);
try {
//Записываем text в файл
fr.write(text);
} finally {
//После чего мы должны закрыть файл
//Иначе файл не запишется
fr.close();
}
} catch(IOException e) {
throw new RuntimeException(e);
}
}
public static String readFromFile(String flname) {
//метод чтения из файла с именем flname
String s, text="";
FileReader flread;
try {
flread = new FileReader(flname);
BufferedReader br = new BufferedReader(flread);
// readLine считывает из файла по одной строке s за раз
while((s = br.readLine()) != null) {
text=text + " " + s;
}
flread.close();
}
catch ( FileNotFoundException fe ) {
System.out.println("Файл не найден");
}
catch(IOException e) {
throw new RuntimeException(e);
}
return text;
}
}