yield关键字
- yield的是JDK13后的一个新特性,它主要的作用是进行程序的局部返回,目前主要和switch语句相结合使用,下面通过案例来进行比较
public class YootkDemo{
public static void mainP(String[] ages){
String name="Andy";
int age=0;
switch(name){
case "浩鑫": age=18; breck;
case "Andy": age=25; breck;
default:age=0;breck;
}
System.out.println(age);
}
}
//程序执行结果为:25
- 以上是我们传统的做法,通过switch语句对变量name进行匹配,返回一个age的值,再对age进行赋值。这样的做法太过啰嗦,如果可以直接对age进行赋值,那就能更好提高程序的效率,下面我们使用yield关键字来实现案例
public class YootkDemo03 {
public static void main(String args[])
{
String name ="Andy";
int age=switch(name){
case "浩鑫":yield 18;
case "Andy" :yield 25;
default :yield 0;
};
System.out.println(age);
}
}
//程序执行结果为:25
- 其实,对于yield关键字,我们现在并没有完全的应用起来,随着JDK版本的更新,相信yield会有更多的应用。
this关键字
- this关键字是Java开发里面一个较为繁琐的关键字,因为在程序开发使用中较为灵活,他可以根据不同的环境进行改变,使用this关键字可以描述以下三种含义
- 成员属性
- 方法(普通方法、构造方法)
- 表示当前对象
this调用成员属性
-
在类定义中,成员属性是可以互相调用的,例如:某一个属性被构造方法调用同时,可以被普通方法所调用
范例:
class Book{ private String author; private String title; private double price; public Book(String a,String t,double p){ author=a; title=t; price=p; } public void setAuthor(String a){ author=a; } public void setTitle(String t){ title=t; } public void setprice(double p){ price=p; } public String getAuthor(){ return author; } public String getTitle(){ return title; } public double getPrice(){ return price; } public void getInfo(){ System.out.print("图书的作者为:"+author+" 图书的名称为:"+title+" 图书的价格为:"+price); } } public class YootkDemo07{ public static void main (String[] ages){ Book book=new Book("Andy鑫","地下城",99.8); book.getInfo(); } } //程序执行结果为: // 图书的作者为:Andy鑫 图书的名称为:地下城 图书的价格为:99.8
在以上的程序中,我们使用了程序的三参构造方法,以字母a、t、p、来定义参数的名称,但单字母所要表达的意思太多,无法起到对程序“见名知意”的作用,此时我们的想法是想把传进来的三个参数 author title price 赋值给本类中的 author title price,切记,不可使用以下的做法
public Book(String author,String title,double price){ author=author; title=title; price=price; }
这样的语法是没有任何意义的,此时,我们就可以使用this关键字
class Book{ private String author; private String title; private double price; public Book(String author,String title,double price){ this.author=author; this.title=title; this.price=price; } public void setAuthor(String author)