java:string

This is an old revision of the document!


A PCRE internal error occured. This might be caused by a faulty plugin

====== Αλφαριθμητικά (Strings) ====== Τα αλφαριθμητικά στην Java υλοποιούνται μέσω της κλάσης [[https://docs.oracle.com/javase/7/docs/api/java/lang/String.html|java.lang.String]]. Κάθε αλφαριθμητικό στην Java είναι ένα αντικείμενο της κλάσης String το οποίο δεν μπορεί να μεταβληθεί μετά την δημιουργία του(//immutable//). Σε μία μεταβλητή τύπου String μπορείτε να αναθέσετε απευθείας ένα αλφαριθμητικό δηλώνοντας το μέσα σε διπλά εισαγωγικά. <code java> String str = "Hello World!"; </code> Εάν θέλετε να εισάγεται τον χαρακτήρα '"' μέσα στο αλφαριθμητικό σας θα πρέπει να τον αντικαταστήσετε με τον χαρακτήρα '\"', όπως παρακάτω: <code java> String str = "Her dog is named \"Lili\""; </code> Εναλλακτικά μπορείτε να χρησιμοποιήσετε έναν από τους διαθέσιμους κατασκευαστές της κλάσης για να παράγεται ένα String. Για παράδειγμα μπορείτε να παράγετε String από ένα πίνακα χαρακτήρων ως εξής: <code java StringExample.java> public class StringExample { public static void main(String [] args) { char [] charSequence = { 'H','e','l','l','o',' ','W','o','r','l','d','!' }; String str1 = new String(charSequence); String str2 = new String(charSequence, 0, 5); String str3 = new String(charSequence, 6, 5); System.out.println("str1: " + str1); System.out.println("str2: " + str2); System.out.println("str3: " + str3); } } </code> Οι τελευταίες δύο γραμμές παράγουν τα αλφαριθμητικά ''Hello'' και ''World''. Δύο ή περισσότερα αλφαριθμητικά μπορούν να συνεννοηθούν παράγοντας ένα νέο αλφαριθμητικό. Για την συνένωση δύο αλφαριθμητικών μπορείτε να χρησιμοποιήσετε τη μέθοδο concat() ή τον τελεστή ''+'', όπως παρακάτω: <code java StringExample.java> public class StringExample { public static void main(String [] args) { String str1 = "Hello ".concat("World!"); String str2 = "Hello " + "World!"; System.out.println("str1: " + str1); System.out.println("str2: " + str2); } } </code> Κάθε αλφαριθμητικό διαθέτει συγκεκριμένο μήκος χαρακτήρων που δίνεται από την μέθοδο //length()//, όπως παρακάτω <code java StringExample.java> public class StringExample { public static void main(String [] args) { String str = "Hello World!"; int strLength = str.length(); System.out.println("String length is "+strLength); } } </code> Τέλος μπορείτε να δημιουργήσετε μορφοποιημένα Strings μέσω της μεθόδου //format()// (ανάλογη της printf() στη C) όπως παρακάτω. <code java StringExample.java> public class StringExample { public static void main(String [] args) { float floatVar = 5.333F; // if you miss the F at the end you get an error about possible loss of precision. int intVar = 100; String stringVar = "Python"; String fs = String.format("The value of the float variable is " + "%f, while the value of the integer " + "variable is %d, and the string " + "is \"%s\"", floatVar, intVar, stringVar); System.out.println(fs); } } </code> ===== Η κλάση StringBuffer ===== Για την κλάση String αναφέραμε ότι τα αλφαριθμητικά που ανήκουν σε αυτή δεν μεταβάλλονται. Εάν θέλετε να προσθέσετε ή να αφαιρέσετε περιεχόμενο από ένα αλφαριθμητικό, χωρίς απαραίτητα να δημιουργήσετε νέο μπορείτε να χρησιμοποιήσετε την κλάση [[https://docs.oracle.com/javase/7/docs/api/java/lang/StringBuffer.html|java.lang.StringBuffer]]. Βασικό χαρακτηριστικό της κλάσης StringBuffer είναι η ύπαρξη μεθόδων για την μεταβολή του αλφαριθμητικού όπως * **append:** προσθήκη χαρακτήρων στο τέλος του αλφαριθμητικού. * **insert:** προσθήκη ενός αλφαριθμητικού στη θέση //offset//. * **reverse:** αντιστροφή στου αλφαριθμητικού. * **delete:** διαγραφή μέρους του αλφαριθμητικού. Μπορείτε να λάβετε ένα αντικείμενο τύπου String από ένα αντικείμενο της κλάσης StringBuffer χρησιμοποιώντας μία από τις παρακάτω μέθοδους * toString(); * substring(0); Δείτε το παράδειγμα χρήσης των παραπάνω μεθόδων. <code java StringBufferExample.java> public class StringBufferExample { public static void main(String [] args) { String hello = "Love Java"; StringBuffer helloBuffer = new StringBuffer(hello); System.out.println("append: "+ helloBuffer.append(" Beans!")); System.out.println("delete: "+ helloBuffer.delete(5, helloBuffer.length()) ); System.out.println("insert: "+ helloBuffer.insert(5, "coffee Beans ")); System.out.println("reverse:"+ helloBuffer.reverse() ); } } </code> |Προηγούμενο: [[:java:wrapper_classes | Βασικοί τύποι δεδομένων και ισοδύναμοι αναφορικοί τύποι ]] | [[:toc | Περιεχόμενα]] | Επόμενο: [[:java:packages:intro | Πακέτα στη γλώσσα προγραμματισμού Java ]]|

java/string.1457103646.txt.gz · Last modified: 2016/03/04 15:00 by doufexi