Вводный курс. Язык программирования Java
- Григоренко Г. Н.
- Вводный курс. Язык программирования Java
- Просмотров: 8537
3. Синтаксис языка
В основе синтаксиса языка Java лежит синтаксис языка C. Но имеются следующие отличия:
идентификаторы:
- при записи идентификатора могут использоваться как латинские буквы, так и буквы национальных алфавитов.
- идентификатор может содержать знак доллара.
Вот основные правила синтаксиса
- Прописные и строчные буквы считаются разными символами, поэтому J и j относятся совершенно к разным переменным.
- При записи идентификатора используются латинские буквы и буквы национальных алфавитов, цифры, знак подчеркивания и знак доллара. Идентификатор не может начинаться с цифры и содержать пробельные символы. Длина идентификатора не ограничена, но ради удобства чтения программы необходимо стремиться использовать короткие и осмысленные имена.
- Существуют два вида комментариев.
- Многострочный комментарий. Комментарии в тексте заключаются в скобки вида
/* это текст комментария */
и могут вводиться в любом месте, в частности и внутри операторов. - Однострочный комментарий. Комментарий вида:
//это текст комментария – действует только до конца строки
- Многострочный комментарий. Комментарии в тексте заключаются в скобки вида
- Каждое предложение заканчивается « ; ».
- В строке можно размещать несколько операторов.
- Фигурные скобки { } означают составной оператор. Все операторы, помещенные между ними, воспринимаются как один оператор.
- Все используемые типы должны быть описаны до их первого использования. Объявления могут располагаться в любом месте программы.
- Символ заключается в одинарные кавычки, строка в двойные.
Ключевые слова
Ключевые слова имеют специальное значение для компилятора и эти слова можно использовать только в том смысле, в котором они определены. В качестве пользовательских идентификаторов зарезервированные слова использоваться не могут.
В языке Java зарезервированы следующие слова ключевые слова
(см. здесь):
abstract |
continue |
for |
new |
switch |
assert |
default |
goto |
package |
synchronized |
boolean |
do |
if |
private |
this |
break |
double |
implements |
protected |
throw |
byte |
else |
import |
public |
throws |
case |
enum |
instanceof |
return |
transient |
catch |
extends |
int |
short |
try |
char |
final |
interface |
static |
void |
class |
finally |
long |
strictfp |
volatile |
const |
float |
native |
super |
while |
Зарезервированные слова true, false и null не являются ключевыми, но их нельзя использовать в качестве идентификаторов в программе.
Ключевые слова можно разбить по группам:
Примитивные типы данных |
byte, short, int, long, char, float, double, boolean |
Циклы и ветвления |
if, else, switch, case, default, while, do, break, continue, for |
Исключения |
try, catch, finally, throw, throws |
Области видимости | private, protected, public |
Объявление, импорт |
import, package, class, interface, extends, implements, static, final, void, abstract, native |
Создание, возврат, вызов |
new, return, this, super |
Многопоточность |
synchronized, volatile |
Зарезервированные ключевые слова |
const, goto |
Специальное назначение |
instanceof, enum, assert, transient, strictfp |
Знаки операций
Знаки операций предназначены для обозначения арифметических, логических и других действий. Наиболее часто используемые знаки операций приведены в таблице
Операция | Краткое описание |
+ | Сложение |
- | Вычитание |
* | Умножение |
/ | Деление |
= | Присвоение |
++ |
Инкремент (увеличение на 1); x++; эквивалентно x=x+1; |
-- |
Декремент (уменьшение на 1); x--; эквивалентно x=x-1; |
+= | y+=x; эквивалентно y=y+x; |
-= | y-=x; эквивалентно y=y-x; |
*= | y*=x; эквивалентно y=y*x; |
/= | y/=x; эквивалентно y=y/x; |
%= | y%=x; эквивалентно y=y%x; |
== | Равно |
!= | не равно |
> | Больше |
< | Меньше |
>= | больше или равно |
<= | меньше или равно |
% | остаток от целочисленного деления |
&& | логическое И |
|| | логическое ИЛИ |
! | логическое отрицание НЕ |
Примечание.
-
Деление
- Если делятся два целых числа, то имеем результат целочисленного деления:
5/3 = 1. А вот остаток от целочисленного деления равен 5%3 = 2. - если один из аргументов вещественное число, то имеем обычное деление:
5 / 2.0 = 2.5
- Если делятся два целых числа, то имеем результат целочисленного деления:
-
Инкрементирование и декрементирование
Имеется две формы инкремента: префиксная форма, постфиксная форма.
Префиксная форма
Cначала произойдет увеличение (или уменьшение) переменной на единицу, затем с новым значением будет произведены дальнейшие вычисления
int a = 5;
int b = 5;
int y= 10 + --a;
int z= 10 + ++b;
System.out.println("a= "+a);
System.out.println("b= "+b);
System.out.println("y= "+y);
System.out.println("z= "+z);
Будет выведено:
a= 4
b= 6
y= 14
z= 16
В данном примере переменная a сначала уменьшается на 1, b увеличится на единицу, а потом произойдет вычисления выражения для y и z.
Постфиксная форма
Для постфиксной формы сначала выполняется расчет выражения со старым значением переменной и значение переменной увеличивается (или уменьшится) на единицу после вычисления выражения.
int a = 5;
int b = 5;
int y= 10 + a--;
int z= 10 + b++;
System.out.println("a= "+a);
System.out.println("b= "+b);
System.out.println("y= "+y);
System.out.println("z= "+z);
Будет выведено:
a= 4
b= 6
y= 15
z= 15
Вычисление выражения будет происходить со старым значением переменных. После вычисления выражений для y и z переменная a уменьшается на 1, переменная b увеличится на единицу.
Логические операции
Если первое значение в операции «&&» ложно, то второе значение не проверяется, в операции «или» наоборот, если первое значение истинно, то второе не проверяется.
Таблица истинности операций «&&», «||»
A | B | A && B | A || B |
False | False | False | False |
False | True | False | True |
True | False | False | True |
True | True | True | True |
Вот пример.
boolean a = true;
boolean b = true;
boolean c = false;
boolean d = false;
System.out.println("true && true=" + (a&&b)); // true true результат true
System.out.println("true && false=" + (a&&c)); // true false результат false
System.out.println("false && true=" + (c&&a)); // false ture результат false
System.out.println("false && frue=" + (c&&d)); // false false результат false
System.out.println("true || true=" + (a||b)); // true true результат true
System.out.println("true || false=" + (a||c)); // true false результат true
System.out.println("false || true=" + (c||a)); // false ture результат true
System.out.println("false || false=" + (c||d)); // false false результат false
Будет выведено:
true && true=true
true && false=false
false && true=false
false && false=false
true || true=true
true || false=true
false || true=true
false || false=false