Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
MIR-Lektsii_Java.doc
Скачиваний:
7
Добавлен:
01.07.2025
Размер:
207 Кб
Скачать
☆

Лекция 2. Структуры и типы данных в Java. План

  1. Типы данных, переменные и массивы.

  2. Область видимости и время жизни переменных.

  3. Массивы в Java. Работа с массивами.

  4. Преобразование типов в Java.

1.

Язык Java – строго типизированный язык, в котором действуют следующие правила:

  • каждая переменная имеет тип;

  • каждый тип строго определен;

  • все присваивания проверяются на совместимость типов.

В Java определены 8 типов в 4 группах:

  1. целочисленные: byte, short, int, long;

  2. числа с плавающей запятой: float, double;

  3. символы: char;

  4. логические: boolean.

Все переменные в Java должны быть объявлены до их использования:

<тип> <идентификатор> [= <значение>, <идентификатор> = <значение>]

Пример: int a,b,c;

int d=3, e, c=7;

char x=’c’;

В Java разрешается динамическая инициализация переменных:

double a=3,b=4;

double c=Math.sqrt(a*a+b*b);

2.

Java позволяет объявлять переменные внутри любого блока. Блок начинается с { и заканчивается }. Блок определяет область видимости. Как только встретилась {, открывается новая область видимости.

Переменные, которые объявлены внутри области видимости, не доступны извне.

Области видимости могут быть вложенными. Объекты из внешней области видимости видны во внутренней, но не наоборот.

Пример:

public static void main (String args[]){

int x=10;

if (x==10) {

int y=20;

System.out.println(“x и y”+x+“ ”+y);

x=y*2;

}

y=100; //ошибка

System.out.println(“x=”+1);

}

Время жизни переменной ограничено их областью видимости.

3.

Массивы в Java выделяют следующие:

  • одномерные;

  • многомерные.

Объявление одномерного массива:

<тип> <имя_переменной> [];

Пример: int a[];

Объявленный массив не существует. Чтобы связать массив a с реальными данными, необходимо использовать оператор new для выделения памяти.

Конструкция будет следующего вида:

<имя_массива> = new <тип>[<размер>];

Пример:

a = new int [3];

или int a[] = new int[3];

Заполнение массива:

a[0] = 1;

a[1] = 2; …

Можно объявлять массив с одновременной инициализацией:

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

Объявление многомерного массива в Java:

int a[][] = new int [3][2];

Память под объявленный массив в Java можно выделить вручную:

a[0] = new int[2];

и для всех остальных элементов массива точно также.

Получаем нерегулярный массив:

0

1 2

3 4 5

Поведение таких массивов не совпадает с поведением стандартных массивов.

Инициализация многомерного массива:

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

{4,5,6}}

4.

Когда значение одного типа присваивается переменной другого типа, то возможно автоматическое их преобразование, если удовлетворяется два условия:

  1. два типа совместимы;

  2. тип назначения больше исходного типа (расширяющее преобразование).

Но может быть и другая ситуация. Для преобразования между двумя несовместимыми типами необходима операция приведения, т.е. преобразование типов в явном виде:

(<тип_назначения>)<значение_исходного_типа>;

Пример: int a;

byte b;

b =(byte)a; (Это сужающее преобразование)

Если значение с плавающей точкой присваивается переменной целого типа, происходит усечение и дробная часть числа отбрасывается.

В вычислениях типы byte, short приводятся к int, int – к long, long – float, float – double.

Пример: byte b = 50;

b = b*2;

b = (byte)b*2; (ошибка)

b = b + 'x'; (+ ASCII-код) string → int

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]