Лекция 1 Переменные и основные типы данных. Операторы. Циклы. Массивы. Лекция 1. Лекция 1 Переменные и основные типы данных. Операторы. Циклы. Массивы Типы данных Типы переменных
Скачать 79.28 Kb.
|
Лекция 1 Переменные и основные типы данных. Операторы. Циклы. МассивыТипы данныхТипы переменныхПеременная – это ячейка памяти с именем. По этому имени к ячейке можно обращаться в программе. Две базовые операции, которые выполняются с ячейками – это запись и считывание значения.Типы переменных:
Простые типы (передаются по значению)
Пример: int a = 3; int b = a; b++; // b = 4, a = 3 Ссылочные типы (передаются по ссылке)Пример 1: Phone firstPhone = new Phone("Samsung"); Phone secondPhone = firstPhone; secondPhone.setName("iPhone"); // firstPhone.getName() -> “iPhone” // secondPhone.getName() -> “iPhone” Пример 2 String str1 = “Some string”; String str2 = “Some string”; // (str1 == str2) -> false // (str1.equals(str2) -> true Классы-оболочки
Явное приведение типовПример:byte x = 100;byte y = 50;byte z = x+y; //Ошибка!!byte z = (byte) (x+y) //Все работает, но неправильноint z = x + y; // Все работает правильноАвтоматическое приведение типов
Базовые операторыАрифметические операторы
*Если операнды – целые числа то результатом будет целая часть от деления! Логические операторы Java
Тернарный операторусловие ? выражение1 : выражение2 (a : b ? с)Если первый операнд равен true , то в качестве результата возвращается значение второго операнда b, если же a равно false, то возвращается значение с.Пример:int number = new Random().nextInt();String text = number%2 == 0 ? "четное" : "нечетное";Сделать задания 1, 2Управляющие конструкцииУсловный оператор ifif (условие_1) {команды_1} else if (условие_2) {команды_2} else {команды_3}Пример: if (a < -5) { a++; } else if (a >= -5 && a < 5) { a--; } else { if (b != 0) { a = a*b; } } Switch-caseswitch(выражение) {case значение_1:команды_1;break;case значение_2:команды_2;break;default:команды;}Пример: switch(month) { case “September”: beSad(); break; case “July”: beCheerful(); break; default: keepCalm(); } Цикл while и do-whileWhile (условие) {команды;}do {команды;} while (условие);int x = 0; While (x < 5) { x++; } do { x--; } while (x < -5); Цикл forfor (инициализация; условие; изменение_значений) {команды}int s=0; for (int i = 0; i<10; i++) { s+=i; } int s=0; int i = 10; for (; i>0; i--) { s+=i; } Сделать задания 3, 4 int i=0; int s=0; for (; ;) { s+=++i; if (i>=10) break; } break и continueОператор break завершает последовательность операторов в операторе switch, позволяет выйти из цикла и может использоваться в качестве оператора безусловного перехода (goto):while(true) {double d = Math.random();if(d > 0.8)break;System.out.println("d = " + d);}Оператор continue передаёт управление вначале итерационной части цикла, а затем условному выражению. При этом промежуточный ко, следующий в цикле за continue пропускается: for (int i = 0; i < 10; i++) { System.out.print(i + " "); if (i % 2 == 0) continue; System.out.println(); } МассивыСам массив представляет собой область памяти, содержащей фактические данные, т.е. значения элементов массива. Переменная массива фактически содержат адрес этой области памяти.// объявление переменной массиваint[] myArray;// Создание массива и запись ссылки на массив в переменную массиваmyArray = new int[10];Присваивание и сравнение массивовФактическим значением переменной массива является адрес области памяти, где расположен массив.double[] firstArray;double[] secondArray;firstArray[] = new double[10];secondArray = firstArray;В реузультате обе переменные будут ссылаться на один и тот же массив.Двумерные массивыДвумерный массив – это одномерный массив, элементами которого являются одномерные массивы.int[][] doubleArray = new int[3][4];Инициализация двумерного массива:char[][] symbols = new char[][]{{‘a’}, {‘b’, ’c’}, {‘d’, ‘e’, ‘f’}};Вывод:ab сd e fПример создания и инициализации массиваSystem.out.println("Введите размер матрицы: ");Scanner sc = new Scanner(System.in);int size = sc.nextInt();int[][] nums = new int[size][size]; for (int i=0; i for (int j=0; jnums[i][j] = new Random().nextInt(10);System.out.print(nums[i][j]+" ");}System.out.println();}java.util.ArraysArrays – это вспомогательный класс для управления массивами. Он содержит инструменты сортировки, вывода, копирования, сравнения массивов. Основные методы этого класса:
Пример// Создаем массив типа intint[] firstArray = new int[10];// Заполняем его числом 42Arrays.fill(firstArray, 42);// Заполняем вручную случайнми числамиfor (int i = 0; i < firstArray.length; i++)firstArray[i] = new Random().nextInt(10);// Создаем новый массив и копируем туда первые 5 элементов первого//массиваint[] secondArray = Arrays.copyOfRange(firstArray, 0, 5);// Сортируем получившийся массивArrays.sort(secondArray);// Выводим на экран отсортированный массивSystem.out.println(Arrays.toString(secondArray));Цикл foreachfor(тип_переменной переменная : массив) {команды}Пример:byte[][] array = new byte[][]{0, 1, 2, 3, 4, 5, 6, 7, 8, 9};for (byte b : array) {System.out.println(b);}Сделать задания 5, 6Задания
Домашнее задание
if (string1.equals(string2))doSomething(); |