Java基础二

97 阅读3分钟

「这是我参与2022首次更文挑战的第五天,活动详情查看:2022首次更文挑战

Java基础二

while循环语句

while语句语法

while(布尔表达式){
	循环体;
}

先判断布尔表达式结果 ==》ture ==》执行循环体

注:while循环的循环体可能一次都不执行。

死循环

while(ture){
     System.out.println("真不错");
}
//这一句永远不执行,因为编译器检测到上面是死循环
System.out.println("haha");

doWhile循环语句

do。。。while语句语法

do{
   循环体
}while(布尔表达式);

注:do。。。while循环执行次数至少执行一次

break,continue

break和continue的区别

  • break表示循环不执行了
  • continue表示直接进行下次循环
int i=0;
int j=0;
while(i<10){
	i++;
	break;//到这一步直接退出循环
	j++;
}
//结果i=1,j=0
int i=0;
int j=0;
while(i<10){
	i++;
    continue;//直接进行下一次循环下面的语句不执行;并且编译器报错访问不到下一个语句
    j++;
}
//结果i=10,j=0

判断素数

public class math1{
    public static void main(String[] arge)
    {
        java.util.Scanner s = new java.util.Scanner(System.in)
            System.out.println("请输入一个数");
            int i = s.Intnext();
        	boolean isSuShu = ture;//默认将i认为一个素数【进行一个标记】
        	for( j = 2 ; j < i ; j++)
            {
                if(i % j == 0){
                    //如果判断成功则i非素数
                    isSuShu = false;
                    break;//跳出循环
                }
            }
        	System.out.println(isSuShu ? i + "是素数" : i + "不是素数");//利用三目运算符输出
    }
}

方法 (Method)

方法的概述

方法是什么?方法就是c语言中的函数。

方法是Java语言中的一种神奇的机制:

  • 某个功能性代码只需要写一遍
  • 要使用这个功能,只需要这个歌功能传递具体的数据
  • 这个功能完成之后返回一个最终结果。
  • 提高了代码的复用性

这就是方法!!!!

方法的本质是什么?

方法就是一段代码片段,并且这段代码片段可以完成某个特定的功能,并且可以重复使用。

方法定义在类体当中。在一个类中可以定义多个方法,并且没有顺序,可以随意。

方法体当中不可以再定义方法!!!!!!!

方法怎么定义以及语法结构

/*
	[修饰符列表] 返回值类型 方法名 (形式参数列表)
    {
    	方法体;
    }
*/

如何调用方法:

​ 类名.方法名(形参);

注: 1. 只要有带有return关键字的语句执行,return语句所在的方法结束。

  1. 如果方法不是void就必须写返回值。否则编译器会报错。
  2. 一个方法有返回值的时候,当我们调用这个方法的时候,返回值必须有,但是对于调用者,这个返回值可以选择接收,也可以选择不接收。(强盗原则:不管咋地,你必须给,要不要是我的事)

例子

public class method1{
    public static void main(String[] args){
        int a=10;
        int b=20;
        method1.static(a,b);//(a,b)实参列表
    }
    public static void sum(int a,int b){
        System.out.println(a + "+" + b + " = " + (a+b));
    }
}

​ 注:

  • 方法可以调用方法。
  • 形参和实参的数据类型必须相同
  • 存在自动类型转换,数据类型可以小转大不可以大转小

方法调用

  1. 方法的修饰符列表中有static关键字,完整的调用方式:类名.方法名(实参列表)
  2. 在同一个类时,调用方法可以不用写类名
  3. 省略类名之后。编译器会自动在当前类中寻找该函数。
  4. 建议一个java文件中只定义一个class。
public class method1{
    public static void main(String[] args){
        int a=10;
        int b=20;
        static(a,b);//(a,b)实参列表
        
    }
    public static void sum(int a,int b){
        System.out.println(a + "+" + b + " = " + (a+b));
        meet.();//这句会报错因为不在同一个类
    }
}
class B{
	public static void meet(){
	System.out,println("我真帅!");
    }
}

套娃

方法中的代码自上而下执行,当前代码没有结束的时候,下一句代码永不执行。

public class taowa{
	public static void main(String[] arge){
	System.out.println("main begin");
	m1();//调用m1,下一句暂停执行
	System.out.println("main over");//m1执行完成,执行这一句
	}
	public static void m1(){
	System.out.println("m1 begin");
	m2();//调用m2,下一句暂停执行
	System.out.println("m1 over");//m2执行完成,执行这一句
	}
	public static void m2(){
	System.out.println("m2 begin");
	m3();//调用m3,下一句暂停执行
	System.out.println("m2 over");//因为m3执行完成执行这一句
	}
	public static void m3(){
	System.out.println("m3 begin");
	System.out.println("m3 over");//m3执行完毕
	}
}

深入return语句

  1. 带有return关键字的Java语句只要执行,所在方法就结束。
  2. 在同一个作用域当中,return语句下面不能编写任何代码,因为这些代码不能别执行,所以编译会报错。
public class method2{
 	public static void main(String[] args){
 	  int i = m();
 	}
 	//编译器会报错:缺少返回语句,因为编译期只检查语法无法确定if条件是真是假。
 	public static int m(){
 	int a = 10;
 	 if(a > 3){
 		return 1;
 	 }
 	 //加一句return 0;就不会报错。
 	}
}

当void方法中出现return语句主要是为了直接终止方法

public class static method3{
	public static void main()
	{
		m();
	}
	public static void m(){
		for( int i = 0; i < 10 ; i++){
		   if(i == 5){
			return;//不是终止for循环,终止的是m方法	
		  }
	   }
	}
}