Bai tap lam quen javaBai tap lam quen javaBai tap lam quen javaBai tap lam quen javaBai tap lam quen javaBai tap lam quen javaBai tap lam quen javaBai tap lam quen javaBai tap lam quen javaBai tap lam quen javaBai tap lam quen javaBai tap lam quen javaBai tap lam quen javaBai tap lam quen javaBai tap lam quen javaBai tap lam quen javaBai tap lam quen javaBai tap lam quen javaBai tap lam quen javaBai tap lam quen javaBai tap lam quen javaBai tap lam quen javaBai tap lam quen javaBai tap lam quen javaBai tap lam quen javaBai tap lam quen javaBai tap lam quen javaBai tap lam quen javaBai tap lam quen javaBai tap lam quen javaBai tap lam quen javaBai tap lam quen javaBai tap lam quen javaBai tap lam quen javaBai tap lam quen java
Npm : 2012 4350 1228
Nama : Syahroni
Kelas : R7H
Mata Kuliah : Komputer Grafik
Dosen : Nahot Frastian, M.Kom
Program Studi : Teknik Informatika
Universitas : Universitas Indraprasta PGRI
Npm : 2012 4350 1163
Nama : Hamim Suyuti
Kelas : R7H
Mata Kuliah : Komputer Grafik
Dosen : Nahot Frastian, M.Kom
Program Studi : Teknik Informatika
Universitas : Universitas Indraprasta PGRI
Comprendre la programmation fonctionnelle, Blend Web Mix le 02/11/2016Lo?c Knuchel
?
Vous commencez ¨¤ en entendre parler de plus en plus mais vous avez encore du mal ¨¤ voir ce que c¡¯est et ¨¤ comprendre de que ?a change concr¨¨tement, ce talk est fait pour vous !!!
La programmation fonctionnelle est une mani¨¨re de programmer bas¨¦e sur les fonctions qui permet de faire du code vraiment modulaire, am¨¦liorer la qualit¨¦ et limiter les bugs. Vous ne me croyez pas ? Venez voir cette session !
JavaScript ist eine sehr dynamische Sprache und verh?lt sich zudem je nach Browser unterschiedlich. Daher sind automatisierte Tests besonders wertvoll. Dieser Vortrag zeigt, wie Cross-Browser-Tests f¨¹r JavaScript entwickelt werden k?nnen.
Vortrag von der MobileTech Conference 2011
Ingenier¨ªa en Sistemas Computacionales
Simulaci¨®n
Algoritmo congruencial cuadr¨¢tico
Programa que genera una serie de n¨²meros pseudoaleatorios bas¨¢ndose en el algoritmo congrencial cuadratico, al final los muestra en pantalla.
This document provides an introduction to unit testing and design patterns in Java. It discusses the value of unit testing in improving code quality and safety. It defines what a design pattern is, including different types of patterns like creational, structural, and behavioral patterns. It also gives examples of some basic patterns like Singleton and Iterator. The document is intended to provide an overview of these important concepts in software design.
Npm : 2012 4350 1228
Nama : Syahroni
Kelas : R7H
Mata Kuliah : Komputer Grafik
Dosen : Nahot Frastian, M.Kom
Program Studi : Teknik Informatika
Universitas : Universitas Indraprasta PGRI
Npm : 2012 4350 1163
Nama : Hamim Suyuti
Kelas : R7H
Mata Kuliah : Komputer Grafik
Dosen : Nahot Frastian, M.Kom
Program Studi : Teknik Informatika
Universitas : Universitas Indraprasta PGRI
Comprendre la programmation fonctionnelle, Blend Web Mix le 02/11/2016Lo?c Knuchel
?
Vous commencez ¨¤ en entendre parler de plus en plus mais vous avez encore du mal ¨¤ voir ce que c¡¯est et ¨¤ comprendre de que ?a change concr¨¨tement, ce talk est fait pour vous !!!
La programmation fonctionnelle est une mani¨¨re de programmer bas¨¦e sur les fonctions qui permet de faire du code vraiment modulaire, am¨¦liorer la qualit¨¦ et limiter les bugs. Vous ne me croyez pas ? Venez voir cette session !
JavaScript ist eine sehr dynamische Sprache und verh?lt sich zudem je nach Browser unterschiedlich. Daher sind automatisierte Tests besonders wertvoll. Dieser Vortrag zeigt, wie Cross-Browser-Tests f¨¹r JavaScript entwickelt werden k?nnen.
Vortrag von der MobileTech Conference 2011
Ingenier¨ªa en Sistemas Computacionales
Simulaci¨®n
Algoritmo congruencial cuadr¨¢tico
Programa que genera una serie de n¨²meros pseudoaleatorios bas¨¢ndose en el algoritmo congrencial cuadratico, al final los muestra en pantalla.
This document provides an introduction to unit testing and design patterns in Java. It discusses the value of unit testing in improving code quality and safety. It defines what a design pattern is, including different types of patterns like creational, structural, and behavioral patterns. It also gives examples of some basic patterns like Singleton and Iterator. The document is intended to provide an overview of these important concepts in software design.
This document discusses building Java applications. It explains that all Java programs are built from classes, which contain fields to store data and methods to operate on that data. Every application needs a main class with a main method, which acts as the entry point for the program. The main method executes first when the program starts. The document provides an example of a simple Java application class with a main method that prints a string to the console. It describes how instances of a class are used to acquire and work with data, while the class describes the data and behavior.
Il corso consente ai partecipanti di apprendere la sintassi del linguaggio di programmazione Java, la programmazione orientata agli oggetti con Java, la creazione di interfacce grafiche utente (GUI), la gestione delle eccezioni, le funzionalit¨¤ di I/O per i file, i thread e le funzioni di rete. I programmatori che gi¨¤ hanno familiarit¨¤ con i concetti della programmazione object-oriented potranno imparare a sviluppare applicazioni Java. I contenuti fanno riferimento alla piattaforma Java Platform, Standard Edition 6 (Java SE 6) e al prodotto Java SE Development Kit 6 (JDK 6). Le esercitazioni pratiche prevedono l'uso dell'IDE (Integrated Development Environment) NetBeans 5.5.
Dopo una piccola introduzione al linguaggio Groovy, dove verranno illustrate brevemente alcune peculiarit¨¤, si passer¨¤ ad esaminare le caratteristiche che lo rendono adatto per la generazione di DSL.
Verr¨¤ quindi presentato come caso pratico la costruzione di una DSL e sar¨¤ mostrato come ¨¨ possibile embeddarla in un progetto Java.
The course aims to provide you with an understanding of the fundamental concepts involved in object-oriented programming (object, class, protocol, hierarchy, inheritance, encapsulation, polymorphism and collaboration).
The programming language you will use is Java. However, the purpose of the course is not to teach you the minutiae of the Java language, but rather to teach you fundamental object-oriented programming concepts and skills that will be transferable to any object? oriented language
Programmazione a oggetti tramite la macchina del caff¨¦ (1/3)Marcello Missiroli
?
Una introduzione semplice e (spero) intuitiva al mondo della programmazione a oggetti usando come riferimento una macchina del caff¨¦ (tipo Nespresso) (1/3)
Versione 2: tolto qualche refuso, aggiunto un paio di slide chairificatori.
Il Corso Programmazione Java Base di K-Tech (http://www.k-tech.it) ha come obiettivo quello di far comprendere le tecniche di programmazione orientata agli oggetti, cio¨¨ di modellare e ¡°pensare¡± a oggetti, di trasmettere i concetti base del linguaggio e le basi per sviluppare piccole applicazioni in modo autonomo.
Il corso Programmazione Java Base ¨¨ composto da dodici moduli:
1. Introduzione
2. Ciclo di sviluppo
3. Sintassi Elementare
4. Principi OOP
5. Classi e Oggetti
6. Concetti Object Oriented
7. Collections
8. Eccezioni
9. Input Output
10. Serialization
11. Unit Testing
12. Threads
Leggi il programma completo: http://www.k-tech.it/formazione/catalogo/programmazione_java_base
8. Struttura del linguaggio
?Commenti /*, //, /** (javadoc: descrizione dichiarazione)
?; (fine istruzione)
? {..} (blocco di istruzioni)
? abstract, case, new, this, while, ¡. (Keywords)
? boolean, char[2], byte[1], short[2], int[4], long[8],
float[4] ,double[8]
(Tipi primitivi)
?Dichiarazione variabili
?Assegnazioni
?Istanze
?Allocazione della memoria
?Scope delle variabili
?Convenzioni di codifica
9. ?=C/C++
?Logici
!,|,&,^
?Concatenazione di stringhe: +
?Shift Operators:
128 << 1 : 256
16 << 2 : 64
128 >> 1 : 64
Casting di Espressioni:
Operatori
long longvalue=99L;
int intvalue=(int)longvalue;
long longvalue=99; //int
int intvalue=99L;
double z=12.414F;
float z1=12.414;
10. Statements
if (boolean expression)
{
statement or block;
}
[
else
{statement or block;
}
]
switch (expression)
{
case const1:
statements;
break;
¡
default:
statements;
break; }
for (init_expr; bool_expr; alter_expr)
{
statement or block;
}
11. Statements
while (boolean expression)
{
statement or block;
}
do
{
statement or block;
} while (boolean test)
? break [label];
? continue [label];
? label: statement;
12. Arrays
char s[];
Point p[];
s=new char[20];
p=new Point[100];
p[0]=new Point();
...
String names[]= {
¡°pippo¡±,
¡°pluto¡±,
¡°topolino¡±
};
Myclass array[]=
{
new Myclass();
new Myclass();
new Myclass();
}
13. Arrays
array.length;
int twoDim[][]=new int [4][];
twoDim[0]=new int[7];
...
int twoDim[][]=new int[4][5];
...
14. Arrays
int elements[]=new int[6];
elements=new int[10];
...
int myArray[]={1,2,3,4,5,6};
int hold[]={10,9,8,7,6,5,4,3,2,1};
System.arraycopy(myArray,0,hold,0,myArray.length);
...
15. Object Orientation
?classi e oggetti
?ereditariet¨¤
?metodi e costruttori
?passaggio di parametri
?this e super
?polimorfismo
?overloading e overriding
?instanceof operator
if (e instanceof Manager)
{...
}
?package e import
? static
? final
? abstract class
16. Object Orientation - Interfacce
?E¡¯ come concetto molto simile a quello di classe astratta
?Tutti i metodi di un interfaccia sono astratti
?Le intefacce permettono di ottenere l¡¯ereditariet¨¤ multipla
?Un interfaccia pu¨° estendere un¡¯altra interfaccia
public interface Base
{
public static final int PROP=1;
public int mioMetodo();
}
public MioApplet extends Applet
implements Base, Runnable
{...
}
17. Object Orientation
if (x==y)
{
}
Condizione vera se x e y referenziano lo stesso oggetto
If (x.equals(y))
{
}
Condizione vera se x e y sono oggetti identici. E¡¯ un metodo
della classe Object (come toString()) che spesso viene
riscritto.
18. Object Orientation - Inner Class
public class MyFrame extends Frame
{
...
class ButtonListener implements ActionListener
{
}
...
}
25. AWT - Layouts
Il layout dei componenti all¡¯interno di un container ¨¨ governato
da un Layout Manager
? FlowLayout (default per Panel e Applet)
? BorderLayout (default per Window, Dialog e Frame)
? GridLayout
? CardLayout
? GridBagLayout
29. Eventi
Evento: un oggetto che descrive cosa si ¨¨ verificato
Gli eventi possono essere uni-cast e multi-cast
Button
Action event
actionPerformed (ActionEvent e)
{
}
30. Eventi
Listener
import java.awt.event.*;
public class ButtonHandler
implements ActionListener
{
public void actionPerformed
(ActionEvent e)
{
}
}
Source
...
Button b=new Button(¡°Me¡±);
b.addActionListener
(new ButtonHandler());
...
37. AWT Component
Checkbox
public void itemStateChanged(ItemEvent e)
{
String stato="deselected";
if (e.getStateChange()==ItemEvent.SELECTED)
stato="selected";
System.out.println(stato);
}
...
}
38. AWT Component
Checkbox Group
CheckboxGroup cbg=new CheckboxGroup();
Checkbox one=new Checkbox("One",cbg,true);
Checkbox two=new Checkbox("Two",cbg,false);
Choice
Choice ch=new Choice();
ch.addItem("Uno");
ch.addItem("Due");
fr.add(ch);
Si utilizza ItemListener per intercettare l¡¯item selezionato
39. AWT Component
Canvas
import java.awt.*;
import java.awt.event.*;
public class MyCanvas extends Canvas
{
public void paint(Graphics g)
{
g.setColor(Color.red);
g.fillRect(0,0,getSize().width,getSize().height);
}
}
Label
Label lb=new Label("Hello!");
40. AWT Component
TextField e TextArea
TextField tf=new TextField("Hello!",30);
fr.add(tf);
Il tasto <ENTER> pu¨° essere intercettato attraverso l¡¯evento Action.
TextArea ta=new TextArea("Hello!",4,30);
fr.add(ta);
Attraverso TextListener ¨¨ possibile intercettare le modifiche del
testo visualizzato in entrambi i componenti.
41. AWT Component
List
List lst=new List(4,false);
lst.add("Item1");
lst.add("Item2");
lst.add("Item3");
Il doppio click sulla lista pu¨° essere intercettato attravrso l¡¯evento
Action.
Dialog
Dialog d=new Dialog(fr,"Dialog",true);
d.add(new Button("Button"));
d.pack();
¡
d.setVisible(true);
43. AWT Component
MenuBar
MenuBar mb=new MenuBar();
fr.setMenuBar(mb);
Menu
Menu m=new Menu("Men¨´");
mb.add(m);
¡
mb.setHelpMenu(mh);
E¡¯ possibile intercettare
l¡¯evento Action sia sull¡¯ oggetto
Menu che su MenuItem.
44. MenuItem
MenuItem it1=new MenuItem("Item1");
MenuItem it2=new MenuItem("Item2");
MenuItem it3=new MenuItem("Item3");
m.add(it1);
m.add(it2);
m.add(it3); CheckboxMenuItem
CheckboxMenuItem cbm=new
CheckboxMenuItem("Check Item");
m.add(cbm);
E¡¯ possibile monitorare lo stato
di un CheckboxMenuItem
attraverso un ItemListener.
AWT Component
46. Applet
import java.awt.*;
import java.awt.event.*;
import java.applet.*;
public class MyApplet extends Applet
{
Image img;
AudioClip sound;
public void init()
{
img=getImage(getDocumentBase(),"city.gif");
sound=getAudioClip(getDocumentBase(),"beth1.mid");
}
...
47. public void paint (Graphics g)
{
g.drawImage(img,2,2,this);
}
public void start()
{
//sound.play();
sound.loop();
}
public void stop()
{
sound.stop();
}
}
?Attraverso l¡¯interfaccia
MouseListener ¨¨ possibile
intercettare gli eventi generati
dal mouse;
? Con getParameter ¨¨ possibile
leggere i parametri passati
attraverso il tag param
Applet
48. Threads
Runnable Interface
public class MyThread implements Runnable
{
int i;
public void run()
{i=0;
while (true)
{ System.out.println("Ciao " + i);
if (i==50) break;
try{
Thread.sleep(10);
}
catch (InterruptedException e) {}
i++;}
}
...
49. Threads
Runnable Interface
...
public static void main (String args[])
{
for (int j=0;j<4;j++)
{
MyThread mt= new MyThread ();
Thread t=new Thread(mt);
t.start();
}
}
}
50. Threads
Metodi della classe Thread
?isAlive()
?sleep()
?join() - aspetta che l¡¯esecuzione del thread sia terminata
?wait(), notify() - classe Object
?suspend()
?resume()
?stop()
?yield()
Il problema della sincronizzazione:
synchronized (this)
{
}
public synchronized String pop(this)
{
}
51. Stream I/O e Files
Classi Base
? FileInputStream e FileOutputStream
? BufferedInputStream e BufferedOutputStream
? DataInputStream e DataOutputStream
? PipedInputStream e PipedOutputStream
52. Stream I/O e Files
Serializzazione (interfaccia Serializable) e persistenza
fos=new FileOutputStream("date.ser");
¡
ObjectOutputStream os=new
ObjectOutputStream(fos);
fis=new FileInputStream("date.ser");
¡
ObjectInputStream is=new
ObjectInputStream(fis);
Date dt=new Date();
dt=(Date)is.readObject();
...
is.close();
fis.close();
Date dt=new Date();
...
os.writeObject(dt);
os.close();
fos.close();
53. Stream I/O e Files
La parola chiave transient evita la serializzazione di alcune
propriet¨¤ della classe
public transient Thread myT;
54. Stream I/O e Files
Scrivere un file
...
PrintWriter out= new PrintWriter(new
BufferedWriter(new FileWriter("foo.out")));
out.println("riga");
out.close();
...
Leggere un file
BufferedReader in
= new BufferedReader(new FileReader("foo.out"));
System.out.println(in.readLine());
in.close();
...