Actually yes -- instead of the old fashioned integer cases on the C switch you can have a hash lookup on x that maps to a label to jump to. Like in pseudo-C++ you would say Map<String,Label> jumpTable; ... l = jumpTable[x]; if l is null, goto defaultLabel; else goto l; Or, if Map<String,Label> is defined so new entries are initialized with value = defaultLabel, then you wouldn't need the if statement at all. Just say goto jumpTable[x]; Then the lookup on x will either find a match and would therefore have a label defined, or if x isn't in the table, the lookup operation would create a "null" entry with defaultLabel as its value. Hope this makes sense. I have seen C++ programs that do a truely volumous amount of work with just 1 or 2 lines of code using libraries that do most the work in a (hopefully) efficient manner. Happy hacking. --le ----- Original Message ----- From: "Homme, James" <james.homme@xxxxxxxxxxxx> To: <programmingblind@xxxxxxxxxxxxx> Sent: Wednesday, February 23, 2011 5:46 AM Subject: RE: Java: Switch Or If Else Hi, Python has code that looks something like this. If x in MyList: do some stuff here. Is that the same thing? Thanks. Jim Jim Homme, Usability Services, Phone: 412-544-1810. Skype: jim.homme Internal recipients, Read my accessibility blog. Discuss accessibility here. Accessibility Wiki: Breaking news and accessibility advice -----Original Message----- From: programmingblind-bounce@xxxxxxxxxxxxx [mailto:programmingblind-bounce@xxxxxxxxxxxxx] On Behalf Of qubit Sent: Tuesday, February 22, 2011 10:02 PM To: programmingblind@xxxxxxxxxxxxx Subject: Re: Java: Switch Or If Else another thing about switch statements for simple conditions like int or character literal values, is that the compiler can do some tricky things to speed up the code -- for example, if you compare an int to values 1,2,3,...,100, and they all have code to execute, the compiler can do something like create a jump array and transform the switch to code like the following (pseudo code -- I don't know what java low level code looks like): jumpArray[100] = { label1, label2, label3, ... label100 }; # the switch statement "switch (val) becomes: if x is in range, then goto jumpArray[x-1] else goto defaultLabel I remember seeing this kind of thing in the code I used to support. Of course that was a c/c++ compiler, but with java there might be similar optimizations. --le ----- Original Message ----- From: "Dave" <davidct1209@xxxxxxxxx> To: <programmingblind@xxxxxxxxxxxxx> Sent: Tuesday, February 22, 2011 7:43 PM Subject: Re: Java: Switch Or If Else That's assuming you don't have complex conditions you're checking for; sometimes, if/else if is the only way to go. When code becomes long/slightly unreadable, refactoring usually is a good idea. On 2/22/11, Homme, James <james.homme@xxxxxxxxxxxx> wrote: > Hi, > Thanks, guys. When I saw Ken's example, I liked the switch better. > > Jim > > Jim Homme, > Usability Services, > Phone: 412-544-1810. Skype: jim.homme > Internal recipients, Read my accessibility > blog<http://mysites.highmark.com/personal/lidikki/Blog/default.aspx>. > Discuss accessibility > here<http://collaborate.highmark.com/COP/technical/accessibility/default.aspx>. > Accessibility Wiki: Breaking news and accessibility > advice<http://collaborate.highmark.com/COP/technical/accessibility/Accessibility%20Wiki/Forms/AllPages.aspx> > > From: programmingblind-bounce@xxxxxxxxxxxxx > [mailto:programmingblind-bounce@xxxxxxxxxxxxx] On Behalf Of Sina Bahram > Sent: Tuesday, February 22, 2011 1:02 PM > To: programmingblind@xxxxxxxxxxxxx > Subject: RE: Java: Switch Or If Else > > I can't agree more > > Switch is so superior to chains of if statements. > > Take care, > Sina > > From: programmingblind-bounce@xxxxxxxxxxxxx > [mailto:programmingblind-bounce@xxxxxxxxxxxxx] On Behalf Of Ken Perry > Sent: Tuesday, February 22, 2011 12:59 PM > To: programmingblind@xxxxxxxxxxxxx > Subject: RE: Java: Switch Or If Else > > > > I find switch much easier to use and read in large if else messes. For > example in a multi level if else like this. > > If (){ > If (){ > If (){ > }else{ > } > }else{ > } > }else{ > If (){ > If (){ > }else{ > } > }else{ > } > } > > > Could look like this > > Switch () > Case 1: > If (){ > }else{ > } > Case 2: > If (){ > }Else{ > } > > > > From: programmingblind-bounce@xxxxxxxxxxxxx > [mailto:programmingblind-bounce@xxxxxxxxxxxxx] On Behalf Of Homme, James > Sent: Tuesday, February 22, 2011 12:41 PM > To: programmingblind@xxxxxxxxxxxxx > Subject: Java: Switch Or If Else > > Hi, > Would there be a time when you would choose to use switch, and another > when > you would choose to use if else? For example, if doing it one way or the > other would make a program easier to read. When I was just thinking about > this, it seemed to me that if you would choose if else, you wouldn't have > to > keep remembering to put in break statements. For ease of reading, it would > seem that the code would take less time to listen to if you would choose > if > else. > > Thanks. > > Jim > Jim Homme, > Usability Services, > Phone: 412-544-1810. Skype: jim.homme > Internal recipients, Read my accessibility > blog<http://mysites.highmark.com/personal/lidikki/Blog/default.aspx>. > Discuss accessibility > here<http://collaborate.highmark.com/COP/technical/accessibility/default.aspx>. > Accessibility Wiki: Breaking news and accessibility > advice<http://collaborate.highmark.com/COP/technical/accessibility/Accessibility%20Wiki/Forms/AllPages.aspx> > > > ________________________________ > This e-mail and any attachments to it are confidential and are intended > solely for use of the individual or entity to whom they are addressed. If > you have received this e-mail in error, please notify the sender > immediately > and then delete it. If you are not the intended recipient, you must not > keep, use, disclose, copy or distribute this e-mail without the author's > prior permission. The views expressed in this e-mail message do not > necessarily represent the views of Highmark Inc., its subsidiaries, or > affiliates. > __________ View the list's information and change your settings at //www.freelists.org/list/programmingblind __________ View the list's information and change your settings at //www.freelists.org/list/programmingblind __________ View the list's information and change your settings at //www.freelists.org/list/programmingblind __________ View the list's information and change your settings at //www.freelists.org/list/programmingblind