Узнайте больше о Java с нашим учебным пособием . Узнайте о различиях между блоками, процессорами и лямбдами в SitePoint.
Java — Введение
Java — это простой, объектно-ориентированный, высокопроизводительный язык. Он является распределенным, переносимым, многопоточным и интерпретируемым — в основном предназначен для разработки объектно-ориентированного сетевого программного обеспечения для интернет-приложений. «Интернет» подразумевает гетерогенные системы, разные сетевые функции, разные библиотеки Windows и разные операционные системы. Java гарантирует одинаковое поведение программы на разных платформах.
Краткая история Java
В 1990 году Sun Microsystems начала проект под названием Green для разработки программного обеспечения для бытовой электроники. Разработчик Гослинг начал писать программное обеспечение на C ++ для встраивания в такие элементы, как тостеры, видеомагнитофоны и персональные цифровые помощники (PDA). Встроенное программное обеспечение делает многие приборы более интеллектуальными. Гослинг решил проблемы C ++ с помощью нового языка под названием Oak. Наконец в 1995 году Дуб был переименован в Java. С тех пор популярность Java растет.
Bytecode
Ключ, который позволяет Java решать как проблемы безопасности, так и переносимости, заключается в том, что вывод компилятора Java не является исполняемым кодом, а является байт-кодом.
Байт-код — это высоко оптимизированный набор инструкций, предназначенных для выполнения системой времени выполнения Java, которая называется виртуальной машиной Java (JVM). Это интерпретатор для байт-кода.
На языке программирования Java весь исходный код сначала пишется в виде простых текстовых файлов, заканчивающихся расширением .java. Эти исходные файлы затем компилируются в файлы .class компилятором javac. Файл .class не содержит код, свойственный вашему процессору; вместо этого он содержит байт-код — язык JVM.
Затем средство запуска Java запускает ваше приложение с экземпляром виртуальной машины Java.
Java VM доступна во многих различных операционных системах, поэтому одни и те же файлы .class могут работать в Microsoft Windows, операционной системе Solaris ™ (ОС Solaris), Linux или Mac OS. Некоторые виртуальные машины, такие как виртуальная машина Java HotSpot, выполняют во время выполнения дополнительные действия, такие как поиск узких мест в производительности и перекомпиляция (в собственный код) часто используемых разделов кода.
Java в сравнении с C ++
Java — это настоящий объектно-ориентированный язык, в то время как C ++ — это в основном C с объектно-ориентированным расширением. Ниже перечислены некоторые основные функции C ++, которые были намеренно исключены из Java или значительно изменены:
- Java не поддерживает перегрузку операторов.
- Java не имеет шаблонных классов.
- Java не поддерживает множественное наследование классов.
- Java не поддерживает глобальные переменные.
- Java не использует указатели.
- Java заменила функцию деструктора на функцию
finalize()
- В Java нет заголовочных файлов.
Приложения Java
Java используется в:
- Системы реального времени
- Моделирование и Моделирование
- объектно-ориентированные базы данных
- Искусственный интеллект и экспертные системы
- CIM / CAD / CAM системы
- Нейронные сети и параллельное программирование
- Системы поддержки принятия решений
Теперь, когда у нас есть обзор языка Java, давайте начнем с технических особенностей языка.
Тип данных
Тип данных определяет размер и тип значений, которые могут храниться в идентификаторе. Язык Java богат своими типами данных. Различные типы данных позволяют выбрать тип, соответствующий потребностям приложения.
Типы данных в Java подразделяются на два типа:
- Примитив, который включает в себя целое число, символ, логическое значение и число с плавающей точкой.
- Непримитивный — который включает Классы, Интерфейсы и Массивы.
Примитивные типы данных
1. Целое число
Целочисленные типы могут содержать целые числа, такие как 123 и -96. Размер значений, которые могут быть сохранены, зависит от целочисленного типа, который мы выбираем.
Тип | Размер | Диапазон значений, которые могут быть сохранены |
---|---|---|
байт | 1 байт | От −128 до 127 |
короткая | 2 байта | От −32768 до 32767 |
ИНТ | 4 байта | От -2 147 483 648 до 2 147 483 647 |
длинная | 8 байт | 9,223,372,036,854,775,808 до 9.223.372.036.854.755.807 |
Диапазон значений рассчитывается как — (2 n − 1 ) — (2 n − 1 ) −1; где n — количество требуемых битов. Например, тип данных байта требует 1 байт = 8 бит. Следовательно, диапазон значений, которые могут быть сохранены в байтовом типе данных, составляет от — (2 8−1 ) до (2 8−1 ) -1
= −2 7 до (2 7 ) -1
= От -128 до 127
2. Плавающая точка
Типы данных с плавающей точкой используются для представления чисел с дробной частью. Числа с плавающей запятой одинарной точности занимают 4 байта, а числа с плавающей запятой двойной точности занимают 8 байтов. Есть два подтипа:
Тип | Размер | Диапазон значений, которые могут быть сохранены |
---|---|---|
поплавок | 4 байта | 3,4e-038 до 3,4e + 038 |
двойной | 8 байт | 1,7e − 308–1,7e + 038 |
3. Персонаж
Он хранит символьные константы в памяти. Он принимает размер 2 байта, но в основном он может содержать только один символ, потому что char хранит наборы символов Unicode. Он имеет минимальное значение «u0000» (или 0) и максимальное значение «uffff» (или 65 535 включительно).
4. Булево
Булевы типы данных используются для хранения значений с двумя состояниями: true или false.
Java токены
Токен — это самый маленький элемент в программе, который имеет значение для компилятора. Эти токены определяют структуру языка. Набор токенов Java можно разделить на пять категорий: идентификаторы, ключевые слова, литералы, операторы и разделители.
1. Идентификаторы
Идентификаторы — это имена, предоставленные вами. Их можно назначать переменным, методам, функциям, классам и т. Д., Чтобы однозначно идентифицировать их для компилятора.
2. Ключевые слова
Ключевые слова — это зарезервированные слова, которые имеют особое значение для компилятора. Их нельзя использовать в качестве идентификаторов. У Java богатый набор ключевых слов. Вот некоторые примеры: логическое, char, if, protected, new, this, try, catch, null, threadsafe и т. Д.
3. Литералы
Литералы — это переменные, значения которых остаются постоянными на протяжении всей программы. Их также называют константами. Литералы могут быть четырех типов. Они есть:
а. Строковые литералы
Строковые литералы всегда заключаются в двойные кавычки и реализуются с использованием класса java.lang.String. Заключение строки символов в двойные кавычки автоматически создаст новый объект String. Например, String s = "this is a string";
, Строковые объекты являются неизменяемыми, что означает, что после создания их значения не могут быть изменены.
б. Символьные литералы
Они заключены в одинарные кавычки и содержат только один символ.
с. Логические литералы
Они могут иметь только значения true
false
Эти значения не соответствуют 1 или 0, как в C или C ++.
д. Числовые литералы
Числовые литералы могут содержать целочисленные значения или значения с плавающей запятой.
4. Операторы
Оператор — это символ, который оперирует одним или несколькими операндами для получения результата.
Они будут обсуждены более подробно в следующей статье.
5. Сепараторы
Разделители — это символы, которые указывают на разделение и расположение групп кода. Структура и функции кода обычно определяются разделителями. В Java используются следующие разделители:
- круглые скобки ( )
- Используется для определения приоритета в выражениях, для включения параметров в определения методов и включения типов приведения.
- фигурные скобки {}
- Используется для определения блока кода и для хранения значений массивов.
- скобки [ ]
- Используется для объявления типов массивов.
- точка с запятой ;
- Используется для разделения заявлений.
- запятая,
- Используется для разделения идентификаторов в объявлении переменной и в операторе
for
- период.
- Используется для отделения имен пакетов от классов и подклассов и для отделения переменной или метода от ссылочной переменной.
переменные
В Java есть разные типы переменных. Они заключаются в следующем:
1. Переменные экземпляра (нестатические поля)
Объекты хранят свои отдельные состояния в «нестатических полях», то есть полях, объявленных без ключевого слова static
Нестатические поля также известны как переменные экземпляра, поскольку их значения уникальны для каждого экземпляра класса. Например, currentSpeed
currentSpeed
2. Переменные класса (статические поля)
Переменная класса — это любое поле, объявленное с модификатором static; это говорит компилятору, что существует ровно одна копия этой переменной, независимо от того, сколько раз был создан экземпляр класса. Поле, определяющее число передач для конкретного вида велосипеда, может быть помечено как статическое, поскольку концептуально одинаковое количество передач будет применяться ко всем экземплярам. Код static int numGears = 6;
создаст такое статическое поле.
3. Локальные переменные
Метод сохраняет свое временное состояние в локальных переменных. Синтаксис объявления локальной переменной аналогичен объявлению поля (например, int count = 0;
Не существует специального ключевого слова, обозначающего переменную как локальную; это определение целиком исходит из места, в котором объявлена переменная, между открывающей и закрывающей скобками метода. Таким образом, локальные переменные видны только тем методам, в которых они объявлены; они не доступны из остальной части класса.
4. Параметры
Это переменные, которые передаются в методы класса.
Переменная декларация
Идентификаторы — это имена переменных. Они должны состоять только из букв, цифр, подчеркивания и знака доллара ($). Они не могут содержать пробелы. Идентификаторы могут начинаться только с буквы, знака подчеркивания или знака доллара. Переменная не может начинаться с цифры. Все имена переменных чувствительны к регистру.
Синтаксис для объявления переменных
переменная datatype1 переменная1, переменная datatype2 переменная2,… переменная типа данныхn;
Например:
int a, char ch;
Инициализация
Переменным могут быть присвоены значения следующим образом: Variablename = value;
Например;
ч = «а»; а = 0;
Массивы
Массив — это группа переменных, которые имеют один и тот же тип данных и имеют общее имя. Массивы любого типа могут быть созданы и могут иметь одно или несколько измерений.
Определенный элемент в массиве доступен по его индексу. Индекс массива колеблется от 0 до n − 1; поэтому в массиве размером 10 первый элемент сохраняется с индексом 0, а последний или 10-й элемент с индексом 9.
Следующая программа Printarr
класс Printarr { public static void main (String [] args) { // объявляем массив целых int [] A; // выделяет память на 5 целых чисел A = new int [5]; // инициализируем элементы A [0] = 15; // первый элемент A [1] = 20; // второй элемент A [2] = 25; // третий элемент A [3] = 30; // четвертый элемент A [4] = 50; // пятый элемент System.out.println ("Элемент с индексом 0:" + A [0]); System.out.println («Элемент с индексом 1:» + A [1]); System.out.println («Элемент в индексе 2:» + A [2]); System.out.println ("Элемент в индексе 3:" + A [3]); System.out.println («Элемент в индексе 4:» + A [4]); } }
Выход из этой программы:
Элемент с индексом 0: 15 Элемент с индексом 1: 20 Элемент с индексом 2: 25 Элемент с индексом 3: 30 Элемент с индексом 4: 50
Копирование массивов
Данные из одного массива можно скопировать в другой массив с помощью метода arraycopy
public static void arraycopy (Object src, int srcPos, Объект Dest, int destPos, Int длина)
Два аргумента Object указывают массив для копирования и массив для копирования. Три аргумента int определяют начальную позицию в исходном массиве, начальную позицию в целевом массиве и количество копируемых элементов массива.
Следующая программа, Copyarr
Он использует arraycopy
класс Copyarr { public static void main (String [] args) { char [] source = {'a', 'r', 'r', 'a', 'y'}; char [] target = new char [3]; System.arraycopy (источник, 0, цель, 0, 3); System.out.println (новая строка (цель)); } }
Выход из этой программы:
прибытие
Резюме
- Java — это чистый объектно-ориентированный язык, представленный Sun Microsystems, США, и обладает рядом характеристик, которые делают его пригодным для интернет-программирования.
- Независимая от платформы особенность Java достигается посредством байт-кода.
- Восемь примитивных типов данных: байтовый, короткий, int, long, float, double, boolean и char. Класс java.lang.String представляет символьные строки.
- Переменные экземпляра (нестатические поля) уникальны для каждого экземпляра класса.
- Переменные класса (статические поля) — это поля, объявленные с модификатором
static
существует ровно одна копия переменной класса, независимо от того, сколько раз был создан экземпляр класса. - Локальные переменные хранят временное состояние внутри метода.
В следующем уроке будут обсуждаться операторы, выражения выражений и блоки. Операторы могут использоваться при построении выражений, которые вычисляют значения; выражения являются основными компонентами утверждений; операторы могут быть сгруппированы в блоки кода.
Узнайте больше о Java с помощью нашего учебного пособия. Узнайте о различиях между блоками, процессорами и лямбдами в SitePoint.