Introduction#Introduction


Introduction

Navigation

Login Form

The Financial Secrecy Index ranks jurisdictions according to their secrecy and the scale of their offshore financial activities. A politically neutral ranking, it is a tool for understanding global financial secrecy, tax havens or secrecy jurisdictions, and illicit financial flows or capital flight.

The Financial Secrecy Index is released every two years and it was first launched in 2009. The latest Financial Secrecy Index was launched on November 2, 2015. The next Financial Secrecy Index will be released in January 2018.

Shining light into dark places

An estimated $21 to $32 trillion of private financial wealth is located, untaxed or lightly taxed, in secrecy jurisdictions around the world. Secrecy jurisdictions – a term we often use as an alternative to the more widely used term tax havens – use secrecy to attract illicit and illegitimate or abusive financial flows.

Illicit cross-border financial flows have been estimated at $1-1.6 trillion per year: dwarfing the US$135 billion or so in global foreign aid. Since the 1970s African countries alone have lost over $1 trillion in capital flight, while combined external debts are less than $200 billion. So Africa is a major net creditor to the world – but its assets are in the hands of a wealthy élite, protected by offshore secrecy; while the debts are shouldered by broad African populations.

Yet all rich countries suffer too. For example, European countries like Greece, Italy and Portugal have been brought to their knees partly by decades of tax evasion and state looting via offshore secrecy.

* British overseas territory or crown dependency. If Britain’s network were assessed together, it would be at the top.

A global industry has developed involving the world’s biggest banks, law practices, accounting firms and specialist providers who design and market secretive offshore structures for their tax- and law-dodging clients. ‘Competition’ between jurisdictions to provide secrecy facilities has, particularly since the era of financial globalisation really took off in the 1980s, become a central feature of global financial markets.

The problems go far beyond tax. In providing secrecy, the offshore world corrupts and distorts markets and investments, shaping them in ways that have nothing to do with efficiency. The secrecy world creates a criminogenic hothouse for multiple evils including fraud, tax cheating, escape from financial regulations, embezzlement, insider dealing, bribery, money laundering, and plenty more. It provides multiple ways for insiders to extract wealth at the expense of societies, creating political impunity and undermining the healthy ‘no taxation without representation’ bargain that has underpinned the growth of accountable modern nation states. Many poorer countries, deprived of tax and haemorrhaging capital into secrecy jurisdictions, rely on foreign aid handouts.

This hurts citizens of rich and poor countries alike.

What is the significance of this index?

In identifying the most important providers of international financial secrecy, the Financial Secrecy Index reveals that traditional stereotypes of tax havens are misconceived. The world’s most important providers of financial secrecy harbouring looted assets are mostly not small, palm-fringed islands as many suppose, but some of the world’s biggest and wealthiest countries. Rich OECD member countries and their satellites are the main recipients of or conduits for these illicit flows.

The implications for global power politics are clearly enormous, and help explain why for so many years international efforts to crack down on tax havens and financial secrecy were so ineffective, it is the recipients of these gigantic inflows that set the rules of the game.

Yet our analysis also reveals that recently things have genuinely started to improve. The global financial crisis and ensuing economic crisis, combined with recent activism and exposure of these problems by civil society actors and the media, and rising concerns about inequality in many countries, have created a set of political conditions unparalleled in history. The world’s politicians have been forced to take notice of tax havens. For the first time since we first created our index in 2009, we can say that something of a sea change is underway.

World leaders are now routinely talking about the scourges of financial secrecy and tax havens, and putting into place new mechanisms to tackle the problem. For the first time the G20 countries have mandated the OECD to put together a new global system of automatic information exchange to help countries find out about the cross-border holdings of their taxpayers and criminals. This scheme is now being rolled out, with first information due to be exchanged in 2017.

Yet of course these schemes are full of loopholes and shortcomings: many countries are planning to pay only lip service to them, if that — and many are actively seeking ways to undermine progress, with the help of a professional infrastructure of secrecy enablers. The edifice of global financial secrecy has been weakened – but it remains fully alive and hugely destructive. Despite what you may have read in the media, Swiss banking secrecy is far from dead. Without sustained political pressure from millions of people, the momentum could be lost.

The only realistic way to address these problems comprehensively is to tackle them at root: by directly confronting offshore secrecy and the global infrastructure that creates it. A first step towards this goal is to identify as accurately as possible the jurisdictions that make it their business to provide offshore secrecy.

This is what the FSI does. It is the product of years of detailed research by a dedicated team, and there is nothing else like it out there. We also have a set of unique reports outlining detailed offshore histories of the biggest players in the game.


Javanotes 7, introduction.#Introduction


introduction

Introduction

WELCOME TO the Seventh Edition of Introduction to Programming Using Java, a free, on-line textbook on introductory programming, which uses Java as the language of instruction. This book is directed mainly towards beginning programmers, although it might also be useful for experienced programmers who want to learn something about Java. It is certainly not meant to provide complete coverage of the Java language.

The seventh edition requires Java 7, with just a couple brief mentions of Java 8. Previous versions included Java applets on the web pages that make up this book, but the applets have been eliminated from this version. Earlier editions of the book are still available; see the preface for links.

You can the download this web site for use on your own computer. PDF, e-book , and print versions of the textbook are also available. The PDF that includes links might be the best way to read it on your computer. Links to the downloads can be found at the bottom of this page.

Readers are strongly encouraged to try out the sample programs as they read the book! You can download the source code separately or as part of the web site using the links below. See README file for information about how to compile and run the examples.

Short Table of Contents:

  • Full Table of Contents
  • Preface
  • Chapter 1: Overview: The Mental Landscape
  • Chapter 2: Programming in the Small I: Names and Things
  • Chapter 3: Programming in the Small II: Control
  • Chapter 4: Programming in the Large I: Subroutines
  • Chapter 5: Programming in the Large II: Objects and Classes
  • Chapter 6: Introduction to GUI Programming
  • Chapter 7: Arrays and ArrayLists
  • Chapter 8: Correctness, Robustness, Efficiency
  • Chapter 9: Linked Data Structures and Recursion
  • Chapter 10: Generic Programming and Collection Classes
  • Chapter 11: Advanced Input/Output: Streams, Files, and Networking
  • Chapter 12: Threads and Multiprocessing
  • Chapter 13: Advanced GUI Programming
  • Source Code for All Examples in this Book
  • Glossary
  • News and Errata

1996–2016, David J. Eck.

This work is licensed under a Creative Commons Attribution-Noncommercial-ShareAlike 3.0 License. (This license allows you to redistribute this book in unmodified form for non-commercial purposes. It allows you to make and distribute modified versions for non-commercial purposes, as long as you include an attribution to the original author, clearly describe the modifications that you have made, and distribute the modified work under the same license as the original. Permission might be given by the author for other uses. See the license for full details.)

Downloading And Other Links

  • Full Web Site Download:
    • http://math.hws.edu/eck/cs124/downloads/javanotes7.zip This “zip” archive contains a complete copy of the web site. It should be usable on almost any computer. Size: 4.3 Megabytes.
  • Source Code Downloads:
    • http://math.hws.edu/eck/cs124/downloads/javanotes7-example-programs.zip A zip archive of the “source” directory from the web site, which includes source code for sample programs from the text. Note that if you download the complete web site, then you already have a copy of the same source directory. See the README file. Size: 773 Kilobytes.
    • http://math.hws.edu/eck/cs124/downloads/javanotes7-exercise-solutions.zip A zip archive containing source code for all the end-of-chapter exercises. These have been extracted from the web pages that contain the solutions as a convenience. They are not included in the web site download. See the README file. Size: 322 Kilobytes.
  • PDF Downloads:
    • http://math.hws.edu/eck/cs124/downloads/javanotes7-linked.pdf a PDF version with internal links for navigation and external links to source code files, exercise solutions, and other resources that are not included in the PDF. Recommended for on-screen reading. Size: 6.3 Megabytes; 755 pages.
    • http://math.hws.edu/eck/cs124/downloads/javanotes7.pdf a PDF version without links, more suitable for printing. This PDF is in the format that is used for the printed version of the text, except that it also includes an appendix listing example programs and a glossary (since they would have exceeded the lulu.com page limit). Size: 5.9 Megabytes; 762 pages.
  • E-book Downloads.
    • http://math.hws.edu/eck/cs124/downloads/javanotes7.mobi, for Kindle.
    • http://math.hws.edu/eck/cs124/downloads/javanotes7.epub, for most other ebook readers.

      These should be considered experimental. Depending on the particular ebook reader that you use, there can be problems with rendering of long lines in program code sample. You might find that lines that are too long to fit across your screen are incorrectly split into multiple lines, or that the part that extends beyond the right margin is simply dropped. On some readers, you might be able to scroll horizontally to see the hidden text. The ebooks include answers to quizzes and exercises but do not include source code for sample programs; the sample programs can be downloaded separately, above.

  • Print Copies Available from Lulu.com:
    • Printed versions I have made this book available for purchase in printed versions from the print-on-demand publisher lulu.com. This is for convenience only, for those who would like to have a bound printout in a nice form. (Please do not feel obliged to buy the printed version; I do not make any money from it!) The entire book is available in a rather thick printed version at http://www.lulu.com/content/612392. It is also available in two parts as http://www.lulu.com/content/559884 and http://www.lulu.com/content/822314. Note that these printed books are the original Version 7, and they still contain errors that have been fixed in Version 7.0.2. See the on-line news page for a list of substantive errors.
  • Source Files for the Book
    • Complete Sources The complete source files that are used to produce both the web site and PDF versions of this book are available for download, but will be useful only to a very limited audience. See the end of the preface for more information and a link.

(1 August 2015, Version 7.0.1 released)

(19 March 2016, ebook downloads added)

(10 December 2016, Version 7.0.2 releaced)


Introduction#Introduction


Introduction

Navigation

Login Form

The Financial Secrecy Index ranks jurisdictions according to their secrecy and the scale of their offshore financial activities. A politically neutral ranking, it is a tool for understanding global financial secrecy, tax havens or secrecy jurisdictions, and illicit financial flows or capital flight.

The Financial Secrecy Index is released every two years and it was first launched in 2009. The latest Financial Secrecy Index was launched on November 2, 2015. The next Financial Secrecy Index will be released in January 2018.

Shining light into dark places

An estimated $21 to $32 trillion of private financial wealth is located, untaxed or lightly taxed, in secrecy jurisdictions around the world. Secrecy jurisdictions – a term we often use as an alternative to the more widely used term tax havens – use secrecy to attract illicit and illegitimate or abusive financial flows.

Illicit cross-border financial flows have been estimated at $1-1.6 trillion per year: dwarfing the US$135 billion or so in global foreign aid. Since the 1970s African countries alone have lost over $1 trillion in capital flight, while combined external debts are less than $200 billion. So Africa is a major net creditor to the world – but its assets are in the hands of a wealthy élite, protected by offshore secrecy; while the debts are shouldered by broad African populations.

Yet all rich countries suffer too. For example, European countries like Greece, Italy and Portugal have been brought to their knees partly by decades of tax evasion and state looting via offshore secrecy.

* British overseas territory or crown dependency. If Britain’s network were assessed together, it would be at the top.

A global industry has developed involving the world’s biggest banks, law practices, accounting firms and specialist providers who design and market secretive offshore structures for their tax- and law-dodging clients. ‘Competition’ between jurisdictions to provide secrecy facilities has, particularly since the era of financial globalisation really took off in the 1980s, become a central feature of global financial markets.

The problems go far beyond tax. In providing secrecy, the offshore world corrupts and distorts markets and investments, shaping them in ways that have nothing to do with efficiency. The secrecy world creates a criminogenic hothouse for multiple evils including fraud, tax cheating, escape from financial regulations, embezzlement, insider dealing, bribery, money laundering, and plenty more. It provides multiple ways for insiders to extract wealth at the expense of societies, creating political impunity and undermining the healthy ‘no taxation without representation’ bargain that has underpinned the growth of accountable modern nation states. Many poorer countries, deprived of tax and haemorrhaging capital into secrecy jurisdictions, rely on foreign aid handouts.

This hurts citizens of rich and poor countries alike.

What is the significance of this index?

In identifying the most important providers of international financial secrecy, the Financial Secrecy Index reveals that traditional stereotypes of tax havens are misconceived. The world’s most important providers of financial secrecy harbouring looted assets are mostly not small, palm-fringed islands as many suppose, but some of the world’s biggest and wealthiest countries. Rich OECD member countries and their satellites are the main recipients of or conduits for these illicit flows.

The implications for global power politics are clearly enormous, and help explain why for so many years international efforts to crack down on tax havens and financial secrecy were so ineffective, it is the recipients of these gigantic inflows that set the rules of the game.

Yet our analysis also reveals that recently things have genuinely started to improve. The global financial crisis and ensuing economic crisis, combined with recent activism and exposure of these problems by civil society actors and the media, and rising concerns about inequality in many countries, have created a set of political conditions unparalleled in history. The world’s politicians have been forced to take notice of tax havens. For the first time since we first created our index in 2009, we can say that something of a sea change is underway.

World leaders are now routinely talking about the scourges of financial secrecy and tax havens, and putting into place new mechanisms to tackle the problem. For the first time the G20 countries have mandated the OECD to put together a new global system of automatic information exchange to help countries find out about the cross-border holdings of their taxpayers and criminals. This scheme is now being rolled out, with first information due to be exchanged in 2017.

Yet of course these schemes are full of loopholes and shortcomings: many countries are planning to pay only lip service to them, if that — and many are actively seeking ways to undermine progress, with the help of a professional infrastructure of secrecy enablers. The edifice of global financial secrecy has been weakened – but it remains fully alive and hugely destructive. Despite what you may have read in the media, Swiss banking secrecy is far from dead. Without sustained political pressure from millions of people, the momentum could be lost.

The only realistic way to address these problems comprehensively is to tackle them at root: by directly confronting offshore secrecy and the global infrastructure that creates it. A first step towards this goal is to identify as accurately as possible the jurisdictions that make it their business to provide offshore secrecy.

This is what the FSI does. It is the product of years of detailed research by a dedicated team, and there is nothing else like it out there. We also have a set of unique reports outlining detailed offshore histories of the biggest players in the game.


Javanotes 7, introduction.#Introduction


introduction

Introduction

WELCOME TO the Seventh Edition of Introduction to Programming Using Java, a free, on-line textbook on introductory programming, which uses Java as the language of instruction. This book is directed mainly towards beginning programmers, although it might also be useful for experienced programmers who want to learn something about Java. It is certainly not meant to provide complete coverage of the Java language.

The seventh edition requires Java 7, with just a couple brief mentions of Java 8. Previous versions included Java applets on the web pages that make up this book, but the applets have been eliminated from this version. Earlier editions of the book are still available; see the preface for links.

You can the download this web site for use on your own computer. PDF, e-book , and print versions of the textbook are also available. The PDF that includes links might be the best way to read it on your computer. Links to the downloads can be found at the bottom of this page.

Readers are strongly encouraged to try out the sample programs as they read the book! You can download the source code separately or as part of the web site using the links below. See README file for information about how to compile and run the examples.

Short Table of Contents:

  • Full Table of Contents
  • Preface
  • Chapter 1: Overview: The Mental Landscape
  • Chapter 2: Programming in the Small I: Names and Things
  • Chapter 3: Programming in the Small II: Control
  • Chapter 4: Programming in the Large I: Subroutines
  • Chapter 5: Programming in the Large II: Objects and Classes
  • Chapter 6: Introduction to GUI Programming
  • Chapter 7: Arrays and ArrayLists
  • Chapter 8: Correctness, Robustness, Efficiency
  • Chapter 9: Linked Data Structures and Recursion
  • Chapter 10: Generic Programming and Collection Classes
  • Chapter 11: Advanced Input/Output: Streams, Files, and Networking
  • Chapter 12: Threads and Multiprocessing
  • Chapter 13: Advanced GUI Programming
  • Source Code for All Examples in this Book
  • Glossary
  • News and Errata

1996–2016, David J. Eck.

This work is licensed under a Creative Commons Attribution-Noncommercial-ShareAlike 3.0 License. (This license allows you to redistribute this book in unmodified form for non-commercial purposes. It allows you to make and distribute modified versions for non-commercial purposes, as long as you include an attribution to the original author, clearly describe the modifications that you have made, and distribute the modified work under the same license as the original. Permission might be given by the author for other uses. See the license for full details.)

Downloading And Other Links

  • Full Web Site Download:
    • http://math.hws.edu/eck/cs124/downloads/javanotes7.zip This “zip” archive contains a complete copy of the web site. It should be usable on almost any computer. Size: 4.3 Megabytes.
  • Source Code Downloads:
    • http://math.hws.edu/eck/cs124/downloads/javanotes7-example-programs.zip A zip archive of the “source” directory from the web site, which includes source code for sample programs from the text. Note that if you download the complete web site, then you already have a copy of the same source directory. See the README file. Size: 773 Kilobytes.
    • http://math.hws.edu/eck/cs124/downloads/javanotes7-exercise-solutions.zip A zip archive containing source code for all the end-of-chapter exercises. These have been extracted from the web pages that contain the solutions as a convenience. They are not included in the web site download. See the README file. Size: 322 Kilobytes.
  • PDF Downloads:
    • http://math.hws.edu/eck/cs124/downloads/javanotes7-linked.pdf a PDF version with internal links for navigation and external links to source code files, exercise solutions, and other resources that are not included in the PDF. Recommended for on-screen reading. Size: 6.3 Megabytes; 755 pages.
    • http://math.hws.edu/eck/cs124/downloads/javanotes7.pdf a PDF version without links, more suitable for printing. This PDF is in the format that is used for the printed version of the text, except that it also includes an appendix listing example programs and a glossary (since they would have exceeded the lulu.com page limit). Size: 5.9 Megabytes; 762 pages.
  • E-book Downloads.
    • http://math.hws.edu/eck/cs124/downloads/javanotes7.mobi, for Kindle.
    • http://math.hws.edu/eck/cs124/downloads/javanotes7.epub, for most other ebook readers.

      These should be considered experimental. Depending on the particular ebook reader that you use, there can be problems with rendering of long lines in program code sample. You might find that lines that are too long to fit across your screen are incorrectly split into multiple lines, or that the part that extends beyond the right margin is simply dropped. On some readers, you might be able to scroll horizontally to see the hidden text. The ebooks include answers to quizzes and exercises but do not include source code for sample programs; the sample programs can be downloaded separately, above.

  • Print Copies Available from Lulu.com:
    • Printed versions I have made this book available for purchase in printed versions from the print-on-demand publisher lulu.com. This is for convenience only, for those who would like to have a bound printout in a nice form. (Please do not feel obliged to buy the printed version; I do not make any money from it!) The entire book is available in a rather thick printed version at http://www.lulu.com/content/612392. It is also available in two parts as http://www.lulu.com/content/559884 and http://www.lulu.com/content/822314. Note that these printed books are the original Version 7, and they still contain errors that have been fixed in Version 7.0.2. See the on-line news page for a list of substantive errors.
  • Source Files for the Book
    • Complete Sources The complete source files that are used to produce both the web site and PDF versions of this book are available for download, but will be useful only to a very limited audience. See the end of the preface for more information and a link.

(1 August 2015, Version 7.0.1 released)

(19 March 2016, ebook downloads added)

(10 December 2016, Version 7.0.2 releaced)


Introduction#Introduction


Introduction

Navigation

Login Form

The Financial Secrecy Index ranks jurisdictions according to their secrecy and the scale of their offshore financial activities. A politically neutral ranking, it is a tool for understanding global financial secrecy, tax havens or secrecy jurisdictions, and illicit financial flows or capital flight.

The Financial Secrecy Index is released every two years and it was first launched in 2009. The latest Financial Secrecy Index was launched on November 2, 2015. The next Financial Secrecy Index will be released in January 2018.

Shining light into dark places

An estimated $21 to $32 trillion of private financial wealth is located, untaxed or lightly taxed, in secrecy jurisdictions around the world. Secrecy jurisdictions – a term we often use as an alternative to the more widely used term tax havens – use secrecy to attract illicit and illegitimate or abusive financial flows.

Illicit cross-border financial flows have been estimated at $1-1.6 trillion per year: dwarfing the US$135 billion or so in global foreign aid. Since the 1970s African countries alone have lost over $1 trillion in capital flight, while combined external debts are less than $200 billion. So Africa is a major net creditor to the world – but its assets are in the hands of a wealthy élite, protected by offshore secrecy; while the debts are shouldered by broad African populations.

Yet all rich countries suffer too. For example, European countries like Greece, Italy and Portugal have been brought to their knees partly by decades of tax evasion and state looting via offshore secrecy.

* British overseas territory or crown dependency. If Britain’s network were assessed together, it would be at the top.

A global industry has developed involving the world’s biggest banks, law practices, accounting firms and specialist providers who design and market secretive offshore structures for their tax- and law-dodging clients. ‘Competition’ between jurisdictions to provide secrecy facilities has, particularly since the era of financial globalisation really took off in the 1980s, become a central feature of global financial markets.

The problems go far beyond tax. In providing secrecy, the offshore world corrupts and distorts markets and investments, shaping them in ways that have nothing to do with efficiency. The secrecy world creates a criminogenic hothouse for multiple evils including fraud, tax cheating, escape from financial regulations, embezzlement, insider dealing, bribery, money laundering, and plenty more. It provides multiple ways for insiders to extract wealth at the expense of societies, creating political impunity and undermining the healthy ‘no taxation without representation’ bargain that has underpinned the growth of accountable modern nation states. Many poorer countries, deprived of tax and haemorrhaging capital into secrecy jurisdictions, rely on foreign aid handouts.

This hurts citizens of rich and poor countries alike.

What is the significance of this index?

In identifying the most important providers of international financial secrecy, the Financial Secrecy Index reveals that traditional stereotypes of tax havens are misconceived. The world’s most important providers of financial secrecy harbouring looted assets are mostly not small, palm-fringed islands as many suppose, but some of the world’s biggest and wealthiest countries. Rich OECD member countries and their satellites are the main recipients of or conduits for these illicit flows.

The implications for global power politics are clearly enormous, and help explain why for so many years international efforts to crack down on tax havens and financial secrecy were so ineffective, it is the recipients of these gigantic inflows that set the rules of the game.

Yet our analysis also reveals that recently things have genuinely started to improve. The global financial crisis and ensuing economic crisis, combined with recent activism and exposure of these problems by civil society actors and the media, and rising concerns about inequality in many countries, have created a set of political conditions unparalleled in history. The world’s politicians have been forced to take notice of tax havens. For the first time since we first created our index in 2009, we can say that something of a sea change is underway.

World leaders are now routinely talking about the scourges of financial secrecy and tax havens, and putting into place new mechanisms to tackle the problem. For the first time the G20 countries have mandated the OECD to put together a new global system of automatic information exchange to help countries find out about the cross-border holdings of their taxpayers and criminals. This scheme is now being rolled out, with first information due to be exchanged in 2017.

Yet of course these schemes are full of loopholes and shortcomings: many countries are planning to pay only lip service to them, if that — and many are actively seeking ways to undermine progress, with the help of a professional infrastructure of secrecy enablers. The edifice of global financial secrecy has been weakened – but it remains fully alive and hugely destructive. Despite what you may have read in the media, Swiss banking secrecy is far from dead. Without sustained political pressure from millions of people, the momentum could be lost.

The only realistic way to address these problems comprehensively is to tackle them at root: by directly confronting offshore secrecy and the global infrastructure that creates it. A first step towards this goal is to identify as accurately as possible the jurisdictions that make it their business to provide offshore secrecy.

This is what the FSI does. It is the product of years of detailed research by a dedicated team, and there is nothing else like it out there. We also have a set of unique reports outlining detailed offshore histories of the biggest players in the game.


Javanotes 7, introduction.#Introduction


introduction

Introduction

WELCOME TO the Seventh Edition of Introduction to Programming Using Java, a free, on-line textbook on introductory programming, which uses Java as the language of instruction. This book is directed mainly towards beginning programmers, although it might also be useful for experienced programmers who want to learn something about Java. It is certainly not meant to provide complete coverage of the Java language.

The seventh edition requires Java 7, with just a couple brief mentions of Java 8. Previous versions included Java applets on the web pages that make up this book, but the applets have been eliminated from this version. Earlier editions of the book are still available; see the preface for links.

You can the download this web site for use on your own computer. PDF, e-book , and print versions of the textbook are also available. The PDF that includes links might be the best way to read it on your computer. Links to the downloads can be found at the bottom of this page.

Readers are strongly encouraged to try out the sample programs as they read the book! You can download the source code separately or as part of the web site using the links below. See README file for information about how to compile and run the examples.

Short Table of Contents:

  • Full Table of Contents
  • Preface
  • Chapter 1: Overview: The Mental Landscape
  • Chapter 2: Programming in the Small I: Names and Things
  • Chapter 3: Programming in the Small II: Control
  • Chapter 4: Programming in the Large I: Subroutines
  • Chapter 5: Programming in the Large II: Objects and Classes
  • Chapter 6: Introduction to GUI Programming
  • Chapter 7: Arrays and ArrayLists
  • Chapter 8: Correctness, Robustness, Efficiency
  • Chapter 9: Linked Data Structures and Recursion
  • Chapter 10: Generic Programming and Collection Classes
  • Chapter 11: Advanced Input/Output: Streams, Files, and Networking
  • Chapter 12: Threads and Multiprocessing
  • Chapter 13: Advanced GUI Programming
  • Source Code for All Examples in this Book
  • Glossary
  • News and Errata

1996–2016, David J. Eck.

This work is licensed under a Creative Commons Attribution-Noncommercial-ShareAlike 3.0 License. (This license allows you to redistribute this book in unmodified form for non-commercial purposes. It allows you to make and distribute modified versions for non-commercial purposes, as long as you include an attribution to the original author, clearly describe the modifications that you have made, and distribute the modified work under the same license as the original. Permission might be given by the author for other uses. See the license for full details.)

Downloading And Other Links

  • Full Web Site Download:
    • http://math.hws.edu/eck/cs124/downloads/javanotes7.zip This “zip” archive contains a complete copy of the web site. It should be usable on almost any computer. Size: 4.3 Megabytes.
  • Source Code Downloads:
    • http://math.hws.edu/eck/cs124/downloads/javanotes7-example-programs.zip A zip archive of the “source” directory from the web site, which includes source code for sample programs from the text. Note that if you download the complete web site, then you already have a copy of the same source directory. See the README file. Size: 773 Kilobytes.
    • http://math.hws.edu/eck/cs124/downloads/javanotes7-exercise-solutions.zip A zip archive containing source code for all the end-of-chapter exercises. These have been extracted from the web pages that contain the solutions as a convenience. They are not included in the web site download. See the README file. Size: 322 Kilobytes.
  • PDF Downloads:
    • http://math.hws.edu/eck/cs124/downloads/javanotes7-linked.pdf a PDF version with internal links for navigation and external links to source code files, exercise solutions, and other resources that are not included in the PDF. Recommended for on-screen reading. Size: 6.3 Megabytes; 755 pages.
    • http://math.hws.edu/eck/cs124/downloads/javanotes7.pdf a PDF version without links, more suitable for printing. This PDF is in the format that is used for the printed version of the text, except that it also includes an appendix listing example programs and a glossary (since they would have exceeded the lulu.com page limit). Size: 5.9 Megabytes; 762 pages.
  • E-book Downloads.
    • http://math.hws.edu/eck/cs124/downloads/javanotes7.mobi, for Kindle.
    • http://math.hws.edu/eck/cs124/downloads/javanotes7.epub, for most other ebook readers.

      These should be considered experimental. Depending on the particular ebook reader that you use, there can be problems with rendering of long lines in program code sample. You might find that lines that are too long to fit across your screen are incorrectly split into multiple lines, or that the part that extends beyond the right margin is simply dropped. On some readers, you might be able to scroll horizontally to see the hidden text. The ebooks include answers to quizzes and exercises but do not include source code for sample programs; the sample programs can be downloaded separately, above.

  • Print Copies Available from Lulu.com:
    • Printed versions I have made this book available for purchase in printed versions from the print-on-demand publisher lulu.com. This is for convenience only, for those who would like to have a bound printout in a nice form. (Please do not feel obliged to buy the printed version; I do not make any money from it!) The entire book is available in a rather thick printed version at http://www.lulu.com/content/612392. It is also available in two parts as http://www.lulu.com/content/559884 and http://www.lulu.com/content/822314. Note that these printed books are the original Version 7, and they still contain errors that have been fixed in Version 7.0.2. See the on-line news page for a list of substantive errors.
  • Source Files for the Book
    • Complete Sources The complete source files that are used to produce both the web site and PDF versions of this book are available for download, but will be useful only to a very limited audience. See the end of the preface for more information and a link.

(1 August 2015, Version 7.0.1 released)

(19 March 2016, ebook downloads added)

(10 December 2016, Version 7.0.2 releaced)


Javanotes 7, introduction.#Introduction


introduction

Introduction

WELCOME TO the Seventh Edition of Introduction to Programming Using Java, a free, on-line textbook on introductory programming, which uses Java as the language of instruction. This book is directed mainly towards beginning programmers, although it might also be useful for experienced programmers who want to learn something about Java. It is certainly not meant to provide complete coverage of the Java language.

The seventh edition requires Java 7, with just a couple brief mentions of Java 8. Previous versions included Java applets on the web pages that make up this book, but the applets have been eliminated from this version. Earlier editions of the book are still available; see the preface for links.

You can the download this web site for use on your own computer. PDF, e-book , and print versions of the textbook are also available. The PDF that includes links might be the best way to read it on your computer. Links to the downloads can be found at the bottom of this page.

Readers are strongly encouraged to try out the sample programs as they read the book! You can download the source code separately or as part of the web site using the links below. See README file for information about how to compile and run the examples.

Short Table of Contents:

  • Full Table of Contents
  • Preface
  • Chapter 1: Overview: The Mental Landscape
  • Chapter 2: Programming in the Small I: Names and Things
  • Chapter 3: Programming in the Small II: Control
  • Chapter 4: Programming in the Large I: Subroutines
  • Chapter 5: Programming in the Large II: Objects and Classes
  • Chapter 6: Introduction to GUI Programming
  • Chapter 7: Arrays and ArrayLists
  • Chapter 8: Correctness, Robustness, Efficiency
  • Chapter 9: Linked Data Structures and Recursion
  • Chapter 10: Generic Programming and Collection Classes
  • Chapter 11: Advanced Input/Output: Streams, Files, and Networking
  • Chapter 12: Threads and Multiprocessing
  • Chapter 13: Advanced GUI Programming
  • Source Code for All Examples in this Book
  • Glossary
  • News and Errata

1996–2016, David J. Eck.

This work is licensed under a Creative Commons Attribution-Noncommercial-ShareAlike 3.0 License. (This license allows you to redistribute this book in unmodified form for non-commercial purposes. It allows you to make and distribute modified versions for non-commercial purposes, as long as you include an attribution to the original author, clearly describe the modifications that you have made, and distribute the modified work under the same license as the original. Permission might be given by the author for other uses. See the license for full details.)

Downloading And Other Links

  • Full Web Site Download:
    • http://math.hws.edu/eck/cs124/downloads/javanotes7.zip This “zip” archive contains a complete copy of the web site. It should be usable on almost any computer. Size: 4.3 Megabytes.
  • Source Code Downloads:
    • http://math.hws.edu/eck/cs124/downloads/javanotes7-example-programs.zip A zip archive of the “source” directory from the web site, which includes source code for sample programs from the text. Note that if you download the complete web site, then you already have a copy of the same source directory. See the README file. Size: 773 Kilobytes.
    • http://math.hws.edu/eck/cs124/downloads/javanotes7-exercise-solutions.zip A zip archive containing source code for all the end-of-chapter exercises. These have been extracted from the web pages that contain the solutions as a convenience. They are not included in the web site download. See the README file. Size: 322 Kilobytes.
  • PDF Downloads:
    • http://math.hws.edu/eck/cs124/downloads/javanotes7-linked.pdf a PDF version with internal links for navigation and external links to source code files, exercise solutions, and other resources that are not included in the PDF. Recommended for on-screen reading. Size: 6.3 Megabytes; 755 pages.
    • http://math.hws.edu/eck/cs124/downloads/javanotes7.pdf a PDF version without links, more suitable for printing. This PDF is in the format that is used for the printed version of the text, except that it also includes an appendix listing example programs and a glossary (since they would have exceeded the lulu.com page limit). Size: 5.9 Megabytes; 762 pages.
  • E-book Downloads.
    • http://math.hws.edu/eck/cs124/downloads/javanotes7.mobi, for Kindle.
    • http://math.hws.edu/eck/cs124/downloads/javanotes7.epub, for most other ebook readers.

      These should be considered experimental. Depending on the particular ebook reader that you use, there can be problems with rendering of long lines in program code sample. You might find that lines that are too long to fit across your screen are incorrectly split into multiple lines, or that the part that extends beyond the right margin is simply dropped. On some readers, you might be able to scroll horizontally to see the hidden text. The ebooks include answers to quizzes and exercises but do not include source code for sample programs; the sample programs can be downloaded separately, above.

  • Print Copies Available from Lulu.com:
    • Printed versions I have made this book available for purchase in printed versions from the print-on-demand publisher lulu.com. This is for convenience only, for those who would like to have a bound printout in a nice form. (Please do not feel obliged to buy the printed version; I do not make any money from it!) The entire book is available in a rather thick printed version at http://www.lulu.com/content/612392. It is also available in two parts as http://www.lulu.com/content/559884 and http://www.lulu.com/content/822314. Note that these printed books are the original Version 7, and they still contain errors that have been fixed in Version 7.0.2. See the on-line news page for a list of substantive errors.
  • Source Files for the Book
    • Complete Sources The complete source files that are used to produce both the web site and PDF versions of this book are available for download, but will be useful only to a very limited audience. See the end of the preface for more information and a link.

(1 August 2015, Version 7.0.1 released)

(19 March 2016, ebook downloads added)

(10 December 2016, Version 7.0.2 releaced)


Javanotes 7, introduction.#Introduction


introduction

Introduction

WELCOME TO the Seventh Edition of Introduction to Programming Using Java, a free, on-line textbook on introductory programming, which uses Java as the language of instruction. This book is directed mainly towards beginning programmers, although it might also be useful for experienced programmers who want to learn something about Java. It is certainly not meant to provide complete coverage of the Java language.

The seventh edition requires Java 7, with just a couple brief mentions of Java 8. Previous versions included Java applets on the web pages that make up this book, but the applets have been eliminated from this version. Earlier editions of the book are still available; see the preface for links.

You can the download this web site for use on your own computer. PDF, e-book , and print versions of the textbook are also available. The PDF that includes links might be the best way to read it on your computer. Links to the downloads can be found at the bottom of this page.

Readers are strongly encouraged to try out the sample programs as they read the book! You can download the source code separately or as part of the web site using the links below. See README file for information about how to compile and run the examples.

Short Table of Contents:

  • Full Table of Contents
  • Preface
  • Chapter 1: Overview: The Mental Landscape
  • Chapter 2: Programming in the Small I: Names and Things
  • Chapter 3: Programming in the Small II: Control
  • Chapter 4: Programming in the Large I: Subroutines
  • Chapter 5: Programming in the Large II: Objects and Classes
  • Chapter 6: Introduction to GUI Programming
  • Chapter 7: Arrays and ArrayLists
  • Chapter 8: Correctness, Robustness, Efficiency
  • Chapter 9: Linked Data Structures and Recursion
  • Chapter 10: Generic Programming and Collection Classes
  • Chapter 11: Advanced Input/Output: Streams, Files, and Networking
  • Chapter 12: Threads and Multiprocessing
  • Chapter 13: Advanced GUI Programming
  • Source Code for All Examples in this Book
  • Glossary
  • News and Errata

1996–2016, David J. Eck.

This work is licensed under a Creative Commons Attribution-Noncommercial-ShareAlike 3.0 License. (This license allows you to redistribute this book in unmodified form for non-commercial purposes. It allows you to make and distribute modified versions for non-commercial purposes, as long as you include an attribution to the original author, clearly describe the modifications that you have made, and distribute the modified work under the same license as the original. Permission might be given by the author for other uses. See the license for full details.)

Downloading And Other Links

  • Full Web Site Download:
    • http://math.hws.edu/eck/cs124/downloads/javanotes7.zip This “zip” archive contains a complete copy of the web site. It should be usable on almost any computer. Size: 4.3 Megabytes.
  • Source Code Downloads:
    • http://math.hws.edu/eck/cs124/downloads/javanotes7-example-programs.zip A zip archive of the “source” directory from the web site, which includes source code for sample programs from the text. Note that if you download the complete web site, then you already have a copy of the same source directory. See the README file. Size: 773 Kilobytes.
    • http://math.hws.edu/eck/cs124/downloads/javanotes7-exercise-solutions.zip A zip archive containing source code for all the end-of-chapter exercises. These have been extracted from the web pages that contain the solutions as a convenience. They are not included in the web site download. See the README file. Size: 322 Kilobytes.
  • PDF Downloads:
    • http://math.hws.edu/eck/cs124/downloads/javanotes7-linked.pdf a PDF version with internal links for navigation and external links to source code files, exercise solutions, and other resources that are not included in the PDF. Recommended for on-screen reading. Size: 6.3 Megabytes; 755 pages.
    • http://math.hws.edu/eck/cs124/downloads/javanotes7.pdf a PDF version without links, more suitable for printing. This PDF is in the format that is used for the printed version of the text, except that it also includes an appendix listing example programs and a glossary (since they would have exceeded the lulu.com page limit). Size: 5.9 Megabytes; 762 pages.
  • E-book Downloads.
    • http://math.hws.edu/eck/cs124/downloads/javanotes7.mobi, for Kindle.
    • http://math.hws.edu/eck/cs124/downloads/javanotes7.epub, for most other ebook readers.

      These should be considered experimental. Depending on the particular ebook reader that you use, there can be problems with rendering of long lines in program code sample. You might find that lines that are too long to fit across your screen are incorrectly split into multiple lines, or that the part that extends beyond the right margin is simply dropped. On some readers, you might be able to scroll horizontally to see the hidden text. The ebooks include answers to quizzes and exercises but do not include source code for sample programs; the sample programs can be downloaded separately, above.

  • Print Copies Available from Lulu.com:
    • Printed versions I have made this book available for purchase in printed versions from the print-on-demand publisher lulu.com. This is for convenience only, for those who would like to have a bound printout in a nice form. (Please do not feel obliged to buy the printed version; I do not make any money from it!) The entire book is available in a rather thick printed version at http://www.lulu.com/content/612392. It is also available in two parts as http://www.lulu.com/content/559884 and http://www.lulu.com/content/822314. Note that these printed books are the original Version 7, and they still contain errors that have been fixed in Version 7.0.2. See the on-line news page for a list of substantive errors.
  • Source Files for the Book
    • Complete Sources The complete source files that are used to produce both the web site and PDF versions of this book are available for download, but will be useful only to a very limited audience. See the end of the preface for more information and a link.

(1 August 2015, Version 7.0.1 released)

(19 March 2016, ebook downloads added)

(10 December 2016, Version 7.0.2 releaced)


Javanotes 7, introduction.#Introduction


introduction

Introduction

WELCOME TO the Seventh Edition of Introduction to Programming Using Java, a free, on-line textbook on introductory programming, which uses Java as the language of instruction. This book is directed mainly towards beginning programmers, although it might also be useful for experienced programmers who want to learn something about Java. It is certainly not meant to provide complete coverage of the Java language.

The seventh edition requires Java 7, with just a couple brief mentions of Java 8. Previous versions included Java applets on the web pages that make up this book, but the applets have been eliminated from this version. Earlier editions of the book are still available; see the preface for links.

You can the download this web site for use on your own computer. PDF, e-book , and print versions of the textbook are also available. The PDF that includes links might be the best way to read it on your computer. Links to the downloads can be found at the bottom of this page.

Readers are strongly encouraged to try out the sample programs as they read the book! You can download the source code separately or as part of the web site using the links below. See README file for information about how to compile and run the examples.

Short Table of Contents:

  • Full Table of Contents
  • Preface
  • Chapter 1: Overview: The Mental Landscape
  • Chapter 2: Programming in the Small I: Names and Things
  • Chapter 3: Programming in the Small II: Control
  • Chapter 4: Programming in the Large I: Subroutines
  • Chapter 5: Programming in the Large II: Objects and Classes
  • Chapter 6: Introduction to GUI Programming
  • Chapter 7: Arrays and ArrayLists
  • Chapter 8: Correctness, Robustness, Efficiency
  • Chapter 9: Linked Data Structures and Recursion
  • Chapter 10: Generic Programming and Collection Classes
  • Chapter 11: Advanced Input/Output: Streams, Files, and Networking
  • Chapter 12: Threads and Multiprocessing
  • Chapter 13: Advanced GUI Programming
  • Source Code for All Examples in this Book
  • Glossary
  • News and Errata

1996–2016, David J. Eck.

This work is licensed under a Creative Commons Attribution-Noncommercial-ShareAlike 3.0 License. (This license allows you to redistribute this book in unmodified form for non-commercial purposes. It allows you to make and distribute modified versions for non-commercial purposes, as long as you include an attribution to the original author, clearly describe the modifications that you have made, and distribute the modified work under the same license as the original. Permission might be given by the author for other uses. See the license for full details.)

Downloading And Other Links

  • Full Web Site Download:
    • http://math.hws.edu/eck/cs124/downloads/javanotes7.zip This “zip” archive contains a complete copy of the web site. It should be usable on almost any computer. Size: 4.3 Megabytes.
  • Source Code Downloads:
    • http://math.hws.edu/eck/cs124/downloads/javanotes7-example-programs.zip A zip archive of the “source” directory from the web site, which includes source code for sample programs from the text. Note that if you download the complete web site, then you already have a copy of the same source directory. See the README file. Size: 773 Kilobytes.
    • http://math.hws.edu/eck/cs124/downloads/javanotes7-exercise-solutions.zip A zip archive containing source code for all the end-of-chapter exercises. These have been extracted from the web pages that contain the solutions as a convenience. They are not included in the web site download. See the README file. Size: 322 Kilobytes.
  • PDF Downloads:
    • http://math.hws.edu/eck/cs124/downloads/javanotes7-linked.pdf a PDF version with internal links for navigation and external links to source code files, exercise solutions, and other resources that are not included in the PDF. Recommended for on-screen reading. Size: 6.3 Megabytes; 755 pages.
    • http://math.hws.edu/eck/cs124/downloads/javanotes7.pdf a PDF version without links, more suitable for printing. This PDF is in the format that is used for the printed version of the text, except that it also includes an appendix listing example programs and a glossary (since they would have exceeded the lulu.com page limit). Size: 5.9 Megabytes; 762 pages.
  • E-book Downloads.
    • http://math.hws.edu/eck/cs124/downloads/javanotes7.mobi, for Kindle.
    • http://math.hws.edu/eck/cs124/downloads/javanotes7.epub, for most other ebook readers.

      These should be considered experimental. Depending on the particular ebook reader that you use, there can be problems with rendering of long lines in program code sample. You might find that lines that are too long to fit across your screen are incorrectly split into multiple lines, or that the part that extends beyond the right margin is simply dropped. On some readers, you might be able to scroll horizontally to see the hidden text. The ebooks include answers to quizzes and exercises but do not include source code for sample programs; the sample programs can be downloaded separately, above.

  • Print Copies Available from Lulu.com:
    • Printed versions I have made this book available for purchase in printed versions from the print-on-demand publisher lulu.com. This is for convenience only, for those who would like to have a bound printout in a nice form. (Please do not feel obliged to buy the printed version; I do not make any money from it!) The entire book is available in a rather thick printed version at http://www.lulu.com/content/612392. It is also available in two parts as http://www.lulu.com/content/559884 and http://www.lulu.com/content/822314. Note that these printed books are the original Version 7, and they still contain errors that have been fixed in Version 7.0.2. See the on-line news page for a list of substantive errors.
  • Source Files for the Book
    • Complete Sources The complete source files that are used to produce both the web site and PDF versions of this book are available for download, but will be useful only to a very limited audience. See the end of the preface for more information and a link.

(1 August 2015, Version 7.0.1 released)

(19 March 2016, ebook downloads added)

(10 December 2016, Version 7.0.2 releaced)


Introduction#Introduction


Introduction

Navigation

Login Form

The Financial Secrecy Index ranks jurisdictions according to their secrecy and the scale of their offshore financial activities. A politically neutral ranking, it is a tool for understanding global financial secrecy, tax havens or secrecy jurisdictions, and illicit financial flows or capital flight.

The Financial Secrecy Index is released every two years and it was first launched in 2009. The latest Financial Secrecy Index was launched on November 2, 2015. The next Financial Secrecy Index will be released in January 2018.

Shining light into dark places

An estimated $21 to $32 trillion of private financial wealth is located, untaxed or lightly taxed, in secrecy jurisdictions around the world. Secrecy jurisdictions – a term we often use as an alternative to the more widely used term tax havens – use secrecy to attract illicit and illegitimate or abusive financial flows.

Illicit cross-border financial flows have been estimated at $1-1.6 trillion per year: dwarfing the US$135 billion or so in global foreign aid. Since the 1970s African countries alone have lost over $1 trillion in capital flight, while combined external debts are less than $200 billion. So Africa is a major net creditor to the world – but its assets are in the hands of a wealthy élite, protected by offshore secrecy; while the debts are shouldered by broad African populations.

Yet all rich countries suffer too. For example, European countries like Greece, Italy and Portugal have been brought to their knees partly by decades of tax evasion and state looting via offshore secrecy.

* British overseas territory or crown dependency. If Britain’s network were assessed together, it would be at the top.

A global industry has developed involving the world’s biggest banks, law practices, accounting firms and specialist providers who design and market secretive offshore structures for their tax- and law-dodging clients. ‘Competition’ between jurisdictions to provide secrecy facilities has, particularly since the era of financial globalisation really took off in the 1980s, become a central feature of global financial markets.

The problems go far beyond tax. In providing secrecy, the offshore world corrupts and distorts markets and investments, shaping them in ways that have nothing to do with efficiency. The secrecy world creates a criminogenic hothouse for multiple evils including fraud, tax cheating, escape from financial regulations, embezzlement, insider dealing, bribery, money laundering, and plenty more. It provides multiple ways for insiders to extract wealth at the expense of societies, creating political impunity and undermining the healthy ‘no taxation without representation’ bargain that has underpinned the growth of accountable modern nation states. Many poorer countries, deprived of tax and haemorrhaging capital into secrecy jurisdictions, rely on foreign aid handouts.

This hurts citizens of rich and poor countries alike.

What is the significance of this index?

In identifying the most important providers of international financial secrecy, the Financial Secrecy Index reveals that traditional stereotypes of tax havens are misconceived. The world’s most important providers of financial secrecy harbouring looted assets are mostly not small, palm-fringed islands as many suppose, but some of the world’s biggest and wealthiest countries. Rich OECD member countries and their satellites are the main recipients of or conduits for these illicit flows.

The implications for global power politics are clearly enormous, and help explain why for so many years international efforts to crack down on tax havens and financial secrecy were so ineffective, it is the recipients of these gigantic inflows that set the rules of the game.

Yet our analysis also reveals that recently things have genuinely started to improve. The global financial crisis and ensuing economic crisis, combined with recent activism and exposure of these problems by civil society actors and the media, and rising concerns about inequality in many countries, have created a set of political conditions unparalleled in history. The world’s politicians have been forced to take notice of tax havens. For the first time since we first created our index in 2009, we can say that something of a sea change is underway.

World leaders are now routinely talking about the scourges of financial secrecy and tax havens, and putting into place new mechanisms to tackle the problem. For the first time the G20 countries have mandated the OECD to put together a new global system of automatic information exchange to help countries find out about the cross-border holdings of their taxpayers and criminals. This scheme is now being rolled out, with first information due to be exchanged in 2017.

Yet of course these schemes are full of loopholes and shortcomings: many countries are planning to pay only lip service to them, if that — and many are actively seeking ways to undermine progress, with the help of a professional infrastructure of secrecy enablers. The edifice of global financial secrecy has been weakened – but it remains fully alive and hugely destructive. Despite what you may have read in the media, Swiss banking secrecy is far from dead. Without sustained political pressure from millions of people, the momentum could be lost.

The only realistic way to address these problems comprehensively is to tackle them at root: by directly confronting offshore secrecy and the global infrastructure that creates it. A first step towards this goal is to identify as accurately as possible the jurisdictions that make it their business to provide offshore secrecy.

This is what the FSI does. It is the product of years of detailed research by a dedicated team, and there is nothing else like it out there. We also have a set of unique reports outlining detailed offshore histories of the biggest players in the game.