Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекции по ООАП.doc
Скачиваний:
6
Добавлен:
01.05.2025
Размер:
1.01 Mб
Скачать

Список зарезервированных слов Java:

abstract

assert

boolean

break

byte

case

catch

char

class

const

continue

default

do

double

else

enum

extends

final

finally

float

for

goto

if

implements

import

instanceof

int

interface

long

native

new

package

private

protected

public

return

short

static

strictfp

super

switch

synchronized

this

throw

throws

transient

try

void

volatile

while

При объектно-ориентированном программировании в Java объекты определяются следующим образом:

package packageName;

import ClassNameToImport;

accessSpecifier class ClassName {

accessSpecifier dataType variableName [= initialValue];

accessSpecifier ClassName([argumentList]) {

constructorStatement(s)

}

accessSpecifier returnType methodName([argumentList]) {

methodStatement(s)

}

// Это комментарий

/* Это

многострочный

комментарий */}

Чтобы определить объект в языке Java, нужно объявить класс. Класс можно представить в качестве шаблона объектов, как формочка для печенья. Класс определяет базовую структуру объекта и во время выполнения программы создает экземпляр этого объекта. Слово объект часто используется как синоним слова класс. Строго говоря, класс определяет структуру того, что воплощается в объекте.

объявление класса:

accessSpecifier class ClassName {

accessSpecifier dataType variableName [= initialValue];

accessSpecifier ClassName([argumentList]) {

constructorStatement(s)

}

accessSpecifier returnType methodName([argumentList]) {

methodStatement(s)

}

}

Структура программы на языке Java

Import java.Io.IoException; // подключения библиотеки ioException:

public class Example2 {//создаем класс

public static void main(String[ ] args) {

Int y,X,z,a,b,c,d;//объявление переменных

System.out.println("Введите x,y,a,b,c,d");//вывод на экран сообщения

try {

a=(int)System.in.read();//считываем с клавиатуры а и т.д

b=(int)System.in.read();

c=(int)System.in.read();

d=(int)System.in.read();

} catch (IOException e) {

System.out.println("Input ERROR");

}

x=a+b;

y=c+d;

z=x+y;//вычисляем z

System.out.println("x,y,z ");//вывод вычисленных значений

}

}

Экзаменационный вопрос № 25. Основные понятия языка ооп c#

C# – объектно-ориентированный язык программирования. Разработан в 1998—2001 годах группой инженеров под руководством Андерса Хейлсберга в компании Microsoft как язык разработки приложений для платформы Microsoft .NET Framework и впоследствии был стандартизирован как ECMA-334 и ISO/IEC 23270.

Проект C# был начат в декабре 1998 и получил кодовое название COOL (C-style Object Oriented Language). Версия 1.0 была анонсирована вместе с платформой .NET в июне 2000 года, тогда же появилась и первая общедоступная бета-версия; C# 1.0 окончательно вышел вместе с Microsoft Visual Studio .NET в феврале 2002 года.

Первая версия C# напоминала по своим возможностям Java 1.4, несколько их расширяя: так, в C# имелись свойства (выглядящие в коде как поля объекта, но на деле вызывающие при обращении к ним методы класса), индексаторы (подобные свойствам, но принимающие параметр как индекс массива), события, делегаты, циклы foreach, структуры, передаваемые по значению, автоматическое преобразование встроенных типов в объекты при необходимости (boxing), атрибуты, встроенные средства взаимодействия с неуправляемым кодом (DLL, COM) и прочее.

Кроме того, в C# решено было перенести некоторые возможности C++, отсутствовавшие в Java: беззнаковые типы, перегрузку операторов (с некоторыми ограничениями, в отличие от C++), передача параметров в метод по ссылке, методы с переменным числом параметров, оператор goto (с ограничениями). Также в C# оставили ограниченную возможность работы суказателями — в местах кода, специально обозначенных словом unsafe и при указании специальной опции компилятору.

Основные элементы языка C#. Комментарии позволяют не только временно исключать часть кода, но и писать комментарии к функциям, классам, и.т.д прямо в коде. На этап компиляции все комментарии игнорируются, поэтому можно не беспокоится о увеличении размера или какого либо воздействия на конечный файл, так туда они не попадут.

Однострочные комментарии - "//" Эта последовательность символов, маркирует весь последующий код в строке как комментарий.

Многострочные комментарии "/*" - При помощи них можно за комментировать любой отрезок кода. Весь текст между ними, независимо от того, находится он на одной строке или нескольких, будет за комментирован.

Коментарий // - действует лишь до конца строки.

using System и не распространяется на строку ниже.

Коментарий /* - */ - неограниченный комментарий

Переменные в C# обязательно имеют тип и могут содержать только объекты этого типа (и производных).

Есть три вида переменных

  • значения

  • ссылки

  • указатели (это для специальных участков программы)

Знак равенства (=) называется оператором присваивания.

Типы данных

sbyte -128 до 127 З наковое 8-бит целое

byte 0 до 255 Беззнаковое 8-бит целое

char U+0000 до U+ffff 1 6-битовый символ Unicode

bool true или false 1 байт

short -32768 до 32767 Знаковое 16-бит целое

ushort 0 до 65535 Беззнаковое 16-бит целое

int -2147483648 до 2147483647 Знаковое 32-бит целое

uint 0 до 4294967295 Беззнаковое 32-бит целое

long -9223372036854775808

до 9223372036854775807 Знаковое 32-бит целое

ulong 0 до 18446744073709551615 Беззнаковое 32-бит целое

float ±1,5*10-45 до ±3,4*1033 4 байта, точность — 7 разрядов

double ±5*10-324 до ±1,7*10306 8 байт, точность —16 разрядов

decimal 12 байт, точность — 28 разрядов

Математические операции

Умножение c * d

Деление c / d

Остаток c % d

Сложение c + d

Вычитание c - d

Побитовый сдвиг вправо c >> 3

Побитовый сдвиг влево c << 3

Логические и операции сравнения

Меньше чем c < d

Больше чем c > d

Меньше или равно c < =d

Больше или равно c > = d

Равно c == d

Не равно c != d

Побитовое И c & d

Побитовое ИЛИ c | d

Логическое И c && d

Логическое ИЛИ c || d

Условный оператор (d < 10) ? 5 : 15

Оператор выбора (условный оператор if) - используется для выполнения или не выполнения некоторого оператора в зависимости от условия. Если условие истинно, то вложенный оператор выполняется.

Кроме того, может присутствовать альтернативная ветвь, которая выполняется в том случае, если условие ложно

if (a == 5)

System.Console.WriteLine("A is 5");

else

System.Console.WriteLine("A is not 5");

Еще существует операция выбора

(a == 5) ? true : false ;

Оператор ветвления

Здесь выполняется одна из альтернативных ветвей в зависимости от значения управляющего выражения

switch (nValue)

{

case 1: case 2: case 3: case 4: case 5:

Console.WriteLine("Rabbit walk through the street" );

break; // this line is necessary

}

switch (someString)

{

default: break;

case null: break;

case "leavetakings" : // two cases for code

case "greetings" :

goto default;

case "goodbye" :

goto case "leavetakings";

case "error":

// int i = 5;

// if you uncomment previous line you should get

// "control cannot fall through from one case to another"

error

case "next case":

throw new ApplicationException();

}

Отличительной возможностью C# является возможность ветвления по строкам и запрет на переход между блоками без явного на это указания (при компиляции выдается ошибка)

Есть возможность сопоставить одному блоку несколько значений (в примере - "leavetakings" и "greetings"). Есть возможность передать управление на другой блок (goto case x; goto default;).

В случае если делается ветвление по переменной типа string, значение которой равно null, а соответствующий case отсутствует, будет выполняться ветвь default (если такая есть). null - вполне полноправное значение переменной типа string и NullPointerException оператором switch выбрасываться не будет.

Циклы

В С# есть четыре вида циклов

  • while

  • do-while

  • for

  • foreach

Переменные объявленные в цикле (в том числе в заголовке цикла for и foreach) не видны снаружи цикла (так же как в стандартном C++)

while

Пока истинно условие выполняется оператор - тело цикла.

int a = 3;

while (a< 3)

{

System.Console.WriteLine(a);

a++;

}

do-while

Здесь сначала один раз выполняется тело цикла, затем проверяется условие. Если условие истинно, то выполнение тела цикла повторяется.

int a = 4;

do {

System.Console.WriteLine(a);

a++;

}

while

(a< 3)

for

Этот цикл чаще всего используют когда число повторений известно заранее.

for (int a = 0; a < 5; a ++)

{

System.Console.WriteLine(a);

}

Есть частная разновидность - бесконечный цикл - for (;;){...}

В C# рекомендуют бесконечный цикл писать как while(true){...}

foreach

Этот цикл полезен для перебора всех элементов в массиве, классах типа ArrayList и Hashtable (и вообще всех классах, реализующих IEnumerable)

int[] a = new int[]{1,2,3};

foreach (int b in a)

{ System.Console.WriteLine(b);}

При этом переменной b присваивается по очереди каждый элемент массива. Если переменная b имеет содержит непосредственно значение (а не ссылку на объект), то изменять элементы массива через нее не получится. Если же переменная b - объект, то через нее можно менять текущий элемент массива.

Операторы перехода

К операторам перехода относятся

  • break

  • continue

  • goto

  • return

  • throw

  • break

Этот оператор может стоять внутри циклов for, do-while и while, а также внутри оператора switch. Выполнение оператора break приводит к выходу из цикла или оператора switch.

continue

Этот оператор может стоять внутри циклов for, do-while и while. Выполнение оператора continue приводит к переходу на проверку условия цикла

goto

Оператор goto используется для перехода на метку и внутри оператора switch. Переходы на метку использовать не рекомендуется

int a = 0;

start: System.Console.WriteLine(a);

a++;

if(a< 5)

{ goto start;}

Зарезервированные слова в C# (Csharp)

abstract

as

base

bool

break

byte

case

catch

char

checked

class

const

continue

decimal

default

delegate

do

double

else

enum

event

explicit

extern

false

finally

fixed

float

for

foreach

goto

if

implict

in

int

interface

internal

is

lock

long

namespace

new

null

object

operator

out

override

params

private

protected

public

readonly

ref

return

sbyte

sealed

short

sizeof

stackalloc

static

string

struct

switch

this

throw

true

try

typeof

uint

ulong

unchecked

unsafe

ushort

using

virtual

volatile

void

while

Объектно-ориентированное программирование

Определение класса

Пример класса V e h i c l e может выглядеть следующим образом:

p u b l i c c l a s s V e h i c l e

{

p u b l i c s t r i n g sModel; // Название модели

p u b l i c s t r i n g sManufacturer; // Производитель

p u b l i c i n t nNumOfDoors; // Количество дверей

p u b l i c i n t nNumOfWheels; // Количество колес

}

Определение класса начинается словами p u b l i c c l a s s , за которыми идет имя

класса (в данном случае — V e h i c l e ) .

Создание объекта

Термин объект используется для обозначения "вещей". Да, это не слишком

полезное определение, так что приведем несколько примеров. Переменная типа

i n t является объектом i n t . Автомобиль является объектом V e h i c l e .

Вот фрагмент кода, создающий автомобиль, являющийся объектом V e h i c l e :

Vehicle myCar;

myCar = new V e h i c l e () ;

В терминах С# myCar— это объект класса V e h i c l e . Можно также сказать,

что myCar— экземпляр класса V e h i c l e . В данном контексте экземпляр

(instance) означает "пример" или "один из". Можно использовать этот термин

и как глагол, и говорить об инстащировании V e h i c l e — это именно то, что

делает оператор new.