一、用户交互Scanner
JDK5推出java.util.Scanner,通过Scanner
Scanner类的next()和nextLine()方法获取输入的字符串,
在读取前一般使用hasNext()和hasNextLine()判断是否还有输入的数据。
1 Scanner s = new Scanner(System.in);
next()方法,读取有效字符串后,以Space键结束用户输入。
nextLine()方法,读取有效字符串后,以Enter键结束用户输入。
1、顺序结构
Java的基本结构就是顺序结构,语句与语句之间,框与框之间都是以从上到下的顺序执行的。
顺序结构是最简单的算法结构。
2、选择结构
if单选
1 if(布尔表达式){//ture }
if双选
1 if(布尔表达式){//ture } 2 else{//false }
if多选结构
1 if(布尔表达式1){//ture } 2 else if(布尔表达式2){//false } 3 else{//false }
嵌套的if结构
1 if(布尔表达式){ if(布尔表达式){//ture } }
switch结构
1 switch(expression) 2 { 3 case value:语句 4 break; 5 6 case value:语句 7 break; 8 9 default:语句 10 }
switch语句中的变量支持byte、short、int、char类型。
从JavaSE7开始支持String类型,同时case标签必须为字符串常量或字面量。
(从反编译的文档中可以看出,switch(expression)中的expression是使用了其hasCode。
当case中没有break结尾,会出现穿透现象,case语句会全部执行,直到结束。
3、循环结构
while
while(布尔表达式){//循环内容 } //表达式不成立跳出循环
do while
do {//循环内容 } while(布尔表达式)
//至少保证程序执行一次
for
1 for(初始值;条件判断;迭代){//循环内容 } 2 Java5引入了一种主要用于数组或几何的增强型for循环。 3 4 for(声明语句 : 表达式){//循环内容 } 5 6 int[] number = {10,20,30,40,50}; 7 //用于循环数组和集合 8 for(int x : number) 9 { 10 System.out.println(x); 11 }
Break & Continue&Goto
1 //break用于退出循环,不执行循环中的剩余语句 2 //continue用于终止某次循环过程,即跳过循环中未执行的语句,但循环继续 3 //goto的概念在java里用label标签的形式来表示 4 outer:for (int i = 0;i < 100;i++) 5 { 6 for (int j = 2;j < i/2;j++) 7 { 8 if (i % j == 0) 9 { 10 continue outer; 11 } 12 } 13 System.out.println(i); 14 }