Java第三章总结

目录

3.1 程序结构

3.2 条件语句

if条件语句

switch多分支语句

3.3 循环语句

while循环语句

do...while循环语句

while与do...whlie比较

for循环语句

foreach语句

循环语句的嵌套

3.4 跳转语句

break语句

continue语句


3.1程序结构

顺序结构.选择结构和循环结构是结构化程序设计的3种基本结构是各种复杂程序的基本构造单元

顺序结构是程序中最简单最基本的流程控制,没有特定的语法结构,按照代码的先后顺序,依次执行,程序中大多数的代码都是这样执行的。

分支结构 (if, switch)

循环结构 (for, while, do…while)


 3.2 条件语句

if条件语句

if语句是判断句其后面的表达式要么为true要么为false。

如果if后面的布尔表达式为true那么执行其后的语句,如果为false则不执行后面的语句

1.格式:

  if ( 关系表达式 ) {

  语句体 ;

  }

2.格式:
  if ( 关系表达式 ) {
  语句体 1 ;
  } else {
  语句体 2 ;
  }
 

3. 格式:
    if ( 关系表达式 1 ) {
    语句体 1 ;
    } else if ( 关系表达式 2 ) {
    语句体 2 ;
    }
    …
    else {
    语句体 n + 1 ;
     }

public class test2 {
	public static void main(String[]args){
		if(true)//让判断条件永远为真
			System.out.println("我没有使用大括号");//没有大括号,直接跟在if语句之后
		if(true)//让判断条件永远为真
			System.out.println("我使用大括号");//输出语句大括号之内
	}
} 

 

 

 

 

public class test4 {
	public static void main(String[]args){
		int math=95;//声明int型局部变量,并赋给初值95
		int english=56;//声明int型局部变量,并赋给初值56
		if(math>60){//使用if语句判断math是否大于60
			System.out.println("数学及格了");//条件成立时输出的信息
		}
		else{
			System.out.println("数学没有及格");//条件不成立输出的信息
		}
		if(english>60){//判断英语成绩是否大于60
			System.out.println("英语及格了");//条件成立输出的信息
		}
		else{
			System.out.println("英语没有及格");//条件不成立输出的信息
		}
	}
 
}

}

 

switch多分支语句

格式:

switch ( 表达式 ) {
case 1 :
语句体 1 ;
break ;
case 2 :
语句体 2 ;
break ;
...
default :
语句体 n + 1 ;
break ;
}
 

import java.util.Scanner;
 
public class test6 {
 
	public static void main(String[] args) {
		int iYear;//创建整型变量,保存输入的年份
		Scanner sc=new Scanner(System.in);//创建扫描器
		System.out.println("please input number");//输出内容
		iYear=sc.nextInt();//控制台输入一个数字
		if(iYear%4==0){//如果能被4整除
			if(iYear%100==0){//如果能被100整除
				if(iYear%400==0)//如果能被400整除
					System.out.println("It is a leap year");//是闰年
				else
					System.out.println("It is not a leap year");//不是闰年
			}else
				System.out.println("It is a leap year");//是闰年
		}else
			System.out.println("It is not a leap year");//不是闰年
 
	}
 

}

 

 

import java.util.Scanner;
 
public class test7 {
 
	public static void main(String[] args) {
	int iYear;//创建整型变量,保存输入的年份
	Scanner sc=new Scanner(System.in);//创建扫描器
	System.out.println("please input number ");//提示语
	iYear=sc.nextInt();//控制台输入一个数字
	if(iYear%4==0&&iYear%100!=0||iYear%400==0)//如果iYear可以被4整除并且不能被100整除,或者iYear可以被400整除
		System.out.println("It is a leap year");//是闰年
	else
		System.out.println("It is not a leap year");//不是闰年
 
	}
 
}

 

 

 执行流程:
首先计算出表达式的值
其次,和 case 依次比较,一旦有对应的值,就会执行相应的语句,在执行的过程中,遇到 break 就会结
束。
最后,如果所有的 case 都和表达式的值不匹配,就会执行 default 语句体部分,然后程序结束掉。
 

public class test8 {
 
	public static void main(String[] args) {
		int week=2;//定义int型变量week
		switch(week){//指定switch语句的表达式为变量week
		case 1://定义case语句中的常量为1
			System.out.println("Monday");//输出信息
			break;//终止执行
		case 2://定义case语句中的常量为2
			System.out.println("Tuesday");//输出信息
			break;//终止执行
		case 3://定义case语句中的常量为3
			System.out.println("Wednesday");//输出信息
			break;//终止执行
		case 4://定义case语句中的常量为4
			System.out.println("Thursday");//输出信息
			break;//终止执行
		case 5://定义case语句中的常量为5
			System.out.println("Friday");//输出信息
			break;//终止执行
		case 6://定义case语句中的常量为6
			System.out.println("Saturday");//输出信息
			break;//终止执行
		case 7://定义case语句中的常量为7
			System.out.println("sunday");//输出信息
			break;//终止执行
			default://default语句,如果week不是1~7之间的数字,则执行此行代码
				System.out.println("Sorry, I don't Know");//输出信息
								
		}
	}
 
}

 

public static void main ( String [] args ){
Scanner sc = new Scanner ( System . in );
System . out . println ( " 请输入星期数 :" );
int week = sc . nextInt ();
switch ( week ){
case 1 :
case 2 :
case 3 :
case 4 :
case 5 :
System . out . println ( " 工作日 " );
break ;
case 6 :
case 7 :
System . out . println ( " 休息日 " );
break ;
default :
System . out . println ( " 您的输入有误 " );
break ;
}
}
}


3.3循环语句

import java.util.Scanner;
 
public class test9 {
	public static void main(String[]args){
		Scanner sc=new Scanner(System.in);//输入数值
		System.out.println("请输入成绩:");//输出
		int grade=sc.nextInt();//将输入的值赋予给grade
		switch(grade){//指定switch语句的表达式为变量grade
		case 10://定义case语句中的常量为10
		case 9:System.out.println("成绩为优");break;//定义case语句中的常量为9并输出内容
		case 8:System.out.println("成绩为良");break;//定义case语句中的常量为8并输出内容
		case 7://定义case语句中的常量为7
		case 6:System.out.println("成绩为中");break;//定义case语句中的常量为6并输出内容
		case 5://定义case语句中的常量为5
		case 4://定义case语句中的常量为4
		case 3://定义case语句中的常量为3
		case 2://定义case语句中的常量为2
		case 1://定义case语句中的常量为1
		case 0:System.out.println("成绩为差");break;//定义case语句中的常量为0并输出内容
		default:System.out.println("成绩无效");//default语句,如果grade不是0~10之间的数字,则执行此行代码
		}
	}
 
}

 

public class test10 {
	public static void main(String[]args){
		String str="明日科技";//定义一字符串并赋值
		switch(str){//定义一个switch语句的表达式为str
		case"明日"://定义case语句中的常量1
			System.out.println("明日图书网www.mingribook.com");//输出信息
		case"明日科技"://定义case语句中的常量2
			System.out.println("吉林省明日科技有限公司");//输出信息
			break;
			default://default语句
				System.out.println("以上条件都不是。");//输出信息
			
		}
	}
 

 

 

 

while循环语句

  1. while(条件表达式) {

  2. 语句块;

  3. }

public class test11 {
 
	public static void main(String[] args) {
		int x=1;//定义int型变量x,并赋给初值
		int sum=0;//定义变量用于保存相加后的结果
		while(x<=10){
			sum=sum+x;//while循环语句,当变量满足条件表达式时执行循环体语句
			x++;
		}System.out.println("sum="+sum);//将变量sum输出
 
	}
} 

 

 

 

do...while循环语句

 

 

 

public class test14 {
 
	public static void main(String[] args) {
		int i=0,j=0;//定义两个变量
		System.out.println("before while j="+j);//输出
		while(i>1){//循环条件
			j++;//自加运算
		}System.out.println("after while j="+j);//输出
 
	}
 

}

 

 

while与do...whlie比较

可以通过设置起始循环条件不成立的循环语句来比较观察while与do...while的不同,而用表达式变量设置i<1,明显循环条件不成立;

for循环语句

  1. for(条件表达式1;条件表达式2;条件表达式3) {

  2. 语句块;

  3. }

public class test15 {
 
	public static void main(String[] args) {
		int sum=0;//定义一个变量存放相加的值
		int i;//定义一个控制循环次数的变量
		for(i=1;i<=100;i++){//for语句
			sum+=i;//计算1~100
			
		}
		System.out.println("the result:"+sum);//输出
	}
 
}

 

 

表达式形式功能举例
条件表达式 1赋值语句循环结构的初始部分,为循环变量赋初值int i=1
条件表达式 2条件语句循环结构的循环条件i>40
条件表达式 3迭代语句,通常使用
++ 或 -- 运算符
循环结构的迭代部分,通常用来修改循环
变量的值
i++

 

 for 循环和 while、do while 循环不一样:由于 while、do while 循环的循环迭代语句紧跟着循环体,因此如果循环体不能完全执行,如使用 continue 语句来结束本次循环,则循环迭代语句不会被执行。但 for 循环的循环迭代语句并没有与循环体放在一起,因此不管是否使用 continue 语句来结束本次循环,循环迭代语句一样会获得执行。
 

foreach语句

  1. for(类型 变量名:集合) {

  2. 语句块;

  3. }

 

public class test16 {
 
	public static void main(String[] args) {
		int arr[]={7,10,1};//声明一维数组
		System.out.println("一维数组中的元素分别为:");//输出信息
		for(int x:arr){//foreach语句,int x引用的变量,arr指定要循环遍历的数组,最后将x输出
			System.out.println(x);//输出x的值
		}
	}
 }

 

 

 其中,“类型”为集合元素的类型,“变量名”表示集合中的每一个元素,“集合”是被遍历的集合对象或数组。每执行一次循环语句,循环变量就读取集合中的一个元素

 1. // 声明并初始化数组
 2. int[] numbers = { 43, 32, 53, 54, 75, 7, 10 };
 3. System.out.println("----for----");
 4. // for语句
 5. for (int i = 0; i < numbers.length; i++) {
 6. System.out.println("Count is:" + numbers[i]);
 7. }

需首先初始化数组来表示。

循环语句的嵌套

循环有for.while.do.....while三种方式,三种循环可以互相嵌套列。

  

 

public class test17 {
 
	public static void main(String[] args) {
		int i,j;//创建两个整数变量
		for(i=1;i<10;i++){//输出9行
			for(j=1;j<i+1;j++){//输出与行数相等的列
				System.out.println(j+"*"+i+"="+i*j+"\t");//输出信息
			}
			System.out.println();//输出信息
		}
	}
 
}

 


 

3.4 跳转语句

break语句

使用break语句直接强行退出循环(break不带标签)

public class test18 {
 
	public static void main(String[] args) {
		for(int i=1;i<20;i++){//for语句控制循环次数
			if(i%2==0){//如果i是偶数
				System.out.println(i);//输出i的值
				break;//跳出下一次循环
			}
		}
		System.out.println("---end---");//输出
	}
 
}

 

 

public class test19 {
 
	public static void main(String[] args) {
		for(int i=0;i<3;i++){//外循环
			for(int j=0;j<6;j++){//内循环
				if(j==4){//如果j等于4的时候就结束内部循环
					break;//跳出内循环
				}
				System.out.println("i="+i+"j="+j);//输出内容
			}
		}
 
	}
 
}

 

 

continue语句

continue语句则是针对break语句的补充,不是立即跳出循环体语句而且跳过本次循环结束前的语句,回到循环的条件测试部分,重新开始执行循环。continue 语句类似于 break 语句,但它只能出现在循环体中。它与 break 语句的区别在于:continue 并不是中断循环语句,而是中止当前迭代的循环,进入下一次的迭代。简单来讲,continue 是忽略循环语句的当次循环。

public class test20 {
 
	public static void main(String[] args) {
		Loop:for(int i=0;i<3;i++){//在for循环前用标签标记
			for(int j=0;j<6;j++){//内循环
				if(j==4){//如果j等于4的时候就结束外层循环
					break Loop;//跳出Loop标签标记的循环体
				}
				System.out.println("i="+i+"j="+j);//输出
			}
		}
	}
 }

 

 

public class test21 {
 
	public static void main(String[] args) {
		for(int i=1;i<20;i++){//控制循环次数
			if(i%2!=0){//如果i不是偶数
				continue;//跳出下一循环
			}
			System.out.println(i);//输出i的值
		}
 
	}
} 

 

 

跳转控制语句(break)
跳出循环,结束循环
跳转控制语句(continue)
跳过本次循环,继续下次循环
注意: continue只能在循环中进行使用

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值