Möchte mich vorstellen

Status
Nicht offen für weitere Antworten.

all.in.one

Mitglied
Guten Tag,
ich bin ganz neu hier am start :)
Bin Informatik student und hab noch 1 semester zu machen, dann bin ich feddig...
Naja und Java habe ich mal in 2 Klausuren gehabt... Aber es sind jetzt bald 2 jahre her und es ist nicht mehr viel übrig... Also wollte ich anfangen Wieder einfach mal Privat zu Coden und werde bestimmt nicht selten mit dummen Fragen hier auftauchen... Daher dachte ich... ich stelle mich erstmal vor, bevor ich euch zumühle :D
 

all.in.one

Mitglied
ok dann stelle ich mal meine erste Frage...
Also ich kenne die Sun Seite, da hat man ja ganz viele Klassen die Standartmäßig dabei sind aufgelistet und aufgeschlüsselt...
Als Beispiel mal die Klasse Time
Time (Java 2 Platform SE v1.4.2)
so die Fragen:
1. wie lautet mein Import?
Java:
import java.sql.Time;

2. wenn ich den Datum nutzen will, dann muss ich doch die Methode getDate() aufrufen, richtig? und diese Methode gibt ein int zurück oder was bedeutet dieser int in der Tabelle dahinter?
also so ungefähr:
Java:
Date zeit= new java.sql.Date.getDate() ;

das muss für den anfang reichen :)
 

Marco13

Top Contributor
Hhhmmja... aber das ist java.sql.Time ... hast du irgendwas mit Datenbanken vor? Vielleicht suchst du eher nach Date oder Calendar? (Jedenfalls sollte man sich, wenn bei einer Methode "deprecated" dabei steht, nach Alternativen umsehen...)
 

eRaaaa

Top Contributor
Also erstmal hi :)

zu deinen fragen:

1) korrekt
2) ja, die spalte bedeuted, dass die methode ein int zurückliefert, allerdings istdeine genannte methode auch deprecated :D du hast dir also ein doofes beispiel ausgesucht :D

also, davon mal abgesehen, ist

Date zeit= new java.sql.Date.getDate() ;

auch total falsch :D
Java:
//erst ein objekt erstellen
Date datum = new Date(System.currentTimeMillis());
//dann die methode aufrufen
		int date = datum.getDate();
 

all.in.one

Mitglied
ok ich verstehe... die Klasse war die Falsche....
Und obendrauf sehe ich dass die Objektorientierten konzepte nicht mehr ganz im kopf hab...
Also wenn ich eine Klasse wie currentTimeMillis() hab, dann muss ich erst ein Objekt erzeugen der datum heißt und dann über den objekt den wert raus holen???
warum kann man nicht sagen:
Java:
int date= new System.getDate();
??
 

Der Müde Joe

Top Contributor
In java existieren primitive Typen (int, long, short, double, float, byte) und Objekte (der Rest).

Java:
long now = System.currentTimeMillis()

gibt einen primitiven typen (long) zurück. (Die zeit in Milisekunden seit der Epoche (1.1.1970).
Date ist ein Objekt (wir mit new erstellt)
zB
Java:
long now = System.currentTimeInMillis();
Date dateObject = new Date(now);

nun wurde der long now in das Objekt java.utli.Date reingeshoben (über den entsprechenden Konstruktor) und das dateObject ist nun ein Objekt, welches dieser Zeit (now) entspicht.

EDIT:
char, boolean hab ich noch als primitiven Typen vergessen.
Dazu existieren noch die Wrapper-Klassen. erkennt man an der grossen Anfangsbuchstaben:
long -> primitiv
Long -> Objekt vom Type long
diese kann man auch konvertieren (bzw werden ab java 1.5 automatisch umgewandelt (auto-boxing)
 
Zuletzt bearbeitet:

eRaaaa

Top Contributor
hmm, weil die klasse java.lang.System diese methode nicht hat ;D
ich hab dich wohl mit System.currentTimeMillis()
durcheinander gebracht ;D

also
Java:
//erst ein objekt erstellen
Date datum = new Date();
//dann die methode aufrufen
        int date = datum.getDate();

ginge auch(bei util.date). da es aber bei sql.date keinen standart-konstruktor gibt, sondenr nur einen der entweder ein long (deswegen auch system.currenttimnemillis()) erwartet oder 3 int-werte. man hätte also beispielsweise auch schreiben können:
Java:
Date datum = new Date(2009,8,26);
		//dann die methode aufrufen
		        int date = datum.getDate();

/edit: tuck zu spät :D
 

JanHH

Top Contributor
Grossen Respekt wenn jemand das Informatikstudium durchzieht, aber wie kann es dann zu solchen Fragen kommen?
 

all.in.one

Mitglied
Danke für die schnellen Antworten... Jetzt erinnere ich mich auch schon langsam...
Und naja zu dem Studium, also was man wohl bei informatik Studium nicht lernt ist wirklich programmieren. Wir machen von alles mögliche die Ansätze, und lernen schnell und effektiv informationen aufzunehmen... Aber wirklich programmieren ist handwerkzeug, auch damals wo ich die klausur geschrieben hab und das Wissen bezüglich Java frisch war, war ich kein Programmierer, denn das wird man, wenn man mal 6 monate jeden tag was gemacht hat... Das versuche ich eben jetzt in meine Freizeit nach zu holen :)
 
Zuletzt bearbeitet:

all.in.one

Mitglied
Java:
long now = System.currentTimeInMillis();
Date dateObject = new Date(now);

nun wurde der long now in das Objekt java.utli.Date reingeshoben (über den entsprechenden Konstruktor) und das dateObject ist nun ein Objekt, welches dieser Zeit (now) entspicht.

Also man kann den wert diese Method entweder direkt in ein Objekt speichern oder die werte in einen primitiven Typen speichern (sollte der entsprechende sein, sonst gehen info. verloren) und man kann auch die in ein primitiven Typen gespeicherte werte wieder in ein Objekt rein schrieben, richtig?

Bei dem letzten schritt.. Also wenn man den wert schon in der Variable now gespeichert hat und es dann in den Objekt rein schriebt... ist mir noch nicht ganz klar, wozu das gut sein kann... Also ich weiß, dass man bestimmte operationen nur mit Objekten durchführen kann.. oder ist dann das "dateObjekt" immer aktuell... ???:L
 

ARadauer

Top Contributor
was willst du eigentlich machen?

Date repräsentiert ein Datum und das muss ja intern irgendwie gespeichert werden. Das macht man generell in der Informatik mit einem Timestamp zb
"the number of milliseconds since January 1, 1970, 00:00:00 GMT"

das ist das was du dem Konstruktor von Date übergeben kannst oder mit getTime zurück bekommst..
 

JanHH

Top Contributor
Ich hab sowohl an der Uni als auch an der FH versucht, Informatik zu studieren, und über die Uni-Variante kann ich das in der Tat bestätigen (das war allerdings auch schon 1994). Habs dann ja auch abgebrochen. FH war deutlich praxisbezogener, da lernte man wirklich programmieren, mit sauberen OO-Konzepten usw. Aber das ist ja eigentlich nicht das worums geht. War nur erstaunt dass offenbar wirklich ganz allgemeines Grundwissen über objektorientierte Konzepte fehlt. Kann man wohl nur den Rat geben, sich da mal gründlich und von Beginn an einzuarbeiten. Sind ja fast schon allgemeine Fragen und nicht unbedingt java-spezifisch.
 

all.in.one

Mitglied
@JanHH Naja, ob allgemeines Wissen bezüglich programmierung wirklich fehlt... Ich würde eher sagen, ich habe das konzept der OO-Programmierung nie richtig verstanden, was ich versuchen werde nach zu holen... Aber ich hab noch vor 6 Monaten ein Game in ein Projekt umgesetzt, da haben wir Perl genutzt und es klappte daher ganz gut... Muss mich nur mit Java wieder anfreunden und OO checken...

@Aradauer Ich wollte wie oben schon erwähnt mich langsam mit OO auseinander setzten und vorallem die bekanntesten Java Klassen mal kennen lernen...
Aber mit dem Timestamp ist ja eine komische sache. Da hast du dann ein riesen int wert?? hmm... Ich hätte eher gesagt gibt mir den momentanen Damtun+Uhrzeit dann würde ich das auseinander flücken und die werte(tag/monat..) einzeln weiter verarbeiten..
 

Painii

Bekanntes Mitglied
@Aradauer Ich wollte wie oben schon erwähnt mich langsam mit OO auseinander setzten und vorallem die bekanntesten Java Klassen mal kennen lernen...
Java Platform SE 6
da hast du eine Menge auf einen Blick und musst dir nur die passende raussuchen ;)

Aber mit dem Timestamp ist ja eine komische sache. Da hast du dann ein riesen int wert?? hmm... Ich hätte eher gesagt gibt mir den momentanen Damtun+Uhrzeit dann würde ich das auseinander flücken und die werte(tag/monat..) einzeln weiter verarbeiten..
Die millisekunden seit dem 1.1.1970 0:00:00 als eine große Zahl.
Von da an wird gezählt, immer die millisekunden hoch.
Wenn du dann eben die "große" Zahl 86400000 eingibts zählst du 24 Stunden hoch -> dein Date-Objekt repräsentiert den 2.1.1970 0:00:00. Automatisch wird da nix hochgezählt.
Wenn du keine Zahl übergibts bekommst du dann die aktuelle Zeit im Date-Objekt.

Von dem Date-Objekt was du dann hast kannst du dann weiter Informationen abfragen (z.b. welcher Tag der Woche denn der 2.1.1970 war - also Montag, Dienstag etc.).

Wie würdest du denn sonst deinem Rechner ein Datum geben wollen?
 

FatFire

Bekanntes Mitglied
Da hast du dann ein riesen int wert??
Nein, long. Wurde aber oben auch schon einmal geschrieben.
ich habe das konzept der OO-Programmierung nie richtig verstanden,
Und trotzdem zwei Java-Klausuren überstanden? Respekt!
Muss mich nur mit Java wieder anfreunden und OO checken...
Im Studium habt ihr keine Unterlagen erhalten und gelernt, die einschlägige Literatur zu nutzen? Sonderbar...
Ich hätte eher gesagt gibt mir den momentanen Damtun+Uhrzeit dann würde ich das auseinander flücken und die werte(tag/monat..) einzeln weiter verarbeiten..
Spätestens bei der Differenzberechnung zwischen zwei Daten oder auch nur dem hohlen Hochzählen bräuchtest Du dafür ausgefeiltere Logik, als wenn Du einfach mit ms hantierst. Und würde trotzdem mehr Speicher kosten (Jahr-int, Monat-Byte, Tag-Byte, Stunde-Byte, Minute-Byte, Sekunde-Byte, ms-Short, ergibt alles in allem 11 Byte, also 88 Bit...mit einmal long sind wir dann gerade einmal bei 64 Bit).
Außerdem kannst Du es Dir doch jederzeit umformen und dann werden sogar Besonderheiten wie Schaltjahre berücksichtigt.

Gruß FatFire
 

all.in.one

Mitglied
ok mit dem Long sehe ich auch jetzt ein... und hab mir wieder das Buch vom Prof geliehen und angefangen auch nebenbei über OO zu lesen... :rtfm:
Ja das problem ist, dass man das ganze auch sehr theoretisch können kann, was dazu führt, dass man nicht eine Zeile vernüftiges Code hin bekommt. Aber das will ich ja jetzt ändern ;)

Ich hab jetzt was kleines geschrieben... (ich weiß hat noch kein sinn... bekommt er noch :joke: )
Aber es funktioniert nicht... Wenn ich in Eclips auf run gehe und dann Java-Application findet er keine main-Methode in den Ordner... woran könnte es liegen?
Java:
package learn;
import java.io.*;
import java.util.Calendar;
public class Brain
{
	private static void main(String args[])
		{
			Brain david= new Brain();
			
			System.out.println(david.time());
			
		}




public long time()
{
	Calendar rightNow = Calendar.getInstance();
	long time= rightNow.getTimeInMillis();
	return time;
	
}
}
 

all.in.one

Mitglied
ok nun hab ich bißchen verständniss fragen zu meinen Programm... Also in der Methode time, erstelle ich eine Objekt von dem Typ kalender. und mit der Methode getInstance() hole ich eine instance des ganzen... Aber was bedeutet das wirklich? Geht es darum erstmal die richtige Zeitzone zu finden, da es bei der Methoden beschreibung steht: Gets a calendar using the default time zone and locale.
Und erst dann kann ich mit eine weiteren Methode die tatsächliche Zeit auf das Objekt übertragen, den ich dann die Variable time zuweise??
hätte ich nicht einfach sagen können:
Java:
Calender rightnow= new Calender();
wozu brauche ich den Instance??
 

eRaaaa

Top Contributor
was sagt denn der compiler wenn du das mal ausprobierst? :D (bzw die api )



stichwort: abstract
 
Zuletzt bearbeitet:

all.in.one

Mitglied
Calender cannot be resolved to a type... sagt Eclipse
Für mich heißt es, dass die Methode Calender() kein Object zurück gibt... Wahrscheinlich gar nichts zurück gibt.. oder die Methode gibt es gar nicht in dieser Form... und daher auch wahrscheinlich die geschichte mit dem getInstance() oder??

Ich hab noch was ausprobiert:
Java:
Calendar cal = Calendar.getInstance();
java.util.Date date = cal.getTime();
dazu habe ich auch paar Fragen:
Warum muss ich erst ein Object der Klasse Calendar haben, um dann da ein Object des types date von einen anderen Klasse rein zu laden... oder was passiert hier? Und wie kann ich auf die einzelnen werte des Objectes zugreifen? Also ich hab ja jetzt die Variable date, die man auch wunderbar ausgeben kann mit println. Gibt es eine möglichkeit zb. nur den uhrzeit auszugeben?
 

eRaaaa

Top Contributor
hi,

also zu der sache davor, hab ich extra dir nen hinweis im kleingedruckten gegeben ;)
die klasse ist abstract, dahe rkannst du davon kein objekt erzeugen!

zu dem zweiten teil, was genau möchtest du eig. machen? :)

um die uhrzeit auszugeben, könntest du das z.b. so machen:
Java:
		SimpleDateFormat formatter = new SimpleDateFormat ("HH:mm:ss");
		Date currentTime = new Date();
		System.out.println(formatter.format(currentTime));

gibt halt viele möglichkeiten nach rom :) du kannst dir auch mal gregoriancalender anschauen
Java:
		GregorianCalendar now=new GregorianCalendar();
		DateFormat df=DateFormat.getTimeInstance(DateFormat.SHORT);
		System.out.println(df.format(now.getTime()));
 

all.in.one

Mitglied
danke für díe Antwort.
Naja was will ich machen... Ich will OO richtig begreifen und nicht nur oberflächig...
GregorianCalendar ist sehr intressant. Da kann man auf die einzelnen Attribute in dem Objekt zugreifen:
System.out.println("MONTH: " + calendar.get(Calendar.MONTH));

Aber warum kann ich hier nicht auf die Attribute zugreifen?
Java:
Calendar cal = Calendar.getInstance();
java.util.Date date = cal.getTime();
System.out.println(date);
wenn ich nach date einen punkt mache schlägt mir die auto ergänzung eine reihe intressante Methode for, wie getDay usw. die veraltet sind...

und was ist eigentlich wenn eine Methode in dem nächsten Java versionen veraltet "deprecated" ist? Funktionieren die Programme dann trotzdem?

und nochmal zu dem getTimeInMillis() zurück... Also mit dem ergebniss kann ich ja gar nix afangen, könntet ihr das ganz kurz bißchen aufschlüsseln... Also das ist die aktuelle Zeit in Millis (also millisekunden??) macht doch keinen sinn... dann könnte man das auf Studen und minuten umrechnen, hätte dann aber ein wert wie: 2 stunden und 29 min. das ist doch keine zeit angabe ;(
 

Der Müde Joe

Top Contributor
>und was ist eigentlich wenn eine Methode in dem nächsten Java versionen veraltet "deprecated" ist? Funktionieren die Programme dann trotzdem?

Depracated heist veraltet. Aus Java wurde noch nie was entfernt. Es soll als Hinweis für den Programierer gelten, diese Methode, Klasse nicht mehr zu benutzen. Ein Beispiel ist der StringTokenizer. Der sollte nicht benutzt werden dafür aber String#split oder halt Matcher/Pattern

>also das ist die aktuelle Zeit in Millis (also millisekunden??) macht doch keinen sinn...

ist einfach die Zeit seit der Epoche (1.1. 1970 0.00). Ganz einfach und eindeutig.

>könntet ihr das ganz kurz bißchen aufschlüsseln...

Date ist reinfach ein Datum, Zeitstempel oder was auch immer. Calendar ist der Kalender (zb GregorianCalendar, JulianCalendar, BudhistCalendar) welches ein Datum interpretiert: zB Schaltjahr, Jahr der Katze...
DateFormat formatiert die ein Date.

Java:
		Date date = new Date();
		Calendar cal = new GregorianCalendar();
		cal.setTime(date);
		// einzelne Dinge holen
		System.out.println(cal.get(Calendar.DAY_OF_MONTH));
		// oder formatieren
		DateFormat df = new SimpleDateFormat("dd  mm");
		System.out.println(df.format(date));
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
DrahtEck Schleife soll wieder da anfangen wo ich es möchte ! Java Basics - Anfänger-Themen 17
_so_far_away_ Ich möchte Java lernen Java Basics - Anfänger-Themen 11
A Bei VierGewinnt vorher fragen, ob man gegen den Computer spielen möchte oder gegeneinander. Java Basics - Anfänger-Themen 1
A Bei VierGewinnt fragen, ob man gegen den Computer spielen möchte oder gegeneinander Java Basics - Anfänger-Themen 1
N Erste Schritte HelloWorld möchte einfach nicht laufen Java Basics - Anfänger-Themen 11
P Nutzer entscheiden lassen, wie viele Zahlen dieser in ein Array eingeben möchte. Java Basics - Anfänger-Themen 6
F Methoden Bitte Helft mir meinen Fehler zu finden. Möchte in diesem Bankenprogramm durch die Konsoleneingabe auswählen welches Konto reduziert und welches erhö Java Basics - Anfänger-Themen 17
L Anfängerin möchte Linie zeichnen Java Basics - Anfänger-Themen 8
I erstelle Vorschaubild mit der lib PDF-Renderer und möchte danach Dateiname ändern -> geht aber nicht Java Basics - Anfänger-Themen 0
I ZIP Archive erstellen - ich möchte aber nur den jeweiligen Ordner zippen, bekomme ganzen Pfad Java Basics - Anfänger-Themen 1
J Möchte gern den Konsolen Output auf JTextPane umleiten Java Basics - Anfänger-Themen 4
X Möchte JAVA Lernen Java Basics - Anfänger-Themen 23
A Interface Ich möchte eine Zeichenumgebung Java Basics - Anfänger-Themen 16
S Schleife möchte nicht funktionieren Java Basics - Anfänger-Themen 5
K Ich möchte in einem Text Editor cut, copy ,paste einfügen! Java Basics - Anfänger-Themen 2
E PopupMenu öffnet nicht so wie ich möchte Java Basics - Anfänger-Themen 2
M möchte in konstrukturaufruf eine bedingte anweisung haben. Java Basics - Anfänger-Themen 6
T Möchte ein neues Objekt erzeugen mit Wert von anderem Objekt Java Basics - Anfänger-Themen 9
T Möchte Charwert 23C° mit java.util.Scanner einlesen macht Pr Java Basics - Anfänger-Themen 2
X Habe Set, möchte List Java Basics - Anfänger-Themen 3
G Möchte Java verstehen Java Basics - Anfänger-Themen 11
A Möchte Java - Chat in meine Homepage einbinden. Java Basics - Anfänger-Themen 4
R Möchte einen anderen Hintergrund, weis nicht wie? Java Basics - Anfänger-Themen 7
D Ich möchte im JFrame einen Scrollbalken. Java Basics - Anfänger-Themen 5
7 Möchte lediglich zwei Zahlen addieren. Java Basics - Anfänger-Themen 5
M hilfe :} möchte servlet daten erfasssen-> hashmap speiche Java Basics - Anfänger-Themen 3
S Möchte Jave Applet vie URL laden NOOOB Java Basics - Anfänger-Themen 7
H Generics machen mich verrückt Java Basics - Anfänger-Themen 8
R Ist Java das Richtige für mich? Java Basics - Anfänger-Themen 4
S Fehler bei Code mit SubStrings für mich nicht auffindbar. Java Basics - Anfänger-Themen 4
R getUserProperties() macht für mich keinen Sinn Java Basics - Anfänger-Themen 8
C Der Swing Layout-Manager hasst mich Java Basics - Anfänger-Themen 4
B Boolscher Ausdruck für mich unverständlich Java Basics - Anfänger-Themen 7
E Erste Schritte Vorschläge für mich zum Thema Punkt vor Strich ? Java Basics - Anfänger-Themen 7
N Einfacher Rechner (für mich nicht so einfach) Java Basics - Anfänger-Themen 5
V Interface ich schäme mich das zu fragen, aber ich schaff nicht ein Text zu zentrieren :( [javaFX] Java Basics - Anfänger-Themen 6
H mysql brauche hilfe, wer kann eine (längere) aufgabe für mich erledigen Java Basics - Anfänger-Themen 2
X Ist Java für mich das richtige? Java Basics - Anfänger-Themen 10
E Variablen "If" verschaukelt mich :( Java Basics - Anfänger-Themen 8
F Ich kenn mich nicht mehr aus - 'java.lang.NoSuchMethodError: main' in Applet? Java Basics - Anfänger-Themen 2
F Für mich unverständlicher Fehler Java Basics - Anfänger-Themen 2
D Arrays mögen mich nicht :( Java Basics - Anfänger-Themen 5
M true und false treiben mich ins Grab! Java Basics - Anfänger-Themen 5
N Flaggenaufgabe, für mich zu schwierig Java Basics - Anfänger-Themen 19
C abstrakte Klassen mögen mich nicht... Java Basics - Anfänger-Themen 2
V Kenn mich nicht aus :/ Java Basics - Anfänger-Themen 11
M Hilfe Selenium ärgert mich Java Basics - Anfänger-Themen 2
S if-Abfragen bringen mich zum VERZWEIFELN! Java Basics - Anfänger-Themen 12
B Ist Java das richtige für mich? Java Basics - Anfänger-Themen 12
M Caeser Verschlüsselung ganz einfach(nicht für mich) Java Basics - Anfänger-Themen 6
U Uni-Code nervt mich Java Basics - Anfänger-Themen 13
S Unlösbar für mich? Java Basics - Anfänger-Themen 5
B eine billige frage, für mich leider jedoch nicht Java Basics - Anfänger-Themen 16
P Schreibweise erklären- neu für mich Java Basics - Anfänger-Themen 3
P Clone Methode treibt mich zum Wahnsinn Java Basics - Anfänger-Themen 10
M GregorianCalendar bringt mich um. Java Basics - Anfänger-Themen 8
J Programm vorstellen Java Basics - Anfänger-Themen 11
D Wie kann ich mir die Arbeitsweise des Arbeitsspeichers vorstellen? Java Basics - Anfänger-Themen 9

Ähnliche Java Themen

Neue Themen


Oben