一.顺序结构
Java的基本结构就是顺序结构,除非特别指明,否则就按照顺序一句一句执行。顺序结构是最简单的算法结构
public static void main ( String [ ] args) {
System . out. println ( "one" ) ;
System . out. println ( "two" ) ;
System . out. println ( "three" ) ;
System . out. println ( "four" ) ;
}
二.选择结构
1.if单选择结构
if语句对条件表达式进行一次测试,若测试为真,则执行下面的语句,否则跳过该语句。
if ( 布尔表达式) {
}
public static void main ( String [ ] args) {
String s1= "hello" ;
if ( s1. equals ( "hello" ) ) {
System . out. println ( "YES" ) ;
}
}
2.if双选择结构
我们需要有两个判断,需要一个双选择结构,所以就有了if-else结构。
if ( 布尔表达式) {
} else {
}
public static void main ( String [ ] args) {
boolean s2= false ;
if ( s2) {
System . out. println ( "true" ) ;
} else {
System . out. println ( "false" ) ;
}
}
3.if多选择结构
if 语句至多有 1 个 else 语句,else 语句在所有的 else if 语句之后。 if 语句可以有若干个 else if 语句,它们必须在 else 语句之前。 一旦其中一个 else if 语句检测为 true,其他的 else if 以及 else 语句都将跳过执行。
if ( 布尔表达式 1 ) {
} else if ( 布尔表达式 2 ) {
} else if ( 布尔表达式 3 ) {
} else {
}
public static void main ( String [ ] args) {
Scanner scanner = new Scanner ( System . in) ;
System . out. print ( "请输入成绩:" ) ;
int score = scanner. nextInt ( ) ;
if ( score> 100 ) {
System . out. println ( "成绩输入有误" ) ;
} else if ( score>= 60 ) {
System . out. println ( "成绩合格" ) ;
} else {
System . out. println ( "成绩不合格" ) ;
}
}
4.嵌套的if结构
if ( 布尔表达式 1 ) {
if ( 布尔表达式 2 ) {
} else {
}
} else {
}
5.switch多选择结构
switch ( expression) {
case value :
break ;
case value :
break ;
default :
}
switch 语句中的变量类型可以是: byte、short、int 或者 char。从 Java SE 7 开始,switch 支持字符串 String 类型了,同时 case 标签必须为字符串常量或字面量。
public static void main ( String [ ] args) {
String name= "张三" ;
switch ( name)
{
case "张三" :
System . out. println ( "张三在" ) ;
break ;
case "李四" :
System . out. println ( "李四在" ) ;
default :
System . out. println ( "未知姓名" ) ;
}
}
switch 语句可以拥有多个 case 语句。每个 case 后面跟一个要比较的值和冒号。case 语句中值的数据类型必须与变量的数据类型相同。 当变量的值与 case 语句的值相等时,那么 case 语句之后的语句开始执行,直到 break 语句出现 才会跳出 switch 语句。 当遇到 break 语句时,switch 语句终止。程序跳转到 switch 语句后面的语句执行。case 语句不必要包含 break 语句。如果没有 break 语句出现,程序会继续执行下一条 case 语句,直到出现 break 语句。
public static void main ( String [ ] args) {
int a= 2 ;
switch ( a)
{
case 1 :
System . out. println ( "我是1" ) ;
break ;
case 2 :
System . out. println ( "我是2" ) ;
case 3 :
System . out. println ( "我是3" ) ;
break ;
default :
System . out. println ( "跳出" ) ;
}
}
switch 语句可以包含一个 default 分支,该分支一般是switch语句的最后一个分支(可以在任何位置,但建议在最后一个)。default 在没有 case 语句的值和变量值相等的时候执行。
public static void main ( String [ ] args) {
char character= 'b' ;
switch ( character)
{
case 'a' :
System . out. println ( "我是a" ) ;
break ;
case 'b' :
System . out. println ( "我是b" ) ;
default :
System . out. println ( "跳出" ) ;
case 'c' :
System . out. println ( "我是c" ) ;
break ;
}
}
三.循坏结构
1.while循环
循环条件一直为true就会造成无限循环,正常的业务编程中应该尽量避免死循环。
while ( 布尔表达式 ) {
}
public static void main ( String [ ] args) {
int i = 0 ;
int sum = 0 ;
while ( i <= 100 ) {
sum = sum+ i;
i++ ;
}
System . out. println ( "Sum= " + sum) ;
}
2.do…while 循环
while先判断后执行。dowhile是先执行后判断。dowhile总是保证循环体会被至少执行一次,这是他们的主要差别。
do {
} while ( 布尔表达式) ;
public static void main ( String [ ] args) {
int i = 0 ;
int sum = 0 ;
do {
sum = sum+ i;
i++ ;
} while ( i <= 100 ) ;
System . out. println ( "Sum= " + sum) ;
}
3.for循环
for ( 初始化; 布尔表达式; 更新) {
}
public static void main ( String [ ] args) {
for ( int i = 1 ; i <= 9 ; i++ ) {
for ( int j = 1 ; j <= i; j++ ) {
System . out. print ( j + "*" + i + "=" + ( i * j) + "\t" ) ;
}
System . out. println ( ) ;
}
}
4.增强for循环
for ( 声明语句 : 表达式)
{
}
public static void main ( String [ ] args) {
int [ ] numbers = { 10 , 20 , 30 , 40 , 50 } ;
for ( int x : numbers ) {
System . out. print ( x ) ;
System . out. print ( "\t" ) ;
}
}