- •Программирование на языке Java
- •Программирование на языке Java
- •Программирование на языке Java
- •Программирование на языке Java
- •Программирование на языке Java
- •Программирование на языке Java
- •Программирование на языке Java
- •Программирование на языке Java
- •Программирование на языке Java
- •Программирование на языке Java
- •Программирование на языке Java
- •Программирование на языке Java
- •Программирование на языке Java
- •Программирование на языке Java
- •Программирование на языке Java
- •Программирование на языке Java
- •Программирование на языке Java
- •Программирование на языке Java
- •Программирование на языке Java
- •Программирование на языке Java
- •Программирование на языке Java
- •Программирование на языке Java
- •Программирование на языке Java
- •Программирование на языке Java
- •Программирование на языке Java
- •Программирование на языке Java
- •Программирование на языке Java
- •Программирование на языке Java
- •Программирование на языке Java
- •Программирование на языке Java
- •Программирование на языке Java
- •Программирование на языке Java
- •Программирование на языке Java
- •Программирование на языке Java
- •Программирование на языке Java
- •Программирование на языке Java
- •Программирование на языке Java
- •Программирование на языке Java
- •Программирование на языке Java
Программирование на языке Java
Методы (продолжение)
Вызов метода
// программа с методом Greeting public class Greeting
{
public static void main (String[ ] args)
{
greeting();
}
static void greeting()
{
System.out.println (“Hello, Programmer!”);
}
}
Передача параметров в методы
В определение метода добавим параметр типа String: static void greeting (String name)
{
System.out.println (“Hello, Programmer!”);
}
Этот параметр мы будем использовать в блоке инструкций: static void greeting (String name)
{
System.out.println (“Hello ” + name + “!”);
}
Программирование на языке Java
Возвращаемые методом значения
static int square (int value)
{
int result;
result = value * value; return result;
}
Использование нескольких операторов return
boolean demo()
{
…
if (Condition)
{
…
return true;
}
else
{
…
return false;
}
}
Программирование на языке Java
Программные модули и методы
//Преобразование Фаренгейт-Цельсий import java.io.*;
import java.text.*; public class Fahrenheit
{
static double Celsius (double fahrenheit)
{
double celsius = (fahrenheit – 32) * 5.0 / 9.0; return celsius;
}
public static void main (String[] args) throws IOException
{
double fahrenheit; double celsius;
System.out.print (“Temperature in Fahrenheit: ”); //связь с клавиатурой
BufferedReader bReader = new BufferedReader (new InputStreamReader (System.in));
String cStr = bReader.readLine (); fahrenheit = Double.parseDouble (cStr); celsius = Celsius (fahrenheit);
NumberFormat nf=NumberFormat.getInstance (); nf.setMaximumFractionDigits (2); System.out.println(nf.format (fahrenheit) + “Grad Fahrenheit”); System.out.println(nf.format (celsius) + “Grad Celsius”);
}
}
Программирование на языке Java
ООП. Классы
Объединение (или инкапсуляция) данных и методов в одном классе является основным принципом ООП. Класс – это абстрактное описание группы объектов, обладающих общими признаками.
// программа для операции с векторами |
// конструктор класса |
public class VectorOperations |
Vector() |
{ |
{ |
public static void main (String[ ] args) |
x = 0; |
{ |
y = 0; |
Vector v1 = new Vector(); |
} |
Vector v2 = new Vector(); |
// методы класса |
v1.x = 10; |
void add (Vector v) |
v1.y = 30; |
{ |
v2.x = 12.5; |
x += v.x; |
v2.y = -1.5; |
y += v.y; |
v1.add(v2); |
} |
v1.output (); |
void output () |
} |
{ |
} |
System.out.println (“ (“ + x + “,” + y |
class Vector |
+ “)”); |
{ |
} |
// переменные экземпляра класса |
} |
double x; |
|
double y; |
|
|
|
Программирование на языке Java
Подробнее о конструкторе
//программа для операции с векторами public class VectorOperations
{
public static void main (String[ ] args)
{
Vector v1 = new Vector(10, 30); Vector v2 = new Vector(); v1.add(v2);
v1.output ();
}
}
class Vector
{
//переменные экземпляра класса
double x; double y;
// конструктор класса Vector()
{
x = 0; y = 0;
}
Vector (double x_start, double y_start)
{
x = x_start; y = y_start;
}
// методы класса
void add (Vector v)
{
x += v.x; y += v.y;
}
void output ()
{
System.out.println (“ (“ + x + “,” + y + “)”);
}
}
Программирование на языке Java
Спецификатор доступа
В каждом объектно-ориентированном языке программирования имеются так называемые спецификаторы доступа, то есть специальные ключевые слова, которые позволяют устанавливать, кто и к каким методам и переменным класса имеет доступ.
Понятие доступ может обозначать два различных вида доступа: доступ снаружи и изнутри:
•изнутри обозначает доступ из пределов декларированного класса
•снаружи означает доступ из-за пределов данного класса, доступ снаружи – доступ к
переменным или методам класса с помощью экземпляра класса.
Внутренний доступ разрешен всегда, однако с внешним доступом все обстоит иначе. В этом случае создатель класса может с помощью спецификатора доступа указать права доступа к элементам класса.
Существует следующие категории для спецификатора доступа:
• public: переменные доступны для обращения как в данном классе, так и во всех производных классах, а также доступны для внешнего обращения к ним;
• protected: разрешен доступ в пределах самого класса и в производных классах из того же пакета;
•private: доступ разрешен только в пределах данного класса;
•методы и переменные, для которых спецификатор доступа не указывается в явном виде, имеют стандартную область видимости (в пределах пакета).
Программирование на языке Java
Работа с файлами
Потоки.
Весь ввод и вывод в Java-программах – ввод с клавиатуры, вывод на экран, работа с файлами или с любым другим устройством – основывается на понятии потока. Потоки служат для описания передачи данных от какого-либо источника к какому-либо пункту назначения.
Клавиатура
|
Входящий |
|
Файл |
||
поток |
||
|
||
|
||
|
|
|
Память |
|
|
|
|
П |
|
|
|
|
Монитор |
||
Р |
|
||
|
|
||
|
|
||
О |
|
|
|
Г |
Исходящий |
|
|
Файл |
|||
Р |
поток |
||
|
|||
|
|||
А |
|
|
|
М |
|
|
|
|
Память |
||
М |
|
||
А |
|
|
Модель потока
Программирование на языке Java
Запись в файлы
Запись в файл производится в четыре этапа:
1.Подключение пакета java.io.
2.Создание объекта Stream, который связывается с нужным файлом.
3.Запись в файл.
4.Закрытие потока вывода в файл.
// запись в файл import java.io.*; public class FileOutput
{
public static void main (String [ ] args) throws IOException
{
FileWriter fileStream = new FileWriter (“test.txt”); PrintWriter output = new PrintWriter (fileStream);
// для тестирования запишем различные данные в файл String text1 = “This is simple text”;
int var1 = 1000;
String text2 = “Thus is sequel text”; double var2 = 555.111; output.println (text1); output.println (var1); output.println (text2); output.println (var2); output.close();
}
}
Программирование на языке Java
Чтение из файла
Операция чтения из файла во многом похожа на операцию записи в файл:
1.Подключение пакета java.io.
2.Создание объекта Stream, который связывается с нужным файлом.
3.Чтение из файла.
4.Закрытие потока ввода из файла.
// чтение из файла import java.io.*; public class FileInput
{
public static void main (String [ ] args) throws IOException
{
FileReader fileStream = new FileReader (“FileInput.java”); BufferedReader inputVar = new BufferedReader (fileStream); String stringVar;
while (true)
{
stringVar = inputVar.readLine (); if (stringVar = = nul)
break;
System.out.println (“Reading: “ + stringVar);
}
inputVar.close();
}
}
