Java - class 1

Propaganda
Your first Java program
Introdução ao Java
Slides_Java_1
public class FirstProgram
{
public static void main (String[] args)
{
System.out.print("Hello, 2 + 3 = ");
System.out.println(2 + 3);
System.out.println("Good Bye");
}
}
Sistemas Informáticos
Compiling & Running
FirstProgram
FirstProgram.java FirstProgram.class
Java
source
code
Compile
javac
Java
bytecode
Run
java
FirstProgram
Name of program.
Must be the same
as name of file.
Output:
Hello, 2 + 3 = 5
Good Bye
FirstProgram
public class FirstProgram
{
public static void main (String[] args)
{
System.out.print("Hello, 2 + 3 = ");
System.out.println(2 + 3);
System.out.println("Good Bye");
}
}
Where you type your
statements (white box)
Método main()
• O método main
– Quando se executa um programa em Java, as
instruções incluídas no método main começam a ser
executadas automaticamente. O fluxo do programa
decorre a partir daí
– Todas as aplicações têm que ter um método main
– Tem que ser declarado da seguinte forma:
public static void main (String args[ ]) {
….
}
– O método main é procurado na classe que tem o
mesmo nome que o ficheiro que se compila e executa
Print to the screen
System.out.print("Hello, 2 + 3 = ");
System.out.println(2 + 3);
System.out.println("Good Bye");
Display
a string
Display
Value of sum
• Each line terminates with a semi-colon.
• System.out refers to the screen of the
computer and print is an instruction to the
screen to print something out.
1
print vs. println
Code
Output
System.out.println("hello");
System.out.println("there");
hello
there
System.out.print("one ");
one two three
System.out.print("two ");
four five
System.out.println("three ");
System.out.print("four ");
System.out.println("five ");
Exercício A.1
• Write a Java program which will print the
following:
Stars:
*****
The End
• What will be printed on the screen if you run
the following Java statements?
System.out.print (4 + 5);
System.out.print ( “ = “ );
System.out.println( 9 );
Variáveis
Variáveis
• Variáveis
– Para referir uma variável usa-se o seu identificador. É usado o
valor corrente da variável. Exemplo:
• Instrução de atribuição
– Uma instrução de atribuição coloca numa variável o resultado de
uma expressão:
nome_da_variável = expressão;
// Exemplo de utilização de variáveis
public class Var_exemplo {
public static void main (String args[]) {
int alunos = 240;
System.out.println (“Informática tem“+alunos+“alunos”);
alunos = 210;
System.out.println (“Informática tem“+alunos+“alunos”);
}
}
– Uma instrução deste tipo leva o computador a calcular o valor da
expressão e a armazená-lo na variável indicada.
– A variável é substituída pelo novo valor.
alunos = 210;
alunos
240
Tipos de Dados
• Tipos de dados básicos
– Um tipo de dados é definido por uma gama de valores e pelas
operações que se podem efectuar sobre esses valores.
– Cada dado tem um tipo.
– A linguagem Java tem oito tipos de dados pré-definidos,
geralmente chamados tipos de dados básicos
Inteiros:
Reais:
Caracteres:
Booleanos:
byte, int, short, long
float, double
char
boolean
alunos
210
Tipos de Dados
Primitive type
Size
Minimum
Maximum
Wrapper type
boolean
1-bit
–
–
Boolean
char
16-bit
Unicode 0
Unicode 216- 1
Character
byte
8-bit
-128
+127
Byte
short
16-bit
-215
+215 – 1
Short
int
32-bit
-231
+231 – 1
Integer
long
64-bit
-263
+263 – 1
Long
float
32-bit
IEEE754
IEEE754
Float
double
64-bit
IEEE754
IEEE754
Double
void
–
–
–
Void
2
Tipos de Dados em Java
• Inteiros
Tipos de Dados em Java
• Reais (números em vírgula flutuante)
– Valores sem parte fraccionária
– Quatro tipos:
– Valores com parte fraccionária (pode ser zero)
– Dois tipos:
Tipo
Memória
Menor valor
Maior valor
Tipo
Memória
Menor valor
byte
8 bits
-128
127
float
32 bits
-3.4 x 1038
3.4 x 1038
short
16 bits
-32768
32767
double
64 bits
-1.7 x 10308
1.7 x 10308
int
32 bits
-2 147 483 648
2 147 483 647
long
64 bits
-9 223 372 036 854 775
808
9 223 372 036 854
775 807
sizeof(int) @ i8086
sizeof(int) @ i80486
sizeof(int) @ Dec Alpha, Pentium
In Java an int is always 32 bits
Maior valor
– Um float tem apenas 7 dígitos significativos (por exemplo não
pode representar 1234.5678)
– Um double tem 15 dígitos significativos
= 16 bits
= 32 bits
= 64 bits
(reason: cross-platform portability)
Tipos de Dados em Java
Tipos de Dados em Java
• Boolean
• Caracteres
– Uma variável do tipo boolean só pode ter um
de dois valores: true ou false
– O Java utiliza um conjunto de caracteres chamado Unicode que é
uma extensão do código ASCII.
– Inclui todos os caracteres existentes num teclado normal, bem
como caracteres de controlo (ex. tab, line feed, return)
Tipo
Memória
Valor
char
16 bits
Qualquer
pertencente ao
Unicode
Constantes em Java
• Constantes
– Uma constante armazena um valor que não pode ser alterado.
Exemplo:
final int MAX_STUDENTS = 300;
• Declara-se a constante MAX_STUDENTS com o valor 300
• A palavra reservada final indica que se trata de uma
constante
– Usar constantes em vez dos respectivos valores para tornar os
programas mais legíveis e de fácil manutenção.
Tipo
Memória
Valor
boolean
1 bit
true ou false
Expressões em Java
•
Expressões
- Aritméticas:
• Operadores: ( ) * / % + Exemplo: 5 * (2 + 3) + 7 = 32
• O operador divisão / dá resultados inteiros se utilizado
com operandos inteiros (exemplo: 7 / 4 dá 1) e resultados
reais se pelo menos um dos operandos é real (exemplo:
6.5 / 2 dá 3.25)
• O operador % dá o resto de uma divisão
Exemplo: 13 % 4
dá 1
8.6 % 2.0
dá 0.6
3
Qual o resultado?
public class Divisoes
{
public static void main (String[] args){
System.out.println("3 / 4 = "+ (3 / 4));
System.out.println("3 % 4 = "+ (3 % 4));
System.out.println("3.0 / 4 = "+ (3.0 / 4));
System.out.println("3.0 % 4 = "+ (3.0 % 4));
}
}
Expressões em Java
•
Expressões
– Lógicas:
• Operadores relacionais: > < == != <= >=
Recebem operandos de outros tipos e produzem um
resultado lógico.
Exemplo: (10 > 5) dá true
• Operadores lógicos:
&& (conjunção), || (disjunção), ! (negação)
Recebem operandos lógicos e produzem resultados
lógicos.
Exemplo: (10 > 5 && 3 != 3) dá false
Ex: ler uma string do teclado
import essential.*;
public class NameEcho
{
public static void main (String[] args)
{
System.out.print("Enter your name: ");
String name = Keyboard.readLine();
System.out.println("Hello " + name + "!");
}
}
Expressões em Java
•
Expressões
– Aritméticas:
• Exemplo - Dado um número de segundos convertê-lo em
minutos e segundos:
int totalSegundos = 325;
int minutos, segundos;
minutos = totalSegundos / 60;
segundos = totalSegundos % 60;
Input de dados do teclado
• Input
- To simplify reading in from the keyboard,
you can use the Keyboard class.
–
–
–
–
–
Keyboard.readInt ()
Keyboard.readLine ()
Keyboard.readFloat()
Keyboard.readDouble()
Keyboard.readLong()
Input from the keyboard
String name = Keyboard.readLine();
System.out.println (“Hello ” + name + “!”);
• Reads in a line of text from the keyboard.
• When you push enter, it will store the string
in a variable called name.
• The ‘+’ sign concatenates the two strings.
4
Essential Package
• This package has several classes that can be
used in your programs.
• To use the package:
-- Configure Classpath in GEL IDE
• Include the package in your code:
import essential.*;
• And then use it... Example:
Keyboard.readLine();
Read numbers from the
keyboard
• To read a decimal number, we need to use
Keyboard.readlnt( ), for example:
System.out.print(“Introduza um número: ");
int num = Keyboard.readInt( );
System.out.println(“O quadrado é= " + (num*num));
• Note : The ‘*’ operator performs multiplication.
Exercício A.2
Escreva um programa que peça ao utilizador
o seu apelido e o leia do teclado; depois deve
pedir e ler o nome próprio.
Na segunda fase deve imprimir no écrân o
nome próprio, seguido de um espaço e
depois do apelido.
Exercício A.3
• Escreva um programa que calcule o volume
de um paralelipípedo.
• Para tal deve primeiro pedir as dimensões ao
utilizador (altura; largura; profundidade).
• Depois deve imprimir o valor do volume no
écrân.
Outro Exemplo: cálculo ganhos
com taxa de juro
public class CalculoGanhos
{
public static void main (String[] args)
{
System.out.print(“Qual o saldo: ");
double saldo = Keyboard.readDouble();
System.out.print(“Qual a taxa: ");
double taxa = Keyboard.readDouble();
saldo = saldo + (taxa * saldo);
System.out.println("Novo saldo = " + saldo);
}
}
Comments
• A comment is a remark in a program to clarify
something to a human reader.
• Comments are ignored by the compiler.
• Two ways of indicating comments:
– Double slash: everything to the end of the line is
ignored.
int num;
// the number of students
– /* and */: everything between /* and */ is ignored.
/* this is a comment
still a comment */
5
Exercício A.4
Escreva um programa que pergunte ao
utilizador o raio de uma circunferência.
O programa deve depois calcular e imprimir a
área e o perímetro dessa circunferência.
Resultado
Um pouco de gráficos
import essential.*;
public class TestGraph
{
public static void main (String[] args)
{
Graph g = new Graph(); // create a Graph object called g
g.addPoint(-2,-4);
g.addPoint(0,0);
g.addPoint(1,2);
}
}
Essential Graph
• When you create a Graph object using the
new keyword, a window is created.
• Default axes range: -5 to 5.
• To change the ranges use:
g.setAxes(0, 10, 0, 6);
Exercício A.5
• Escreva um programa que use a classe
Graph da package Essential e que
represente os seguintes pontos:
(0 , 0 )
(0.5, 3 )
(1 , 4 )
(2 , 4.5)
(5 , 4.8)
Exercício A.6
• Escreva um programa que use a classe
Graph da package Essential e que
represente a seguinte recta:
y = 2x-3;
6
Download