close

Вход

Забыли?

вход по аккаунту

?

penza-rus-2

код для вставкиСкачать
1
Условный оператор
ד
''
לנק ינגבי ר
2
Условный оператор if -
else
if (
логическое выражение
)
{
оператор
1
;
оператор
2
;
…}
else
{
оператор
3
;
оператор
4
;
…
}
ד
''
לנק ינגבי ר
3
Логические выражения
Пример
JAVA
математи
ческое
описание
(a==
3
)
==
=
равно
(a!=0)
!=
≠
не равно
(a<b)
<
<
меньше
(a<=b)
<=
≤
меньше или равно
(a+b>c)
>
>
больше
(a+b>c*2)
>=
≥
больше или равно
ד
''
לנק ינגבי ר
4
int a=
10
;
if (a>
0
){
int b=
1
;
System.out.println(a+b);}
else{
int b=
10
;
System.out.println(a*b);
}
Можно объявлять переменную внутри блока
System.out.println(a+" " +b);
Error
: cannot find symbol
symbol : variable b
Условный оператор if -
else
можно совмещать проверку со вводом
int a; if ((a=in.nextInt())>
0
){
…}
11
Но нельзя использовать ее вне блока
Распространенные ошибки
Условный оператор if -
else
•
Использование “
=
”
вместо “
==
”
•
Путаница с “
;
”
if (x>
3
){x=x++; y=y
--
}
;
else {x=x
--
; y++; }
Error
: ';' expected
Error
: 'else' without 'if'
if(x=
5
)System.out.println(x);
Error
: incompatible types
found : int
required: boolean
•
Правильная форма
if (x>
3
){x=x++; y=y
--
;
}
else {x=x
--
; y++; }
ד
''
לנק ינגבי ר
6
int x=
10
0
;
if (!x==
10
)System.out.println("Yes"); else System.out.println("NO");
Error
: operator ! cannot be applied to int
int x=
10
0
;
if !(x==
10
)System.out.println("Yes"); else System.out.println("NO");
Error
: '(' expected
Error
: illegal start of expression
Условный оператор if -
else
Распространенные ошибки
•
Неправильное использование “!”
Ученик хочет проверить, что
x≠
10 if (!(x==
10
))System….
if (x!=
10
) System….
ד
''
לנק ינגבי ר
7
Задание №
1
Перед тобой оператор выбора:
if (x/
10
>=
5
) t=
20
;
else t=
0
;
Условный оператор if -
else
ד
''
לנק ינגבי ר
8
Условный оператор if -
else
Если значение переменной Х –
положительное число, выведи на экран, вывести на экран сообщение Плюс
, иначе –
выведи на экран сообщение Не плюс
ד
''
לנק ינגבי ר
9
Условный оператор if -
else
Если значение переменной Х больше значения переменной А, переменная А получает значение -
1
, иначе –
переменная А получает значение 0
ד
''
לנק ינגבי ר
10
Условный оператор if -
else
Если значение переменной А больше 100
, вывести на экран сообщение Верное число
, иначе –
вывести на экран сообщение Ошибка
ד
''
לנק ינגבי ר
11
Условный оператор if -
else
Если значения переменных А и Х –
не одинаковы, переменная А получает значение переменной Х, иначе –
переменная Х получает значение переменной А
ד
''
לנק ינגבי ר
12
Условный оператор if -
else
Если переменная Х содержит положительное значение, увеличить ее значение на 1
, иначе –
уменьшить ее значение на 1
ד
''
לנק ינגבי ר
13
Условный оператор if -
else
Задание №
3
Перед тобой два оператора выбора и таблица. Заполни таблицу в соответствии с исполнением операторов.
if (a*
2
!=b) x=a/
2
+b;
else x=b/
2
+a;
if (x<
15
) System.out.println
("Number="+x);
else System.out.println
(x+" is a number");
14
Логические операторы
Пример
JAVA
описание
(a<100)&(a>9)
&
и (
AND
)
(a==0) | (b==0)
|
или (
OR)
(a>b)^(b>10)
^
XOR
!(a<10)
!
не
(a<100)&&(a>9)
&&
«краткое» И
(
short circuit
AND)
(a==0) || (b==0)
||
«краткое» ИЛИ
(
short circuit
OR)
ד
''
לנק ינגבי ר
15
Таблица истинности
a
b
a и b
a &&
b
a или b
a ||
b
a XOR b
a^b
true
true
true
true
false
false
false
false
false
false
true
false
false
true
true
false
true
false
true
true
ד
''
לנק ינגבי ר
16
Различие между &
и &&
int a=
0
; int b=
100
;
if ((b<
10
)
&&
(b/a <
3
))
System.out.println("Yes");
else System.out.println("No");
int a=
0
; int b=
100
;
if ((b<
10
) &
(b/a <
3
))
System.out.println("Yes");
else System.out.println("No");
No
ArithmeticException: / by zero
ד
''
לנק ינגבי ר
17
Различие между |
и ||
int a=
0
; int b=
100
;
if ((b>
10
)
||
(b/a <
3
))
System.out.println("Yes");
else System.out.println("No");
int a=
0
; int b=
100
;
if ((b>
10
) |
(b/a <
3
))
System.out.println("Yes");
else System.out.println("No");
Yes
ArithmeticException: / by zero
ד
''
לנק ינגבי ר
18
Есть ли разница?
int a=
0
; double b=
100
;
if ((b<
10
)
&&
(b/a <
3
))
System.out.println("Yes");
else System.out.println("No");
int a=
0
; double
b=
100
;
if ((b<
10
) &
(b/a <
3
))
System.out.println("Yes");
else System.out.println("No");
No
No
Распространенные ошибки
Условный оператор if -
else
•
Путаница со скобками
if (x>y)&&(y<
10
) x++;
Error
: illegal start of expression
•
Правильная форма
if (
(x>y)&&(y<
10
)
)
x++;
ד
''
לנק ינגבי ר
21
Порядок действий
( ) [ ] .
!
* / %
> >= < <=
== !=
&&
||
= += *= -
= /= %=
int x=
10
;
x*=x+=x % in.nextInt();
System.out.println(x);
Ввод –
4
. Чему равен вывод?
120
?
x=y=z=
0
;
x+=((y+=(z+=
2
)+
1
)+
1
);
System.out.println(x);
System.out.println(y);
System.out.println(z);
4
3
2
ד
''
לנק ינגבי ר
22
Тернарный оператор if
-
then
-
else оператор «?»
booleanExpression
? expression
1 : expression
2
Проверяет значение логического выражения booleanExpression
. В случае true
оператор возвращает значение
expression
1
, в случае false
оператор возвращает значение
expression
2
.
Значение expression
1
и expression
2
должны быть одного типа
max =(num
1
>num
2
)?num
1
:num
2
; avg
=(count==
0
)? 0 : (sum/count); ד
''
לנק ינגבי ר
23
Наиболее распространенные проверки
if (x>
0
)…if (x<
0
)…
if (x>=
0
)… וא
if (x>
0 || x==
0
)...
X –
положительное, отрицательное, неотрицательное
if (x>9 && x<100)…
Целое число
X –
двузначное положительное
if (x>
-
10 && x<10)…
Целое число Х -
однозначное
if (x %2==0)…
Целое число Х -
четное
if (x %10==y)…
Y равно последней цифре в Х
if (x/10 %10==y)…
Y равно числу десятков в Х
if (x<=y && y<=z)…
X
,
Y
,
Z –
упорядочены по возрастанию
if (x % y ==0)…
X делится на без остатка
if (x==(
int
) x)…
У вещественного числа Х нет десятичной части
Не обязательно целое
!
ד
''
לנק ינגבי ר
24
Оператор
switch
Общая форма
switch
(expression){
case
A :
do something;
break
;
case
B :
do something;
break
;
default
:
do something;
break
;
}
•
expression -
выражение типа char
,
integer
,
short
или
byte
•
после каждого case
должно присутствовать постоянная целого или литерального типа (
int
/short/byte или
char
)
•
переменная не может находиться после case !
•
часть default
–
необязательная
•
break
приводит к прекращению действия switch
и перехода к следующему после switch
оператору
ד
''
לנק ינגבי ר
25
int a=
2
; int res;
int n=in.nextInt();
switch (n){
case 0
: res=
1
;
break;
case 1
: res=a;
break;
case 2
: res=a*a;
break;
case 3
: res=a*a*a;
break;
case 4
: res=a*a*a*a;
break;
case 5
: res=a*a*a*a*a;
break;
default: res=
0
;
}
System.out.println(res);
Оператор
switch
Распространенная ошибка
отсутствие break
int a=
2
; int res;
int n=in.nextInt();
switch (n){
case 0
: res=
1
;
case 1
: res=a;
case 2
: res=a*a;
case 3
: res=a*a*a;
case 4
: res=a*a*a*a;
case 5
: res=a*a*a*a*a;
default: res=
0
;
}
System.out.println(res);
4
4
16
0
Без
default не пройдет компиляцию!
Error
: variable res might not
have been initialized //
2
n
ד
''
לנק ינגבי ר
26
int a=
2
; int res=
1
;
int n=in.nextInt();
switch (
5
-
n){
case 0
: res=res*a;
case 1
: res=res*a;
case 2
: res=res*a;
case 3
: res=res*a;
case 4
: res=res*a;
case 5
: ;
break;
default: res=
0
;
}
System.out.println(res);
Оператор
switch
int a=
2
; int res=
1
;
int n=in.nextInt();
switch (n){
case 5
: res=res*a;
case 4
: res=res*a;
case 3
: res=res*a;
case 2
: res=res*a;
case 1
: res=res*a;
case 0
: ;
break;
default: res=
0
;
}
System.out.println(res);
2
n
ד
''
לנק ינגבי ר
27
Операторы цикла
for while do
-
while ד
''
לנק ינגבי ר
28
Структура оператора for
for
(<
exp
1
>; <
exp
2
>; <
exp
3
>;
) {…}
<
exp
1 > -
инициализация
<
exp
2 >
-
условие выполнения цикла
<
exp
3 >
-
изменение переменных цикла
ד
''
לנק ינגבי ר
29
Структура оператора for
for
(<
exp
1
>; <
exp
2
>; <
exp
3
>;) {…}
exp
1
exp
2
exp
3
{
…. }
да
нет
ד
''
לנק ינגבי ר
30
Структура оператора for
Примечание
Выражения отделяются ;
Выражения могут объединяться при помощи скобок { }
Условие цикла необязательно связано с управляющей переменной
for
(<
exp
1
>; <
exp
2
>; <
exp
3
>;) {…}
ד
''
לנק ינגבי ר
31
Цикл for –
пример 1
for ( int i = 0 ; i < 10 ; i ++ )
{ ….
}
for (char c = µa¶; c <= µz¶ ; c ++)
{ ….
}
ד
''
לנק ינגבי ר
32
Цикл for –
пример 2
переменная цикла не обязательно целого типа
for
(double a=
1.5
; a<
10
; a++)
System.out.println
(a);
1.5 2.5 3.5 4.5 5.5 6.5 7.5 8.5 9.5
ד
''
לנק ינגבי ר
33
Цикл for –
пример 3
for
(
int
a=
1
; a<
10
; a=a+
2
)
System.out.println
(a);
изменение переменной цикла может происходить с любым шагом
1 3 5 7 9
for
(int a=
1
0
; a>
1
; a=a
-
2
)
System.out.println(a);
10 8 6 4 2
for
(double a=
1.5
; a<
10
; a=a+
1.5
)
System.out.println(a);
1.5 3.0 4.5 6.0 7.5 9.0
ד
''
לנק ינגבי ר
34
Цикл for –
пример 4
int
sum = 0
;
for (
int
i = 1
; sum < 100
; i
++)
{ sum
=
sum
+
i
;
}
Условие выполнение цикла не обязательно связано с управляющей переменной
ד
''
לנק ינגבי ר
35
for ( int x=
0
, y=
1
, diff=y
-
x
; diff < 10
; x++, y+=
2
, diff=y
-
x
)
System.out.println
(y+“ -
" +x+“ =" +diff);
for
(<
exp
1
>; <
exp
2
>; <
exp
3
>;) {…}
1 -
0 =
1
3 -
1 =
2
5 -
2 =
3
7 -
3 =
4
9 -
4 =
5
11 -
5 =
6
13 -
6 =
7
15 -
7 =
8
17 -
8 =
9
Цикл for –
пример 5
выражения могут быть сложными
ד
''
לנק ינגבי ר
36
Цикл for –
пример 6
выражения могут быть пустыми
for
(<
exp
1
>; <
exp
2
>; <
exp
3
>;) {…}
int a=
1
;
for
(; a<
10
; a=a+
2
)
System.out.println(a);
for
(
int a=
1
; a<
10
; )
{System.out.println(a);
a+=
2
;}
for
(
int a=
1
; ; a=a+
2
)
System.out.println(a);
1 3 5 7 9
?
ד
''
לנק ינגבי ר
37
טלפה היהי המ
?
Цикл for –
пример 7
тело цикла может быть пустым
for ( int x=
1
; x<
10
; System.out.println(x+=
2
)
);
for
(<
exp
1
>; <
exp
2
>; <
exp
3
>;) {…}
1 3 5 7 9
ד
''
לנק ינגבי ר
38
Цикл for –
пример 8
int count=
0
;
for ( ; in.nextInt()<in.nextInt()
; count++
); System.out.println(count);
for
(<
exp
1
>; <
exp
2
>; <
exp
3
>;) {…}
?
ד
''
לנק ינגבי ר
39
Распространенные ошибки
Не понимание смысла инициализации
Ученик хочет напечатать все двузначные числа
for (int x
>=
10
; x<
100
; x++) System.out.println(x);
Error
: ';' expected
int x;
for (int x=
10
; x<
100
; x++) System.out.println(x);
Error
: x is already defined
ד
''
לנק ינגבי ר
40
Распространенные ошибки
Неправильное использование «;» и «,»
for (int x
=
10
,
x<
100
; x++) System.out.println(x);
Error
: „)' expected
for (int x
=
10
; x<
100
; x++); System.out.println(x);
?
for (int x
=
10
; x<
100
;x++
;
) System.out.println(x);
Error
: „)' expected
ד
''
לנק ינגבי ר
41
int x;
for(int x=
10
,
int sum=
0
; x<
100
; x++);{System.out.println(x);
sum=sum+x;}
System.out.println(sum);
Требуется напечатать все двузначные числа и их сумму
Error
: <identifier> expected
int x;
for(int x=
10
;
int sum=
0
; x<
100
; x++);{System.out.println(x; sum=sum+x;}
System.out.println(sum);
Error
: '.class' expected
Распространенные ошибки
ד
''
לנק ינגבי ר
42
Распространенные ошибки
int x;
for(int x=
10
, sum=
0
; x<
100
; x++);{System.out.println(x);
sum=sum+x;}
System.out.println(sum);
Error
: x is already defined
for(int x=
10
, sum=
0
; x<
100
; x++);{System.out.println(x);
sum=sum+x;}
System.out.println(sum);
Error
: cannot find symbol
symbol : variable x
ד
''
לנק ינגבי ר
43
Распространенные ошибки
for(int x=
10
, sum=
0
; x<
100
; x++) {System.out.println(x);
sum=sum+x;}
System.out.println(sum);
Error
: cannot find symbol
symbol : variable sum
int sum;
for(int x=
10
, sum=
0
; x<
100
; x++) {System.out.println(x);
sum=sum+x;}
System.out.println(sum);
Error
: sum is already defined
ד
''
לנק ינגבי ר
44
Распространенные ошибки
int sum=
0
;
for(int x=
10
; x<
100
; x++) {System.out.println(x);
sum=sum+x;}
System.out.println(sum);
int sum=
0
;
for(int x=
10
; x<
100
; x++)
{
System.out.println(x);
sum=sum+x;
}
System.out.println(sum);
ד
''
לנק ינגבי ר
45
int x=in.nextInt();
for(int a=
2
; a<=x/
2
; a++){
if( x%a== 0
) System.out.println(a);
}
12
2
3
4
6
Цикл for –
пример 9
System.out.println(sum=sum+a
);
Учимся от учеников
Ввести число и напечатать его делители
Ввести число и напечатать сумму его делителей
ד
''
לנק ינגבי ר
46
int sum=
0
;
int x=in.nextInt();
for(int a=
2
; a<=x/
2
; a++){
if( x%a== 0
)
}
System.out.println(sum);
12
2
5
9
15
15
Цикл for –
пример 10
System.out.println(sum=sum+a);
ד
''
לנק ינגבי ר
47
Область существования переменных
Область существования переменной –
блок
, в котором она определена
Управляющую переменную принято определять в заголовке цикла
. В этом случае она не определена после окончания цикла
Можно определять переменные в любом блоке –
в том числе, и в условном операторе
ד
''
לנק ינגבי ר
48
Структура цикла while
while
( Condition )
{
statement
1
;
statement
2
; }
Тело цикла выполняется вновь и вновь, пока значение Condition
остается
true
. Если уже при первой проверке значение Condition
равно false
, то цикл не выполняется вовсе
ד
''
לנק ינגבי ר
49
Структура цикла do
-
while
do
{
statement
1
;
statement
2
;
} while (
Condition
)
Цикл do
-
while
выполняется по крайней мере один раз. Тело цикла выполняется вновь и вновь, пока значение Condition
остается
true
. 
Автор
elakchurina
Документ
Категория
Презентации
Просмотров
33
Размер файла
1 800 Кб
Теги
rus, penza
1/--страниц
Пожаловаться на содержимое документа