流程控制和函数

本文详细介绍了Java中的流程控制结构,包括三元运算符、if语句的多种形式、switch语句及其注意事项,并探讨了while、do-while和for循环的工作原理。此外,还讲解了break、continue和return的用法。最后,讨论了函数的概念,特别是方法的重载和参数列表的重要性。
摘要由CSDN通过智能技术生成

javaSE基础–流程控制**和函数

下面先说的是三元运算符,

条件表达式?表达式1:表达式2 ;

执行的流程是: 条件表达式为真的时候,执行表达式1,条件表达式为假的时候,执行表达式2.

	//表达式1和表达式2的类型只能是同一种
	String s=(7>3)?"对的":"错的";
	System.out.println(s);
	// 表达式1和表达式2的类型不是同一种
	System.out.println((4>5)?"不对":12);

求两个数的最大值:

	int a = 3 ;
	int b = 5 ;
	int max ;
	max = a > b ? a : b;
	System.out.println("max="+max);

求取三个数的最大值的两种方式

	int a=10;
	int b=5;
	int c=8;
    //方式1
	 int  temp=a>b?a:b;
	 int max1=temp>c?temp:c;
	 System.out.println(max1);
	 //方式2
	 int max2=(a>b?a:b)>c?(a>b?a:b):c;
	 System.out.println(max2);

下面说说我们的if语句

第一种格式: if(条件表达式) 条件表达式满足的话就执行语句

{语句}

第一种 if(条件表达式){

语句1;

} else {

语句2;}

执行流程就是条件表达式满足,执行语句1,条件表达式不满足,执行表达式2

第三种:

if(条件表达式){

语句1;

}else if(条件表达式){

语句2;

}else{

语句3;

}

执行流程就是表达式满足,去执行对应的语句,都不满足的话 执行elsel里面的语句

来一个符合的if语句的练习:

	//1,定义变量。记录数据。
	int week = 9;
	//2,通过判断结构语句if对该变量进行判断。
	if(week == 1){		
		//3,根据不同的条件,通过输出语句显示不同的结果。
		System.out.println(week+"对应的是星期一");	
    }	
	else if(week == 2)	{	
		System.out.println(week+"对应的是星期二");		}
	else if(week == 3){
		System.out.println(week+"对应的是星期三");}		
	else if(week == 4){		
		System.out.println(week+"对应的是星期四");}		
	else if(week == 5){		
		System.out.println(week+"对应的是星期五");	}	
	else if(week == 6)	{	
		System.out.println(week+"对应的是星期六");	}	
	else if(week == 7){
		System.out.println(week+"对应的是星期日");}
	else{
		System.out.println(week+"没有对应的星期");}  

if语句的注意事项是:

if语句,else if 语句,后面带有条件表达式语句, else不 允许

if,else if,else 语句如果里面是一条语句的话,{}可以省略。

下面说说我们的switch语句

switch语句格式:

switch(表达式)
{
case 取值1:
	执行语句;
	break;
case 取值2:
	执行语句;
	break;
...
default:
	执行语句;
	break;
	}

switch语句的解释:

case 后面跟得是要和表达式进行比较的值

语句体 :要执行的代码
break; 中断 结束的意思
default :和所有表达式都不匹配的 相当与 if 语句的else

switch语句的注意事项:

(1) switch(表达式里面必须是变量,而不是常量)

(2)case 的取值,不允许重复,重复的话就会报错

(3)switch语句是见到break语句才退出的,不见break语句就一直执行下去

(4)default 语句和case语句的顺序不分前后,我们习惯把default语句放在最后,

(5)default语句里面的break是可以省略的

面试题:byte ,long ,String 可以作为switch的表达式吗?

long :不可以作为表达式, String类型的JDK7之后可以

byte可以作为表达式,JDK5之后可以是枚举

来一个 练习

  public static void main(String[] args) {       
  String moon = "小月";        
  switch(moon){            
  case "一月":           
  case "二月":            
  case "三月":                
  System.out.println("春");               
  break;            
  case "四月":            
  case "五月":            
  case "六月":                
  System.out.println("夏");               
  break;            
  case "七月":            
  case "八月":            
  case "九月":               
  System.out.println("秋");                
  break;            
  case "十月":            
  case "十一月":            
  case "十二月":                
  System.out.println("冬");                
  break;            
  default:                
  System.out.println("查询季度失败~~");                
  break;        
  }
  }

if语句和switch语句的判断

f可以用于判断数值,也可以判断区间,只要运算结果是boolean类型,都可以进行判断。

switch用于对固定的几个值,进行判断。判断的值的类型有限。

下面说一说三种循环语句

根据程序的需求,可以将某些代码重复执行的操作。Java中的循环结构有如下三种:

  • while:事先不需要知道循环执行多少次; 循环次数不确定

  • do-while:同上,只是至少要执行一次(先做,后判断);

  • for:需要知道循环次数

    while,for循环在执行的时候,先要判断条件是否满足,再去执行,

    do,while循环,先执行一次,再去判断是否满足条件

    while循环的格式:

    while(条件表达式){语句}

    while执行顺序:当程序遇到while关键字时,JVM首先会运算while后面的条件表达式,当条件表达式为true时,就会执行while后面大括号中的语句,当把大括号中的所有语句执行完之后,会又回到while的条件表达式处再次判断,若还为true,就继续执行大括号中的语句,若为false就跳过大括号中的所有语句,继续往下执行

    //1,定义变量。一个记录和,一个记录下一个数。

    int i = 1;

    int sum = 0;

    //2,需要循环结构。

    while(i<=10)

    {

    //3,循环中需要进行和+下一个数的运算。并让下一个数自增。
    sum = sum + i;
    i++;
    }

    System.out.println("sum = "+sum);
    使用while循环的注意事项:

    1. while循环的括号中的表达式计算结果必须为boolean类型的值

    2. while循环的括号中不能直接写false常量

    3. while循环的括号后面不要写分号循环控制语句的代码用大括号扩起来

    4. while循环控制的条件变量一定要更新,保证循环能够正常结束

      do while语句的格式:

      do{

      执行语句;

      }while(条件表达式);

      执行的顺序是: :先执行一遍语句,再去判断条件,条件满足的话就继续执行语句,当条件不满足的时候就结束我们的循环

      接下来说的是我们的for循环:

      for(表达式1;表达式2;表达式3){

      语句;

      }

      for循环的执行流程: 先执行初始化语句,在判断表达式2是否满足条件,满足的话执行语句,再去执行表达式3,在去判断表达式2是否满足,满足的话主执行语句,执行表达式3. 一直到表示式不满足条件。

      for循环和while循环的 区别:

      for循环和while循环都是先判断条件,满足的话再去执行语句

      for循环使用的是:次数确定的,while循环是用于次数不确定的

      for循环里面的初始化变量,在for循环结束之后就在内存中释放了,while循环的变量在循环结束之后还是可以使用的。

      说说我们常见的死循环 ,while(true){} , for(;😉{},

      我们的流程控制语句,break,continue,return;

      break:是结束本层的循环

      continue: 结束本次的循环 进入下一次循环

      return:我们用来结束方法。

      方法/函数就是定义在类`中的具有特定功能的一段独立小程序,并能被多次使用

      站在代码复用的角度来考虑,之前的打印矩形问题。

      问题:要画矩形,需要不断使用该for嵌套代码。造成代码复用性很差。

      解决:定义一个功能用于画矩形,每次只要使用该功能即可。这样提高复用性。

      定义一个功能:

      1. 应该是一个封闭的区间。那就需要使用大括号将其封装。

      2. 需要给这个区间起个名字。以后通过这个名字来调用这个区间

      3. 这个区间需要有参与运算的数据。

      4. 需要定义该功能的结果类型。

        方法有分为有返回值类型和无返回值类型的

        现在方法面前加修饰符public static

        有返回值类型:

        public static int add(int a,int b){

        return a+b;

        }

        注意:在调用有返回值类型的方法的时候,比如这个加数的方法返回值是int类型 ,你需要对方法的结果进行处理

        System.out.println(add(3,4));

        定义方法的格式为; 方法修饰符 返回值类型 方法名(参数列表){}

        参数列表:里面参数的类型个参数的个数

        无返回值类型的方法

        public static void add(int a,int b){

        System.out.println(a+b);

        }

        调用时:add(a+b);

        在最后我们说一下方法的重载,

        方法重载可以这样理解,同一个方法的不同的版本,

      ta’shi它是方法名相同但是参数列表不相同

      参数列表不相同就是(参数的个数和参数的类型)

      方法重载改变了方法的 返回值类型

      public int add(int a.int b)

      {return a+b;}

      public double add(double a,double b,double c){

      return a+b+c;

      }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值