Easy to Learn Java: Programming Articles, Examples and Tips

Start with Java in a few days with Java Lessons or Lectures

Home

Code Examples

Java Tools

More Java Tools!

Java Forum

All Java Tips

Books

Submit News
Search the site here...
Search...
 
Search the JavaFAQ.nu
1000 Java Tips ebook

1000 Java Tips - Click here for the high resolution copy!1000 Java Tips - Click here for the high resolution copy!

Java Screensaver, take it here

Free "1000 Java Tips" eBook is here! It is huge collection of big and small Java programming articles and tips. Please take your copy here.

Take your copy of free "Java Technology Screensaver"!.

Easy Learn Java: Programming Articles, Examples and Tips - Page 315


Previous 1060 Stories (530 Pages, 2 Per Page) Next

Java: String Overview

Go to all tips in Java Notes by Fred Swartz
Strings are sequences of Unicode characters. In many programming languages strings are are stored in arrays of characters (eg C, C++, Pascal, ...). However, in Java strings are a separate object type, called String. There is a String class and methods for working with String objects. The "+" operator is used for concatenation, but all other operations on strings are done with methods in the String class.

See the Summary - Strings for an overview of the methods in String and related classes.

Related types and classes

String The basic class for strings. String objects can NOT be changed.
char Primitive type for 16-bit Unicode characters.
Character Primarily useful for its utility functions for working with characters.
StringBuffer StringBuffers are used to build or change strings. Conversion between String and StringBuffer is easy.
StringTokenizer Used to break a String into tokens (words).
BufferedReader
BufferedWriter
Useful for reading and writing text files.
Pattern, Matcher JDK 1.4 added java.util.Pattern and Matcher to do regular expression matching.

String literals

To write a constant string, put the characters between double quotes, eg "abc".

Escape Character

If the string contains double quotes, put a backslash ('') in front of each double quote, eg "abc"def"ghi". The String equivalent of 0, is the string with no characters, "".

Concatenation

ExpressionValue
1 + 2 3
"1" + 2 "12"
1 + "2" "12"
"1" + 2 + 3"123"
1 + 2 + "3""33"
Putting two strings together to make a third string is called concatenation. In Java the concatenation operator is '+', the same operator as for adding numbers. If either operand is a String, Java will convert the other operand to a String (if possible) and concatenate the two.

8 comments | Printer Friendly Page  Send to a Friend | Score: 4
Posted by jalex on Sunday, March 06, 2005 (00:00:00) (4045 reads)

Java: GUI Structural Patterns

Go to all tips in Java Notes by Fred Swartz

Structuring the program - Separating the Model

In all ways of structuring a GUI program, there is one vitally important issue -- separating the code which is the essence of the problem from the user interface. This logical part is variously referred to as the model, business logic, abstraction, or document. This code must not refer to the user interface directly -- it will interact with the user interface code by returning values or invoking listeners.

Motivation. There are two compelling reasons for this separation.

  1. Lower complexity -- Programs end up being less complex and therefore easier (cheaper) to modify. For the smallest programs this may not be obvious, but the benefits show up very quickly as a program grows. This is not an advantage only in large programs.
  2. Interface Flexibility -- This allows changes to the user interface, eg, moving from Swing to SWT, or to a web interface. You should be able to use your basic logic code (if applicable) with the following interfaces.
    • GUI interface. And it should be easy to change between Swing, SWT, XML based GUI, etc.
    • Command line interface - yes, some Unix sysadmins might want to run it that way.
    • Web based interface.

Well-Known Patterns

MVC - Model-View-Controller Pattern
This classic pattern is widely used, altho the Presentation-Document pattern below is a more common (because it's simpler) choice for small programs.
  • The View component presents the output and may interact with the Model to do so.
  • The Controller component accepts user input. It typically interacts with both the View and Model.
  • The Model implements the logic, and knows nothing about the interface.
Presentation-Document Pattern
This pattern is perhaps the best choice for small GUI applications.
  • The Presentation contains all user interface code (the View and Controller).
  • The Document is the logic, model, etc.
PAC - Presentation-Abstraction-Control Pattern
This is the application of stepwise refinement to GUIs. Parts of the GUI are each implemented as in MVC, and these parts are put together using MVC. This is basically a recursively applied MVC model. It would only be used for complicated GUIs.
  • The Abstraction corresponds to the Model in MVC.
  • The PAC pattern has a hierarchy of agents, each structured in the PAC model.


2 comments | Printer Friendly Page  Send to a Friend | Score: 0
Posted by jalex on Saturday, March 05, 2005 (00:00:00) (3187 reads)

Previous 1060 Stories (530 Pages, 2 Per Page) Next

530| 529| 528| 527| 526| 525| 524| 523| 522| 521| 520| 519| 518| 517| 516| 515| 514| 513| 512| 511| 510| 509| 508| 507| 506| 505| 504| 503| 502| 501| 500| 499| 498| 497| 496| 495| 494| 493| 492| 491| 490| 489| 488| 487| 486| 485| 484| 483| 482| 481| 480| 479| 478| 477| 476| 475| 474| 473| 472| 471| 470| 469| 468| 467| 466| 465| 464| 463| 462| 461| 460| 459| 458| 457| 456| 455| 454| 453| 452| 451| 450| 449| 448| 447| 446| 445| 444| 443| 442| 441| 440| 439| 438| 437| 436| 435| 434| 433| 432| 431| 430| 429| 428| 427| 426| 425| 424| 423| 422| 421| 420| 419| 418| 417| 416| 415| 414| 413| 412| 411| 410| 409| 408| 407| 406| 405| 404| 403| 402| 401| 400| 399| 398| 397| 396| 395| 394| 393| 392| 391| 390| 389| 388| 387| 386| 385| 384| 383| 382| 381| 380| 379| 378| 377| 376| 375| 374| 373| 372| 371| 370| 369| 368| 367| 366| 365| 364| 363| 362| 361| 360| 359| 358| 357| 356| 355| 354| 353| 352| 351| 350| 349| 348| 347| 346| 345| 344| 343| 342| 341| 340| 339| 338| 337| 336| 335| 334| 333| 332| 331| 330| 329| 328| 327| 326| 325| 324| 323| 322| 321| 320| 319| 318| 317| 316|
315
| 314| 313| 312| 311| 310| 309| 308| 307| 306| 305| 304| 303| 302| 301| 300| 299| 298| 297| 296| 295| 294| 293| 292| 291| 290| 289| 288| 287| 286| 285| 284| 283| 282| 281| 280| 279| 278| 277| 276| 275| 274| 273| 272| 271| 270| 269| 268| 267| 266| 265| 264| 263| 262| 261| 260| 259| 258| 257| 256| 255| 254| 253| 252| 251| 250| 249| 248| 247| 246| 245| 244| 243| 242| 241| 240| 239| 238| 237| 236| 235| 234| 233| 232| 231| 230| 229| 228| 227| 226| 225| 224| 223| 222| 221| 220| 219| 218| 217| 216| 215| 214| 213| 212| 211| 210| 209| 208| 207| 206| 205| 204| 203| 202| 201| 200| 199| 198| 197| 196| 195| 194| 193| 192| 191| 190| 189| 188| 187| 186| 185| 184| 183| 182| 181| 180| 179| 178| 177| 176| 175| 174| 173| 172| 171| 170| 169| 168| 167| 166| 165| 164| 163| 162| 161| 160| 159| 158| 157| 156| 155| 154| 153| 152| 151| 150| 149| 148| 147| 146| 145| 144| 143| 142| 141| 140| 139| 138| 137| 136| 135| 134| 133| 132| 131| 130| 129| 128| 127| 126| 125| 124| 123| 122| 121| 120| 119| 118| 117| 116| 115| 114| 113| 112| 111| 110| 109| 108| 107| 106| 105| 104| 103| 102| 101| 100| 99| 98| 97| 96| 95| 94| 93| 92| 91| 90| 89| 88| 87| 86| 85| 84| 83| 82| 81| 80| 79| 78| 77| 76| 75| 74| 73| 72| 71| 70| 69| 68| 67| 66| 65| 64| 63| 62| 61| 60| 59| 58| 57| 56| 55| 54| 53| 52| 51| 50| 49| 48| 47| 46| 45| 44| 43| 42| 41| 40| 39| 38| 37| 36| 35| 34| 33| 32| 31| 30| 29| 28| 27| 26| 25| 24| 23| 22| 21| 20| 19| 18| 17| 16| 15| 14| 13| 12| 11| 10| 9| 8| 7| 6| 5| 4| 3| 2| 1|


Home Code Examples Java Forum All Java Tips Books Submit News, Code... Search... Offshore Software Tech Doodling

RSS feed Java FAQ RSS feed Java FAQ News     

    RSS feed Java Forums RSS feed Java Forums

All logos and trademarks in this site are property of their respective owner. The comments are property of their posters, all the rest 1999-2006 by Java FAQs Daily Tips.

Interactive software released under GNU GPL, Code Credits, Privacy Policy