Главная страница

Презентация по Программированию. Книга Программирование на Java для начинающих


Скачать 4.47 Mb.
НазваниеКнига Программирование на Java для начинающих
АнкорПрезентация по Программированию
Дата03.02.2022
Размер4.47 Mb.
Формат файлаpdf
Имя файла638767.pdf
ТипКнига
#350143
страница10 из 18
1   ...   6   7   8   9   10   11   12   13   ...   18
т
а
с данными
96
Обработка символов
Класс String пакета java.lang предоставляет метод trim(), который используется для удаления любых пустых символов в начале и в конце строки, указанной в качестве аргумента этому методу. При этом удаля- ются все лишние пробелы, знаки новой строки и табуляция, и возвра- щается укороченная версия новой строки.
К отдельному символу строки можно обратиться, указав номер, со- ответствующий его позиции в строке, в качестве аргумента методу
charAt()
. Данный метод обращается со строкой как с массивом симво- лов, в котором первый символ находится в нулевой позиции – подобно массивам, чьи элементы индексируются, начиная с нуля. Таким обра- зом, к первому символу строки можно обратиться при помощи записи
charAt(0)
, ко второму символу — charAt(1) и так далее.
Поскольку индексы начинаются с нуля, то последний символ в стро- ке будет всегда на единицу меньше, чем общее число символов в этой строке. Это означает, что последний символ будет иметь индекс, эк- вивалентный числу length() — 1. Следовательно, чтобы обратить- ся к последнему символу строки с именем str, нужно записать str.
charAt( str.length() -1 )
Класс String предлагает специальный метод replace() для замены всех вхождений определенного символа другим символом. Данный ме- тод принимает два аргумента, которые определяют заменяемый символ и символ, который встает на его место. Например, для замены в строке всех символов a на символы z, мы запишем replace('a' , 'z' ).
Чтобы проверить, содержит ли строка какие-либо символы, существу- ет специальный метод isEmpty(). Данный метод возвратит значение
true
, если строка совершенно пустая, в противном случае он будет воз- вращать значение false.
1. Создайте новую программу с именем CharacterSwap, содержащую стандартный метод main.
class
CharacterSwap
{
public static void main ( String[] args ) { }
}
2. Внутри главного метода объявите и проинициализируйте пустую строковую переменную.
String txt = "" ;
JAVA
CharacterSwap.java

97
3. Присвойте переменной определенное значение из каких-либо сим- волов, добавив в начало и конец несколько пробелов.
if ( txt.isEmpty() ) txt = " Боррокудо " ;
4. Выведите значение строковой переменной и количество символов, которые она содержит.
System.out.println( "Строка: " + txt ) ;
System.out.println( "Длина первоначальной строки: " + txt.length() ) ;
5. Удалите пробелы в начале и конце, а затем выведите значение пере- менной и ее размер заново.
txt = txt.trim() ;
System.out.println( "Строка: " + txt ) ;
System.out.println( "Длина строки: " + txt.length() ) ;
6. Выведите первый символ строки.
char initial = txt.charAt(0) ;
System.out.println( "Первая буква: " + initial ) ;
7. Теперь выведите последний символ строки.
initial = txt.charAt( ( txt.length() -1 ) );
System.out.println( "Последняя буква: " + initial ) ;
8. Замените все символы "o", встречающиеся в строке, символами "a".
txt = txt.replace( 'о' , 'а' ) ;
System.out.println( "Строка: " + txt ) ;
9. Сохраните программу под именем CharacterSwap.java, затем ском- пилируйте и запустите.

5. Р
а
бо
т
а
с данными
98
Заключение

В документации по языку Java можно найти информацию о мето- дах и свойствах для каждого класса.

Базовые классы языка Java содержатся в пакете java.lang.
• Класс
Math
предоставляет константы Math.PI и Math.E.
• Метод
Math.pow()
осуществляет возведение в указанную степень, а метод Math.sqrt() возвращает квадратный корень указанного числа.
• Числа можно округлять до целых значений, используя методы
Math.round()
, Math.floor() и Math.ceil().

При помощи методов Math.max() и Math.min() можно сравнивать числа.
• Метод
Math.random()
возвращает случайное число двойной точно- сти в диапазоне от 0,0 до 0,999999999999999.
• Строка представляет собой 0 или более символов, заключенных в знаки кавычек.

Подобно свойству массива length метод length() возвращает раз- мер строки.
• Метод
concat()
используется для добавления одной строки к другой .
• Метод
equals()
возвращает значение true только в том случае, когда две строки содержат идентичные символы в одинаковом по- рядке.
• Регистр символа строки можно изменять, используя методы
toUpperCase()
и toLowerCase().
• Используя методы
startsWith()
и endsWith(), можно сравнивать строки.

При помощи методов indexOf() и substring() можно производить поиск подстроки в указанной строке.
• Метод
isEmpty()
возвращает значение true только в том случае, когда строка не содержит ни одного символа.
• Для работы с символами строки используются методы trim(),
charAt()
и replace().

6
6
Создание классов
Создание классов
В этой главе
В этой главе
демонстрируется, как
демонстрируется, как
создавать Java-программы,
создавать Java-программы,
применяющие
применяющие
множественные методы
множественные методы
и классы.
и классы.
Программа как набор методов
• Программа как набор методов
• Область
видимости
• Область
видимости
• Использование множественных классов
• Использование множественных классов
• Расширение существующего класса
• Расширение существующего класса
• Создание объектного класса
• Создание объектного класса
• Создание экземпляра объекта
• Создание экземпляра объекта
• Инкапсуляция
свойств
• Инкапсуляция
свойств
• Создание объектных данных
• Создание объектных данных
• Заключение
• Заключение

6. С
оздание к
лас
со
в
100
Программа как набор
методов
Программы обычно разбиваются на отдельные методы — таким обра- зом создаются модули кода, каждый из которых выполняет определен- ную задачу и может быть вызван какое угодно количество раз по мере необходимости. Такая разбивка программы на множественные методы позволяет также легче отслеживать ошибки, поскольку каждый из ме- тодов может быть проверен отдельно. Методы можно объявлять вну- три фигурных скобок, которые следуют за объявлением класса, при этом используются те же самые ключевые слова, что и при объявле- нии главного метода. Любому новому методу нужно давать имя, следуя стандартным договоренностям именования, а также указывать по не- обходимости аргументы в скобках после имени метода.
1. Создайте новую программу с именем Methods, содержащую стан- дартный метод main.
class
Methods
{
public static void main ( String[] args ) { }
}
2. Внутри фигурных скобок главного метода добавьте операторы для вывода сообщения и вызова второго метода с именем sub.
System.out.println( "Сообщение из главного метода." ) ;
sub()
;
3. После главного метода перед последней фигурной скобкой класса добавьте второй метод для вывода сообщения.
public static void sub()
{
System.out.println( "Сообщение из метода sub." ) ;
}
4. Сохраните программу под именем Methods.java, затем скомпили- руйте и запустите.
JAVA
Methods.java
На заметку
Если метод вызывается без аргументов, то достаточно написать только его имя и пустые скобки.

101
В классе могут содержаться несколько методов с одним и тем же име- нем, только если они имеют либо различное число аргументов, либо аргументы различного типа. Это называется «перегрузкой » методов.
1. Создайте новую программу с именем Overload, содержащую стан- дартный метод main.
class
Overload
{
public static void main ( String[] args ) { }
}
2. Внутри фигурных скобок главного метода добавьте три оператора, вызывающих различные перегруженные методы и передающие им значения аргументов.
System.out.println( write( 12 ) ) ;
System.out.println( write( "Двенадцать" ) ) ;
System.out.println( write( 4 , 16 ) ) ;
3. После главного метода перед последней фигурной скобкой класса добавьте три перегруженных метода, каждый из которых возвра- щает строку вызвавшему его оператору.
public static String write( int num )
{ return ( "Переданное целое " + num ) ; }
public static String write( String num )
{ return ( "Переданное строковое " + num ) ; }
public static String write( int num1 , int num2 )
{ return ( "Результат равен " + ( num1 * num2 ) ) ; }
4. Сохраните программу под именем Overload.java, затем скомпили- руйте и запустите.
JAVA
Overload.java
Внимание
В объявлении каждого из перегруженных методов должно быть указано, что метод возвращает строко- вую величину (используется
String, а не void).

6. С
оздание к
лас
со
в
102
Область видимости
Переменная, которая объявляется внутри метода, доступна только в пределах этого метода — ее так называемая область видимости огра- ничена данным методом, в котором она объявлена. Это означает, что в другом методе можно объявить переменную с точно таким же име- нем без какого-либо конфликта.
1. Создайте новую программу с именем Scope, содержащую стандарт- ный метод main.
class
Scope
{
public static void main ( String[] args ) { }
}
2. Внутри фигурных скобок главного метода объявите и проинициа- лизируйте локальную строковую переменную, а затем выведите ее значение.
String txt = "Это локальная переменная метода main" ;
System.out.println( txt ) ;
3. После главного метода перед последней фигурной скобкой класса добавьте еще один метод с именем sub.
public static void sub( ) { }
4. Внутри фигурных скобок метода sub объявите и проинициали- зируйте локальную строковую переменную с тем же именем, что и переменная в главном методе.
String txt = "Это локальная переменная метода sub" ;
System.out.println( txt ) ;
5. Добавьте вызов метода sub в конец метода main.
sub()
;
6. Сохраните программу под именем Scope.java, затем скомпилируй- те и запустите.
JAVA
Scope.java
На заметку
Переменная-счетчик, объ- явленная в цикле for, недо- ступна снаружи цикла — ее область видимости ограни- чена блоком операторов цикла.

103
Ключевое слово static, которое используется в объявлениях метода, указывает, что данный метод является «методом класса» — он досту- пен из любого другого метода данного класса.
Аналогично, при помощи ключевого слова static может быть объяв- лена «переменная класса», которая доступна глобально для всего клас- са. Объявление этой переменной должно быть выполнено перед объ- явлением главного метода сразу после фигурных скобок, следующих за объявлением класса.
В программе могут встретиться одноименные глобальная переменная класса и локальная переменная метода. Локальная переменная мето- да имеет приоритет до тех пор, пока глобальная переменная класса не будет вызвана при помощи точечной записи с использованием имени класса, либо не объявлена локальная переменная с тем же именем.
7. Отредактируйте код в файле Scope.java, добавив глобальную пере- менную класса с тем же именем, что и локальная переменная ме- тода.
final static String txt =
"Это глобальная переменная класса Scope" ;
8. Добавьте оператор в конец главного метода для вывода значений глобальной переменной класса.
System.out.println( Scope.txt ) ;
9. Закомментируйте строку, которая объявляет локальную перемен- ную в методе sub — таким образом, оператор вывода будет теперь обращаться к глобальной переменной с тем же именем.
//String txt = "Это локальная переменная метода sub";
10. Сохраните изменения, затем снова скомпилируйте и запустите программу на выполнение, чтобы увидеть изменения.
Совет
По возможности используй- те локальные переменные метода, чтобы избегать конфликтов, — глобаль- ные переменные класса используются в основном для констант .

6. С
оздание к
лас
со
в
104
Использование
множественных классов
Подобно тому, как программа может содержать несколько методов, большие программы могут состоять из нескольких классов, каждый из которых представляет свою функциональность. Такая модульность предпочтительнее варианта, когда вся программа пишется при помо- щи одного класса, и это делает процесс отладки более простым.
Ключевое слово public, которое добавляется при объявлении, является так называемым модификатором доступа, который определяет види- мость элемента для других классов. Его можно использовать в объяв- лении класса, чтобы явно указать, что класс будет доступен (виден) для других классов. Если ключевое слово public опущено, по умолчанию разрешается доступ из других локальных классов. Однако для главно- го метода всегда нужно использовать ключевое слово public, для того чтобы этот метод был виден компилятору.
1. Создайте новую программу под именем Multi, содержащую стандартный метод main (включая ключевое слово public, как обычно ).
class
Multi
{
public static void main ( String[] args ) { }
}
2. Внутри фигурных скобок главного метода объявите и проинициа- лизируйте переменную строкового типа, а затем выведите ее содер- жимое.
String msg = "Это локальная переменная класса Multi" ;
System.out.println( msg ) ;
3. Выведите содержимое константы с именем txt из класса Data.
System.out.println( Data.txt ) ;
4. Вызовите метод с именем greeting из класса Data.
Data.greeting()
;
5. Вызовите метод
line
из класса Draw.
Draw.line()
;
6. Сохраните программу под именем Multi.java.
JAVA
Multi.java
Совет
Компилятор автоматически находит классы в файлах с расширением
.java и соз- дает скомпилированные файлы с расширением
.class для каждого из них.

105
7. Начните новый файл с создания класса Data.
class
Data
{
}
8. Объявите и проинициализируйте константу класса.
public final static String txt =
"Это глобальная переменная класса Data" ;
9. Добавьте метод класса.
public static void greeting
{
System.out.print( "Это глобальный метод " ) ;
System.out.println( "класса Data" ) ;
}
10. Сохраните файл под именем Data.java в том же каталоге, что и про- грамма Multi.java.
11. Создайте новый файл, создав класс Draw и метод line для доступа по умолчанию — без ключевого слова public.
class
Draw
{
static void line()
{
System.out.println(
"__________________________");
}
}
12. Сохраните файл под именем Draw.java в том же каталоге, что и про- грамма Multi.java, затем скомпилируйте и запустите.
JAVA
Data.java
JAVA
Draw.java
На заметку
Ключевое слово public раз- решает доступ из любого другого класса, а доступ по умолчанию разрешает от- крывать доступ только для классов одного пакета.

6. С
оздание к
лас
со
в
106
Расширение
существующего класса
Класс может наследовать свойства любого другого класса, если его объявить при помощи ключевого слова extends с указанием имени класса, из которого следует наследовать свойства. Например, следую- щее объявление class Extra extends Base наследует из класса Base.
Класс, который наследует свойство, называется подклассом , а класс, от которого наследуется свойство, называется суперклассом . В объяв- лении, представленном выше, класс Base является суперклассом, а класс Extra — подклассом.
Методы и переменные, созданные в суперклассе, обычно могут быть использованы таким образом, как будто они были созданы в подклассе, при условии, если они не объявлены с ключевым словом private, кото- рое запрещает доступ извне оригинального класса.
Метод в подклассе будет перегружать метод с тем же именем из супер- класса, только если их аргументы не различаются. К методу суперклас- са можно явно обратиться, используя имя класса и точечную запись.
Например, SuperClass.run().
Следует отметить, что оператор try catch в любом методе суперкласса не перехватывает исключения, которые появляются в подклассе — вы- зываемый оператор нужно заключать в свой собственный блок опера- торов try catch для перехвата таких исключений.
1. Начните новый класс с именем SuperClass.
1   ...   6   7   8   9   10   11   12   13   ...   18


написать администратору сайта