条件语句
1.if语句
(1)if(条件表达式){
执行语句
}
(2)if(条件表达式){
执行语句
}else{
执行语句
}
(3)if(表达式){
执行语句
}else if(表达式){
执行语句
}else if(表达式){
执行语句
}
....
else{
执行语句
}
2.switch分支语句
switch(表达式){
case 常量1:
执行语句
break;
case 常量2:
执行语句
break;
case 常量3:
执行语句
break;
...
default:
执行语句
break;
}
a.表达式的结果可以是整数、字符型和字符串
b.常量必须和表达式的类型一致并且各不相同
if语句和switch语句的区别:如果对同一个变量的不同取值做判断条件时,使用switch语句效率要高一些,
如果做复杂的判断,if语句要更广泛实用。
循环语句
1.for循环
for(表达式1;表达式2;表达式3){
执行语句
}
表达式1用于初始化循环控制变量的值,只在循环开始时执行一次
表达式2循环条件表达式,类型为boolean
表达式3改变循环控制变量的值
特殊for循环语法格式:无限循环:
for(;;){
执行语句
}
可以用break跳出循环:
for(;;){
if(x>10)
break;
x++;
}
2.while循环
(1)while(表达式){
执行语句
}
(2)do{
执行语句
}while(表达式);
(1)和(2)的区别:(1)满足条件,执行语句执行,(2)执行语句至少执行一次,再判断条件
3.嵌套循环
在一个循环语句的循环体中又包含另一个完整的循环语句。
class NestLoop{
//打印九九乘法表
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.循环跳转
(1)continue
a.不带标号
只能用在for、while和do...while循环语句中
用于结束本次循环直接跳过循环体剩余的语句,进行下一次循环
class ContinueNull{
//判断100以内能被7整除的所有的数
public static void main(String[] args) {
for(int i=1;i<100;i++){
if(i%7!=0){
continue;
}
System.out.println(i);
这种情况下,continue语句不是跳过当前循环语句的一次循环,而是跳过标号的指定循环语句的一次 循环,然后判断指定标号的的循环条件,以决定是否执行标号指定的循环。
class ContinueToken{
//打印九九乘法表
public static void main(String[] args) {
outer:for(int i=1;i<=9;i++){
for(int j=1;j<=9;j++){
if(j>i){
System.out.println();
continue outer;
}
System.out.print(j+"*"+i+"="+j*i+"\t");
}
System.out.println();
}
}
}
(2)break
a.不带标号
终止break语句所在的整个循环
class BreakNull{
//求1~100的整数和
public static void main(String[] args) {
int sum=0;
int i=1;
while(true){
sum+=i++;
if(i>100){
System.out.println(sum);
break;
}
}
}
}
b.带标号
终止标号指定的循环
class BreakToken{
//当九九乘法表的积大于16时,终止外循环
public static void main(String[] args) {
outer:for(int i=1;i<=9;i++){
for(int j=1;j<=i;j++){
if(i*j>16){
break outer;
}
System.out.print(i+"*"+j+"="+i*j+"\t");
}
System.out.println();
}
}
}
continue语句和break语句的区别:continue语句只能用于循环语句中且只结束本次循环,
break语句可用于判断语句和循环语句中,用于循环语句中时终止整个循环语句。
1.if语句
(1)if(条件表达式){
执行语句
}
(2)if(条件表达式){
执行语句
}else{
执行语句
}
(3)if(表达式){
执行语句
}else if(表达式){
执行语句
}else if(表达式){
执行语句
}
....
else{
执行语句
}
2.switch分支语句
switch(表达式){
case 常量1:
执行语句
break;
case 常量2:
执行语句
break;
case 常量3:
执行语句
break;
...
default:
执行语句
break;
}
a.表达式的结果可以是整数、字符型和字符串
b.常量必须和表达式的类型一致并且各不相同
if语句和switch语句的区别:如果对同一个变量的不同取值做判断条件时,使用switch语句效率要高一些,
如果做复杂的判断,if语句要更广泛实用。
循环语句
1.for循环
for(表达式1;表达式2;表达式3){
执行语句
}
表达式1用于初始化循环控制变量的值,只在循环开始时执行一次
表达式2循环条件表达式,类型为boolean
表达式3改变循环控制变量的值
特殊for循环语法格式:无限循环:
for(;;){
执行语句
}
可以用break跳出循环:
for(;;){
if(x>10)
break;
x++;
}
2.while循环
(1)while(表达式){
执行语句
}
(2)do{
执行语句
}while(表达式);
(1)和(2)的区别:(1)满足条件,执行语句执行,(2)执行语句至少执行一次,再判断条件
3.嵌套循环
在一个循环语句的循环体中又包含另一个完整的循环语句。
class NestLoop{
//打印九九乘法表
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.循环跳转
(1)continue
a.不带标号
只能用在for、while和do...while循环语句中
用于结束本次循环直接跳过循环体剩余的语句,进行下一次循环
class ContinueNull{
//判断100以内能被7整除的所有的数
public static void main(String[] args) {
for(int i=1;i<100;i++){
if(i%7!=0){
continue;
}
System.out.println(i);
}
}
}
b.带标号这种情况下,continue语句不是跳过当前循环语句的一次循环,而是跳过标号的指定循环语句的一次 循环,然后判断指定标号的的循环条件,以决定是否执行标号指定的循环。
class ContinueToken{
//打印九九乘法表
public static void main(String[] args) {
outer:for(int i=1;i<=9;i++){
for(int j=1;j<=9;j++){
if(j>i){
System.out.println();
continue outer;
}
System.out.print(j+"*"+i+"="+j*i+"\t");
}
System.out.println();
}
}
}
(2)break
a.不带标号
终止break语句所在的整个循环
class BreakNull{
//求1~100的整数和
public static void main(String[] args) {
int sum=0;
int i=1;
while(true){
sum+=i++;
if(i>100){
System.out.println(sum);
break;
}
}
}
}
b.带标号
终止标号指定的循环
class BreakToken{
//当九九乘法表的积大于16时,终止外循环
public static void main(String[] args) {
outer:for(int i=1;i<=9;i++){
for(int j=1;j<=i;j++){
if(i*j>16){
break outer;
}
System.out.print(i+"*"+j+"="+i*j+"\t");
}
System.out.println();
}
}
}
continue语句和break语句的区别:continue语句只能用于循环语句中且只结束本次循环,
break语句可用于判断语句和循环语句中,用于循环语句中时终止整个循环语句。