Top.Mail.Ru

Перечень уроков по Java

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;
== Равно
!= не равно
Больше
Меньше
>= больше или равно
<= меньше или равно
% остаток от целочисленного деления
&& логическое И
|| логическое ИЛИ
! логическое отрицание НЕ

Примечание.

          1. Деление
            • Если делятся два целых числа, то имеем  результат целочисленного деления: 
              5/3 = 1. А вот остаток от целочисленного деления равен 5%3 = 2.
            • если один из аргументов вещественное число, то имеем обычное деление:
              5 / 2.0 = 2.5
          2. Инкрементирование и декрементирование

Имеется две формы инкремента:  префиксная форма, постфиксная форма.

Префиксная форма

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