Добавил:
Rumpelstilzchen2018@yandex.ru Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
59
Добавлен:
25.12.2020
Размер:
2.1 Mб
Скачать

Синтаксис и лексика Java

Лексемы языка

идентификаторы;

служебные слова class, public, const, goto;

литералы;

разделители { } [ ] ( ) ; . , ;

операторы = > < ! ? : == && || . Правила:

Нельзя использовать Пробел, !, "", £, %, &, *, #, @, ~

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

тип имя;

Например

int x; // объявление переменной x целочисленного типа

x = 10; // инициализация x

int x = 10; //объявление с игнициализацией

Типы данных в Java

Примитивные (простые) типы данных

Целочисленные

1.char – 16-битовый символ Unicode,

2.byte – 8-битовое целое число со знаком,

3.short – 16-битовое целое число со знаком,

4.int – 32-битовое целое число со знаком,

5.long – 64-битовое целое число со знаком. Вещественные типы:

6.float – 32-битовое число с плавающей точкой (IEEE 754-1985),

7.double – 64-битовое число с плавающей точкой (IEEE 754-1985). boolean допускает хранение значений true или false.

Ссылочные типы данных

Переменные типа класс – ссылки на объекты

Классы – переменные типа класс

Интерфейсы – ссылки интерфейсного типа

Перечисления –поименованные константы

Типы оболочки соответствуют каждому примитивному типу Элементы массивов:

float – 32-битовое число с плавающей точкой (IEEE 754-1985),

double – 64-битовое число с плавающей точкой (IEEE 754-1985).

Конвенция кода на Java

Пример 2: Вывод результата сложения трех чисел

public class Example2{

public static void main(String[] args){ int x = 10;

int y = 5; int z;

System.out.println("x = " + x ); System.out.println("y = " + y); z = x + y;

System.out.println("x + y = " + z);}

}

Пример 3: вывод результата сложения трех чисел

public class Example3{ int x = 10;

int y = 5; int z;

public static void main(String[] args){ System.out.println("x = " + x); System.out.println("y = " + y);

z = x + y;

System.out.println("x + y = " + z);

}

}

Пример 4: Использование констант

public class Example4{

public static void main(String[] args){ static final int NUMBER =100;

static final float PI=3.1415926F;

System.out.println(”PI = " + PI); System.out.println(”NUMBER = "

+ NUMBER);

}

}

Пример 5: Базовые типы

public class Example5{

public static void main(String[] args){ short x = 10, y = 5, z=1; byte B = 17; long w = 234334000000L; double d = 5.01; float f = 5.01f;

char ch = 'a';

String s = "Hello World!"; //строка boolean isFlag = false;

System.out.println("ch = " + ch ); System.out.println("isGlag = " + isFlag); System.out.println(s);

}

}

Пример 6: Строковые типы

Дватипа String и StringBuffer

Пример объявления: String ClassName; ClassName = new String();

ClassName = "Maple Tree Class";

StringBuffer sB = new StringBuffer("Hello"); sB.append(" World");

Пример 7: Тип VAR

var str = "Java 10"; // определяем String var list = new ArrayList<String>(); //определяеммастроксив ArrayList<String> var stream = list.stream();

// определяем поток Stream<String>s

Операторы языка

Зарезервированные слова языка

Интерактивные программы

Программам обычно требуется ввод и вывод.

Класс Scanner предоставляет удобные методы для чтения входных значений различных типов.

Объект Scanner можно настроить, чтобы читать входные данные из различных источников, включая значения опечаток пользователей на клавиатуре.

Ввод с клавиатуры представлен объектом System.in.

Чтение ввода c клавиатуры

Следующая строка создает объект Scanner, который считывает с клавиатуры.

Scanner scan = new Scanner (System.in);

Оператор new создает объект Scanner.

Однажды созданный объект Scanner может быть использован для вызова различных методов ввода , таких как:

answer = scan.nextLine();

Класс Scanner часть библиотеки java.util и должен быть импортирован в программу, чтобы можно было им пользоваться.

Метод nextLine считывает весь ввод до конца строки Детали библиотек и создания класса объектов обсуждаются далее.

Main.java

package ru.mirea.lecture1.ex1; import java.util.Scanner; public class Main{

public static void main (String[] args){ String message;

Scanner scan = new Scanner (System.in); System.out.println ("Enter a line of text:"); message = scan.nextLine();

System.out.println ("You entered: \"" + message + "\"");

}

}

Ввод отдельных символов

Если не указано иное, то пробелы пространство используется для разделения элементов (называемых токенов) входного потока.

Включает в себя символы пробела, табуляции, символы новой строки. Метод next класса Scanner читает следующий элемент на входе и

возвращает его в виде строки.

Такие методы как nextInt и nextDouble считывают данные конкретных типов.

package ru.mirea.lecture1.ex1; import java.util.Scanner; public class Main{

public static void main (String[] args){ int kilometers;

double litres, kpl;

Scanner scan = new Scanner (System.in); System.out.print ("Enter the number of kilometres: ");

int kilometres = scan.nextInt();

System.out.print ("Enter the litres of fuel used: "); litres = scan.nextDouble();

kpl = kilometres /litres;

System.out.println ("kilometres per litres: " + kpl);

}

}

Ввод /Вывод

import импортируемjavaкласс.util.Scanner; // public class Main {

public static void main(String[] args) { //создаёмобъектклассаScanner

Scanner sc = new Scanner(System.in); int i = 2;

SystemВведите.целоoutчисло:.");print("

тистиннуе потокали

if(sc.возвращаеhasNextInt()) { //

вводаможносчитатьцелоечисло

 

i = scсчитывает.nextInt();целоечислопо ока //

 

вводаисохраняемпеременную

 

System.out.println(i*2);

 

} else {

");

SystemВыввели.неoutцелоечисло.println("

}

 

}

 

}

 

Метод hasNextDouble(), применённый объекту класса Scanner, проверяет, можно ли считать с потока ввода вещественное число типа double, а метод nextDouble() — считывает его.

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

Существуют методы hasNext название_типа() для различных примитивных типов.

Вывод с помощью класса System, объекта out и методов этого объекта, напрмер println() переопределены для различных типов.

Стандартный ввод-вывод

import java.io.Console;

public class ExampleReadWrite1 {

public static void main(String[] args) { System.out.print(”Как вас зовут:”);

String name = System.console().readLine(); System.out.println(“Привет: “ + name );

}

}

Другой способ: стандартный ввод-вывод

import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; public class Test {

public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new

InputStreamReader(System.in)); System.out.print("Enter String"); String s = br.readLine(); System.out.print("Enter Integer:"); try {

int i = Integer.parseInt(br.readLine()); } catch(NumberFormatException nfe) {

System.err.println("Invalid Format!");

}

}

}

Стандартный ввод-вывод

import java.util.Scanner;

public class ExampleReadWrite2 {

public static void main(String[] args) {

Scanner scanner = new Scanner(System.in); String name = scanner.nextLine(); System.out.println(“ Ваше имя“ + name); System.out.println(”Сковамл:етько“);

int age = scanner.nextInt(); System.out.println(“Ваш возраст “ + age);

}

}

Обработка исключений

try {

//что -нибудьделаем }отображаемсообщениеошибк} catch (ещеодноисключение) { //отображаемсообщениеошибк} finally {

//что-нибудь делаем здесь

}

import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; public class ExampleReadWrite4 {

public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in));

System.out.print("Enter String"); String s = br.readLine(); System.out.print("Enter Integer:"); try{

int i = Integer.parseInt(br.readLine()); }catch(NumberFormatException nfe){ System.err.println("Invalid Format!");

}

}

}

Управляющие конструкции языка: циклы

Управляющие конструкции языка: запись условий

Управляющие конструкции языка: множественный выбор

switch (i){ case 1:

...

break; case 2:

...

break; case 3:

...

break;

default:

...

break;

}

switch (letter) { case 'A': a = a + 1; break;

case 'B’: b= b + 1; break;

case 'C': c= c + 1; break;

default:

System.out.println(” Unknown letter");

}

Структуры данных: массивы, матрицы и списки

Соседние файлы в папке Лекции