Anda di halaman 1dari 25

1

muito difíceis de usar e compreender


! " #
! $
Cada tipo de CPU tem uma linguagem própria.
Assim, um programa escrito na linguagem de máquina de um determinado tipo de
CPU não poderá ser executada por um CPU de outro tipo
também difíceis de usar e compreender
# % & '$ (
! ! ) * + ,
São também específicas de cada tipo de CPU
! " #
- !./ % (! (
' ) $
/ ( (0 ( ( ,

!
3! $ ) ! ' " escrito numa linguagem
de alto nível ! ! + " em linguagem máquina

$ % ! ! ) 1 " !
.
& '
() ' . ! " "
$ ! /
, 2 ' ( ' * + "

2
-
,+ " ! "% ! -

, ! $ % 3 $ !
! ,
2 ! ! ( !
$ '4 " " "5 "(

, ! ,+ 3 $ /
!
/ ! !

6
*"
"%-55 0)0( ( 5
. / " -
0)0 ! $! ! 7 ( 2
8 9 +::+,

! +; ,< # %
102( ! ! +:: ,

3 = != 0)0 % ! 334

> # ( ! 33 ( < !
! / . ? ,

? )&
!! ) ( ) %1

3
-
! #

0)0 !
$
$66( / ) "
% &
,

0)0( $66(
%
"! 7 " ,,

6 % ! ! ! ,@
) ! ! 0)0( ! ' $ $
! % ? A 23 ( $ % ! 0)0
. .
B B
O compilador não vai
gerar código executável,
! !
mas sim bytecode
(um byte é usado para
representar cada
. instrução)
-/ ' " !

-/ "! "! "!


! (Plataforma A) (Plataforma A) (Plataforma A)
Tem que ser executado na mesma plataforma
onde foi gerado o código executável

4
8'$ 6
'$ 6C " ! '
! ! " ! )D
! $ / !
!

> ! ! /
! ,8
" ! (! "
! '$ !
)

3 C - C-

! " '
8 " , " C- !

'$ 68
! C-,
! % ? A 23
$ C-,
! "!
! C-
! ,

5
3 > ! E >E

! " '
9, : % "2" >E !

! 2- 2 - "
" % 2- 2 - ,
3 >E =
3 ! % 7
3 "! bytecode $ ! !
% 7
@ 1 1
'! !
; 0<
=
3 >E" ! ) % !FF1 , , !
! ! ,
>E G % !FF1 , , F1 F ? F /
,1!,

( !
-/
>($ !
- / D %
(um ficheiro de extensão *.java)
! H I
J
! ,, >($ % ! ! ,
29 , ,!
/ ' →
' " 0)0 " !
(um ficheiro de extensão *.class)

?>(,+ " 9
. ! "! $
( javac ) ! !

"!
bytecode ( java )

6
> >-

# >E
$ ) !
, ,@ / /, < ! !
$ $ % /

K ) ! 1 (
I ? 8 32( " )
" " ! ! ! " >-(
L > ! - ($
) >E,

> >-

@ >-
@ / ! !

B ! ! / !

@ 1 "! ) !

@ 1 $ ! /

-/ ! >-!
- ! hoje a IDE Java mais utilizada no mundo http://www.eclipse.org/

< http://www.netbeans.org/

>, de fácil utilização http://drjava.org/

7
' >,

-
Um programa em Java é um conjunto de uma ou mais classes

Requisitos que deve satisfazer um programa que pode ser executado:


executado:
$ % BDCFE GHIH
! "
!= %
! ! ' / !

    
   



   
    


     
    !#
!#"$
"$    %'% &(*)++, -/. []  .1/23
[] 0
(*4/1) 576  8 )96 :, - ) -'&;<   = 3> ;92@?
A
A

8
3
JLK/M M%
NFO7N/P M Q'R S TVUFT

>! ! ,2
' ( "
% HelloWorld.class

@ ) ! ( !
/ ,
4H
I 5 ' ) ,

9
&

-
3 ! L ! !
: @ -! . !
)
< " @ ! $
! ! ! # M

$ " = ! % (
! !
FN NF D %
FNN NF D
FF D " %

10
2 /
! L ' $
! @ ( " @
"

/ ( (
!
<
! "' !
9#
"

-/ WX
Y %Y W M
 '

 %  !

11
@ ! "' ! " ! ! !
$ ! !
' ( ( !

<
! "' ! -CD ( = ( O( PE

= A
/ % '/
B B
-/ Z[H\ ( ][H\ Z#^`_

!
% ) ! %

9 % % # " B
Ex ! % /
"$  % ! =
" + % @ -
! ! =
Ex a
 X Fb*c
F Y" Fd   e'%

2 "! % = !
! ! $
Ex
 "f+ " f a Y%
/ e'Y" (  Yfhgi"$Y

! " "D = ! ! O
Ex ajk`l m3jkjn oqpn/rsqtiub

12
2#
9#
1% !
,+- A( D( N ( Q( ,
! Q ! QQ
! (
L

! % "
-/ J( R ( ( ( M ( ,

" - /
!# $ ! ! ! !
-/ !
= S +T UU
V,+W+U:( +,G* -D+: U,;;
X Y( X Y( XZ Y
40 [
5( 40 5

6 '
@ ! ) .
$ ! ! $
! / !
A sintaxe da declaraçdeclaração de variá variáveis é a seguinte:
+  n !Y n ! '!v-5$/w 0 w x 0 +, y/x ?
+  n !Y n ! '!v-5$/w 0 w x 0 +, y/xFzx 0  3, -, {, 0  ?
+  n !Y n ! '!v-5$/w 0 w x 0 +, y/x w3|?-5$w/ 0 wx 0 , yx/ w/}L?

"% ! ! . $ (
! )
! ! ! D ( $
)
Exemplos:  % {- ) 0 ?
 % L5 0~ z|?
 % {- ) 03€ 1 5 0 ?

13
; ! >
&% G )
1 % !
&% G )
C! = 1 % !
 c Y ; D+ ; C!
"+ T
 X 
f

X 
 f +G DV TG;
+G @
" V TGT
 %  C! .
V D +WTW;VGW  Y %  P ‚FK T M „VK
" +WTW;VGWT + ƒ
 %e GW D: VVT *VG;UWTTU;*;
" : VVT *VG;UWTTU;*T

C! =
…    DV,W/+*V;
V
" V,W/+*V;
!' Y GW D+,T/+*V*;
" +,T/+*V*;

! ' ,
B "
- = " !
/ ! Q ::T: WU; M
B
! ! " !
+% , /
! +*
/ ! ,U-G ! (U/+*G
' H- = " ! ' "
! :- = " ! !
/ ! ' " Q V,+W+U: GUM
! Q V,+W+U: GU M
! = " !
"
! * ! !.
/ ! * QX Y

14
@ ( (
L " ! / !

A sintaxe da declaraç
declaração de constantes é a seguinte:
…  % †)+, :/w/w/ '‡-/5$w wx +, y/x z=x  L, -, {/,  ?
0 0 0 0 0

Exemplo:

ˆ ‚‰M Š ‹`‹VM TV„†„`Œ†ŽFŽ'‘<Ž’”“•†–†— ˜/•†— ™`š


ˆ ‚‰ M Š ‹›„  T  Š ‹œUVN/Š Q$`T Š žŸ   — ¡ ¢ •£˜ ¡ £F–¤ ¥ ¦'š
Š žFT MQN/‚‰M Kq§/¨©3¨Ž/ª*Œ/ŽV«¬*­L®œ #¯°± '²
ƒ
³ ´ „  K R N/‚  R ˆ P Š ž  M ž Ÿ ¨#— ˜†˜`µ ™·¶ ¸¡ “–`¹`™/•†–V˜ º†» §/¨3©¨Ž/ª*Œ/ŽF«¬*­3®œ ¦h²
" "¼
½
½

" $ !
) '
A sintaxe da instruç
instrução é a seguinte:
-5$w 0 wx 0 +, yx z  ~ 
:  '11/¾'3?

3 C! D
“toma o valor de”,
Exemplos: Ç ÆÈ ÂDÉÊ ÆFË Ç ÆÈ ÂDÉÊ 'ÆÍÌ (
! $ )
! { - ) 0 z ¿3? ' Î<ÃVÏLÆ
4Â<ÐÄ<Å Æ toma valor de I 5, 1/5 0 z#: 0  { 0 |ÁÀ#: 0  { 0 }L?
3 "!

15
-/
! "

@ +% " $ !

+% @ " J" !
! "
1% ! ! ! 1%
N + 8 !
F + >
\ + C
A
D 2

 %  0 z|À|?
Exemplos:
 % 4=z ~ Ð |¿3?

-/ ! -/! "
:8Ñ , {{ 0 1 1Ò ~ w/}'w }'w Ò ~ :hÓ 0 ) 
:8Ñ , {1) 0 ), {x , #5 0 , -'&(*)++, -/. 0  .'1'Ô Õ 23
 c  Y7Ñz=Ö } € {/z*|V} ×3?

X f  1$z|F¿'}'֔?
 % L,Fz7×'¿¿¿'¿3?
…   'Ø3z ×L6 Ù Ú Øh?
!' Y  zÛ6 |F} Ü/֔?
!' Y# 1'8' )3z#& Ø Ý›Ñ2”À7&h,Þ { 23ߔ&Ý1/2@?
(*4/1) 576  8 )96 :, - ) -'&+& Ø ÝœÑ2”À ;·À ;·À#&h,†Þ{ 2LÀà;”ß”;*À#&Ý·1/2+2@?
(*4/1) 576  8 )96 :, - ) -'&;D '18 ) 0  z7;·Àá '18 ) 2@?
½
½

â=ã / áÒ w/}w/}w Ò :hÓ )


~ ~ 0
} ÜäL6 |ÖáÀ=Ö¿¿=ߜ|F}ÙL6 Ü'ٔ|Ù
 '1'8 ) 0 '7z ה||'6 ÚÚ'ä/Ö·|VÖ ÙÖä/ÖÜÚ'×

16
!
O tipo de resultado de uma expressão aritmética
depende do tipo dos seus operandos.
2 ! ' !
' ! '$ ) @ ! "%
" " - ! !$ ! !
åæçhè → éêë*ìç → í î'ç → ï ëî ð → ñ@ï ë”òç → óLë*ô”åLï è
-/ sempre será possível converter um int em long ou float sem perda de
informação, mas o inverso não é verdadeiro
+% "- /! ! !
Exemplos:
 % L-õ - )3z”|×3?
 %e#-ö/ -. zá-õ - )h? // conversão automática
 % L-õ - )3z”|×3ö'? // isto não é permitido, gera um erro de compilação
 % L-õ - )3z#÷@ % +øi|×ö? // agora é permitido, a conversão é explícita

-/ ! !

:8Ñ , {{ 0 1 1Ò ~ w/}'w/Üw'ù› - x/ú*, :


:8Ñ , {1) 0 )+, {x , #5 0 , -'&(*)++, -. 0  .'1'Ô Õ 2
 % x 0  w, - )3zÛ|¿ €  '18 ) 0 /w, - )h?
! Y=x 0  w/8'Ñ  z7×L6 } €  1'8 ) 0 /w 8Ñ 3?
 1'8 ) 0 /w'8Ñ' 7z=x 0  w, - )Àx 0  w 8Ñ 3?
 1'8 ) 0 /w, - )3zá÷@ % +ø”& x 0  w, -)Àx 0  w'8Ñ' 2@?
(*4 1) 576  8 )96 :, - )+ -'&;D '1'8' ) 0 'w 8Ñ 7z ;·Àá '18 ) 0 /w 8Ñ' 2@?
(*4 1) 576  8 )96 :, - )+ -'&;D '1'8' ) 0 'w, -)3z ;·Àá '1'8' ) 0 w', - ) 2@?
A
A

â=ã / áÒ w/}wÜ/w'ù›-x/ú·, :


~
 '1'8 ) 0 'w'8Ñ'  z|×36 }
 '1'8 ) 0 'w, - )3zÛ|×

17
3! @'
As operações unárias envolvem apenas um operando

1% ! ! " ! "
( ! ( !
++x; x++;
--x; x--;
% J " % "
+] +] "
] " ]

~ #z Ú?
~ #z Ú?
-85ûz ý ++ ?
-85ûzáüü'ý ?

Primeiro þ é incrementado para 8 e Primeiro ÿ toma o valor de þ e


depois ÿ toma o valor de
ý36 depois þ é incrementado.
  

Retorna þ ÿ Retorna þ  ÿ 

3 3!

! ! ! $
! !

+= -= *= /= %=

Exemplo:

0 À zÖL?
⇔ 0
z 0 À=֔?
x 0 @| x 0  }L? x 9 |Áz=x 0 @|x 0  }L?
⇔ 0

18
3
3 ! ! ^ !
@ ! ! $ !
3 ! % / K(
7
! !
í ë*ìç # !
í ë*ìç!"!#$%&(' )#+* "-,$,$
! !
)
í .ë*ìç!"-#$+%/(' 0
! ! java.lang 4 6 5(
Math,
Math System,
System String,
String etc., ! !

3! - F2 # -F2
System # ! 1 , ( !
1 ! ! -F2
← System.in
 X  f 1', 5Ñ  
X f
b*b*c c
  YY"2


" 1 1   %% 1 1 f f Y'Y'  !á
2 ! ÷ ÷ 1, 5Ñ  ø99ø 8 8 ÞÞ lê
lê um
um carácter
carácter aa partir
partir do
do teclado
teclado

← System.out

b b*c c

  YY2
"2" 1 1     3 3 1 1 ff  % %   %7
% /÷ /÷ 4 4 b
/Y 7   696 9ø 9ø 8 8 Þ Þ
* b 5 5
/Y 7
 depois
depois de
de imprimir
imprimir muda
muda aa linha
linha
b*b*c c 



  
Y 
Y "
2 "
2 1 1     9 6 ff++  % % ” ÷//÷ 4/4/::Y7 7
Y 
% 
% 

'
! '
! 

/
/Y Y   696 ø99ø 8 8

19
3! -F2
!+ >-
0$G ^B 1
! . ! ! (
7 !
! )
% " / ! (
7 !
>- ( $
! # ! @,
%
% 0%%- L ! $ 1 !
! " ! #!
% $ - / ((
<1$ !
(
7

!+, + !!

Funções de leitura mais usadas


; <= >@a ÿ K _` ; <= >@?+A BC < _`
ÿ
L ! d ef L ! gThGicjck l
; <= >@a K D L $
ÿ ÿ K W GP XYU L ÿ K@Z[ \ZG] ; <= >@?+A BC < D >A BC <W PGXYU >A BC < Z[ \ZG]
' ? %% ' ? %%
; <= >@a K D b =GF =
H C = ÿGI H J$K ; L ÿGINM O PQ McS ] ; <= >@?+A BC < D E =GF =
H C = ÿGI H J$K ; L ÿGINM O PQRMTS ]
ÿ
! ! ! !
; <= >@?+A BC < D E =GF =
H C = ÿGI H J$K ; L ÿGINM O PQRMTSVU
; <= >
^ L ÿ < _` >A BC <W PGXYU >A BC <Z[ \ZG]
ÿ
L % / !
; <= >
^L < D bV=GF =
H = ÿGI H JK ; L ÿGI7M O PQ MTS ]
ÿ C
! !

20
!+, + !!
Funções de escrita mais usadas
m; L K ÿ _
` m; L K V_ L K
F = C /` p m; L ÿ K _ A ÿGI F = C `  q< K H
ÿ C ÿ ÿ C o
8 % ! ( ( ,
m; L K ÿ _ >A BC < þ ` m; L K n V_ L K o A  C A GI F = C `
ÿ C ÿ ÿ ÿ C ÿ
! % !
m; L K ÿ _ A ÿGIþ ` m; L K n V_ L K o A  C A GI F = C `
ÿ C C ÿ ÿ ÿ C ÿ
! % !

m; L K ÿ &_ L K ` m; L K n > V_ L K o A  L Km; < o  >A BC <F = C `


ÿ C ÿ þ ÿ ÿ ÿ C ÿ
! % !

m; L K ÿ _ E =GF =
H C = ÿGI H JK ; L ÿGI F = C <` m; L K n < V_ L K o A  L Km; < o  >A BC <F = C `
ÿ C ÿ ÿ ÿ C ÿ
! 2 % !
#

-/ ! @ + !!
[ Q MqPO S$Mr s tvu
w W x yTyz{q| }q|G~G|€W x yqyG Mr‚(MM < þ K < ÿ >ƒ„!…v†€mmY‡
y S x S [ w(ˆ P [ ‰ Q x[ Š D ‹ S O [ Šq\7Œ x O \yq]@‡
[ Š S [ r U [ } u
‰ PŽ W ‰ u
m; L ÿ K D 3‘ Š S O P ‰ Žq’ x ŽQ ˆ xW PO [ Š S [ O P@“  ] u
[ r•” ; <= >@a K D ] u
ÿ
––
MqP ‰ QYP y•‰q— [ Š [ O@ŽQ x\x Q x‰ ˆ xW PO  y M x O x ˆ xW [ ‰x O xRŠ S O x ‰xR  Ž Q x Q ŠTyGx \ Q
[ } ” ; <= >@a K D 3‘ Š S O P ‰ Žq’ x Ž Q ˆ xW PO [ Š S [ O P Š S O R˜R r ˜˜ “  U ˜ Ur ˜˜ ] u
ÿ
‰ ” ; <= >
?+A <D 3‘ Š S O P ‰ Žq’ x Ž Q™ xW PO@O xWTŠ S O R˜R}˜ “  U ˜ U }˜ ] u
BC
m; L K D  š@š@š  ] u
ÿ Cÿ
m; L K D  ™ xW PO  yY[ Š S [ O P y “ ›[ r ›  U  ] u
ÿ
m; L K n _ œ U [ }] u – – [ W [ xRœ G
y [ T
 
ž
 y x R
x 
x W [
Š Z x Q Š S P ‰ P ˆ xW PO [ Š S 
 [O P
ÿ ŽqS ’ MqP M O
m; L K D ] u
ÿ Cÿ
m; L ÿ K C ÿ D  ™ xW PO@O xWcy – — PO Q x S x qŸ P “ ›R‰] u
m; L K D  ™ xW PO@O xW w –@¡ MqP y [ TžGy U }R‰x yY¢ Ž x[ yRŠGx M x O S Y‰ w [ Q xW “  ] u
ÿ
m; L K n >
D ¡ U } U ‰] u
ÿ
£
£

21
-/ ! @ + !!
-F2
Se o valor está fora do intervalo dado, então
um mensagem de erro será mostrado

usando printfd(8, 2, d);

import p1;
class Ex_2_5_ClasseMath extends P1App {
public static void main(String args[]) {
8 % println("abs(-30): " + Math.abs(-30) );
println("acos(0.5): " + Math.acos(0.5) );
println("asin(0.5): " + Math.asin(0.5) );
println("atan(60): " + Math.atan(60) );
a   X " println("ceil(5.215): " + Math.ceil(5.215) );
! 1 , , println("ceil(-5.215): " + Math.ceil(-5.215) );
println("cos(60): " + Math.cos(60) );
- println("exp(10): " + Math.exp(10) );
1 ! println("floor(54.687): " + Math.floor(54.687) );
println("floor(-54.687): " + Math.floor(-54.687) );
$ ! println("log(2): " + Math.log(2) );
' println("max(5,7): " + Math.max(5,7) );
println("min(-3,2): " + Math.min(-3,2) );
toda a documentação sobre as funções println("pow(2,3): " + Math.pow(2,3) );
da classe Math está disponível em: println("random(): " + Math.random() );
http://java.sun.com/j2se/1.4.2/docs/ println("round(13.124): " + Math.round(13.124) );
api/java/lang/Math.html println("sin(30): " + Math.sin(30) );
println("sqrt(16): " + Math.sqrt(16) );
println("tan(45): " + Math.tan(45) );
println("toDregrees(2): " + Math.toDegrees(2) );
println("toRadians(90): " + Math.toRadians(90) );
} }

22
-/ ! _
% ! $ .

H ! % - _ /
! %
! ( LD ! $ . !
,

) ! " ! - G< /09 _ /


! %
" !

) ! #! - 2G _ /! $ .
" !

9 - 2G Q +,G*:V/G< /09

-/ ! _
0 " decomposição ao nível 1

L - _ % ! ^
J
" _ % G< /09 M
$ _ % ! ^ G< /09( 2G M
< % _ ^ 2G M
R

23
-/ ! _
: 0 "
! !+,NM
-/O OGO > / + !!J
2 `a J
FF '
% (^ M

FF
% Q > b ) _ % bM

FF !
^ Q +,G*:VN % M

FF #
! b
> _ ^ bA ^ M
R
R

C 3D
2
*"
"%-557 ( ( 5! 5 M 5" " 5
- .
% !FF1 , , F F ^F F1 F F /,%

-/ # . ! 27 =
*"
"%-55NNN( ( ""(! 5O* 5 L" 5 7 (
*"

. ! %
% !FF!1 ,U* , F1 F ,%

> ! 1 ,
*"
"%-557 ( ( 57 5 (
P(5! 5 % 57 5 5% M (
*"

24
. '

. " 8 ( 8 " 8 , B
! 6 ,B S- ' ( **V,

! 1
', 2 !% C, > ,8 ( +::;

25

Anda mungkin juga menyukai