本人一直以来喜欢打游戏,十几年了,于是进入了普通的学校,逐渐的掉到了谷底,每天过着浑浑噩噩的生活,大学期间,我每天都要打游戏,只要空闲就不会停下来,只有编程课听了编程的部分,每次讲知识理论,我都在睡觉,不论是c还是java,我都没听原理,python就更简单了,我没学,数据库学了两遍,我还是不明所以。到快要实习的时候,我终于改变了想法
以下为复习内容
以上是在各类学习网站,csdn学习并存储的资料,不会发出来,因为内容有太多人的博客部分内容
封装的运用
代码为博主逐个所写,标准格式
public class StudentDemo extends Student{
static String sp;
public static void main(String[] args){
Student s1 =new Student();
// s1.setStudent("张三",21,"男",198666);
// System.out.println(s1.getStudent());
Student s3 =new StudentDemo();
System.out.println(s1.getS2(s1));
s1.setStudent("暖男张三",22,"男",206666);
System.out.println(s1.getString());
s3.setStudent("李四",18,"男",176666);
System.out.println(s3.getString());
}
}
class Student{
private String name;
private int age;
private String genger;
private int id;
public void setName(String name){
this.name=name;//this用来区分成员变量和局部变量,
//this.name是成员变量类中的name,否则就是name=name系统无法区分
}
public String getName(){
return name;//返回的是类中定义的私有name
}
public void setAge(int age){
this.age=age;
}
public int getAge(){
return age;
}
public void setGenger(String genger){
this.genger=genger;
}
public String getGenger(){
return genger;
}
public void setId(int id){
this.id=id;
}
public int getId(){
return id;
}
public String setStudent(String name,int age,String genger,int id){
//这里使用对象调用的方法会开辟一处新的堆空间,存入s2指向的new Student(),只有读取s2指向的才能获取赋的值
Student s2 =new Student();
s2.setName(name);
s2.setAge(age);
s2.setGenger(genger);
s2.setId(id);
setName(name);
setAge(age);
setGenger(genger);
setId(id);
return s2.getStudent();
}
public String getS2(Student student){
return student.setStudent("张三",21,"男",198666);
}
public String getStudent(){
return "[姓名:"+getName()+", 年龄:"+getAge()+", 性别:"+getGenger()+", 学号:"+getId()+"]";
}
public String getString(){
return getStudent();
}
}
构造方法的调用
代码为博主所写,可以转载
public class phoneDemo_3 {
//构造方法,进行初次练习
//构造方法调用记录,每次调用都会count++,记录调用次数。
public static void main(String[] args){
Computer c1 =new Computer();
Computer c2 =new Computer();
Computer c3 =new Computer();
System.out.println(c1.count);
}
}
class Computer{
static int count=0;
//无参构造方法
public Computer(){
// TODO Auto-generated constructor s
count++;//每次调用该构造方法,都会+1记录
}
//有参构造方法
public Computer(int a,int b){
//构造方法的代码块测试学习
//测试得方法的返回必须写明返回类型 return a;
count++;
System.out.println("调用了有参的Computer方法"+count+"次");
}
//继续重载构造方法,将它变得更加丰富
public Computer(String b){
count++;
System.out.println("调用了有参的Computer方法"+count+"次");
}
}
手机类的运用
class phoneDemo{
static int price;
static String colour;
static int fMemory;
static String brand;
static int phone;
static String game;
static String note;
public String upPhone(int phone){return "该手机的电话号码:"+phone;}
public String getPrice(int price){return "价格为"+price+"块";}
public String getBrand(String brand){return "品牌:"+brand;}
public String getColour(String colour){return "颜色:"+colour;}
public String getFmemory(int fMemory){return "该手机的运行内存有"+fMemory+"个G!";}
public String getNote(String note){return "给xxx发送"+note;}
public String playGames(String game){return "启动"+game+"进行游玩";}
public static void main(String[] args){
price=4800;
colour="玫瑰金";
fMemory=8;
brand="华为";
phone=123456789;
game="守护木叶村";
note="摸头*100^99";
phoneDemo p1 =new phoneDemo();
System.out.println(p1.upPhone(phone));
System.out.println(p1.getBrand(brand));
System.out.println(p1.getColour(colour));
System.out.println(p1.getFmemory(fMemory));
System.out.println(p1.getPrice(price));
System.out.println(p1.playGames(game));
System.out.println(p1.getNote(note));
}
}
Java基础 Swith语句
public class demo_1 {
public static void main(String[] args){
int liString=0;
int x=1;
Scanner scanner = new Scanner(System.in);
//设计自助银行系统页面
do{
System.out.println("==========欢迎使用ATM自助银行系统===========\n1:开户 2:存款 3:取款 4:转账 5:查询余额 6:修改密码 0:退出\n======================================");
System.out.println("请输入操作编号:");
liString=scanner.nextInt();
//设计循环系统,完成选择操作
switch(liString){
case 1:
System.out.println("执行开户功能");
x++;
break;
case 2:
System.out.println("开始存款");
x++;
break;
case 3:
System.out.println("准备取款,请等待");
x++;
break;
case 4:
System.out.println("进行转账,请谨慎操作!");
x++;
break;
case 5:
System.out.println("请输入卡号以查询余额:");
x++;
break;
case 6:
System.out.println("验证安全性即可修改密码:");
x++;
break;
case 0:
System.out.println("close");
x++;
break;
default:
System.out.println("输入错误,请重新输入");
x++;
}
}while (x<=3);//该程序仅允许运行三次
scanner.close();
}
}
for循环 无限的练习1
全部内容为博主亲手所写,该for循环内容转载必须附带博主信息
public class for_while_dowhlie_demo {
public static void main(String[] args) {
// TODO Auto-generated method stub
// for_while_dowhlie_demo f1 =new for_while_dowhlie_demo();
// f1.Num(12, 15);
//for循环
// int sum1 = 0;
// for(int i=1;i<101;i++){
// sum1+=i;
// }System.out.println(sum1);
// int sum2=0;
// for(int i=2;i<=100;i+=2){
// if(i%2==0){
// sum2=sum2+i;
// }
// }System.out.println(sum2);
// int sum3=5;
// for(int i=4;i>0;i--){
// sum3=sum3*i;
// }System.out.println(sum3);
//int i=0,j=1,k=0,l=100;
//while循环
// while(j<=100){
// i=i+j;
// j++;
// }System.out.println(i);
// while(j<101){
// if(j%2==0){
// k=k+j;
// }
// j++;
// }
// System.out.println(k);
// int a,b,c;
//水仙花数
// while(l<999){
// l++;
// a=l%10;
// b=l/10 %10;
// c=l/10 /10 %10;
// if(l==a*a*a+b*b*b+c*c*c){
// System.out.println(l);
// }
//
// //do while循环
// do{
// System.out.println("头发还很多");
// j++;
// }while(j<=6);
//for进阶:第一个;初始化,第二个;条件语句,第三个;步长
//特殊运用:1.外部初始化,嵌套仅循环一次,条件语句选择不执行
//
// int y=0;
// for(int a1=0;a1<=20;a1++){
// for(j=0;j<=33;j++){
// int v=100-a1-j;
// if(5*a1+3*j+v/3==100 && v%3!=0){
// System.out.println(a1+"\n"+j+"\n"+v);
// }
// }
// }
// for(int man=1;man<=9;man++){
// for(int woman=1;woman<=12;woman++){
// int boy=36-man-woman;
// if(4*man+3*woman+boy/2==36 && boy%2!=0){
// System.out.println(man+"\n"+woman+"\n"+boy);
// }
// }
// }
// Scanner sc= new Scanner(System.in);
// System.out.println("输入一个数:");
// int num = sc.nextInt();
// /*int b=0;
// do{
// b=b+num%10;
// num=num/10;
// }while(num%10!=0);
// System.out.println(b);
//
// */
// for(int i=1;i<=num;i++){
//
// }
// Scanner sc= new Scanner(System.in);
// System.out.println("输入一个数字A,判断它是否是质数:");
// int A = sc.nextInt();
// int n = (int) Math.sqrt(A);
// int rt=0;
// System.out.println(n);
// for(int i=2;i<=n;i++){
// if(A%i==0){
// System.out.println("A不是质数,本次整除成功的数为:"+i);
// rt++;
// }
// }
//
//
// if(rt==0){
// if(A==1){
// System.out.println("1不是质数");
// }else{
// System.out.println("A是质数");
// }
// }
//
}
//nn乘法表
//获取变量n,m进行for循环遍历,输出符号*
//public static void mmNext(int m){
// for(int i=1;i<=m;i++){ //行数
// for(int j=1;j<=m;j++){ //列数
// System.out.println(m+"*"+m+"="+m*m);
// }
// }
//}
// public void Num(int a,int b){
// 重载:形参个数不同,顺序不同,形参按顺序录入,顺序不能完全相同。
// }
// public static void Num(int a,int b,int c){
//
// }
// public static void Num(int d,double c){}
}
个人封装加判断的游戏玩家信息
博主没有学GUI,所以是简陋版本,带上了判断语句的封装,这是第一天写的内容
public class wanjia{
public static void main(String[] args) {
fwanjia f1=new fwanjia();
Scanner sc =new Scanner(System.in);
System.out.println("游戏规则如下:"
+ "\n选择boss对战,回合制轮流攻击,血量为0结束。"
+ "\n姓名不能超过5个字"
+ "\n等级必须大于0小于120"
+ "\n性别必须为男或女"
+ "\n血量必须大于0小于1000"
+ "\n攻击必须大于0小于100");
System.out.println("输入玩家数值开始游戏:");
System.out.println("姓名:");
String name=sc.next();
System.out.println("等级:");
int lv=sc.nextInt();
System.out.println("性别:");
String age=sc.next();
System.out.println("血量:");
int xl=sc.nextInt();
System.out.println("攻击:");
int attack=sc.nextInt();
f1.setString(name, lv, age, xl,attack);
System.out.println(f1.getString());
System.out.println("游戏选项:1.查看个人信息,2.选择对战");
int xx=sc.nextInt();
nextBoss n1 =new nextBoss();
n1.setString("1.看门小怪",5,"男","白色装备","无属性","玩家入门的第一步",100);
nextBoss n2 = new nextBoss();
n2.setString("2.野猪",7,"男","绿色装备","土属性","砍猪砍猪",130);
switch(xx){
case 1:
System.out.println(f1.getString());
break;
case 2:
System.out.println(n1.getString()+n2.getString());
break;
}
System.out.println("请选择对战的boss:1,2");
int vs = sc.nextInt();
int xlx1=n1.getXl();
int xlx2=n2.getXl();
if(vs==1){
while(xl>0 || xlx1>0){
xl=xl-5;
xlx1=xlx1-attack;
}
}else if(vs==2){
while(xl>0 || xlx2>0){
xl=xl-7;
xlx2=xlx2-attack;
}
}
System.out.println("游戏结束");
System.out.println("我方血量:"+xl);
System.out.println("敌方血量:"+xlx1);
if(xl<=0){
System.out.println("对战失败");
}else if(xlx1<=0){
System.out.println("对战成功");
}
}
}
class fwanjia{
private String name;
private int lv;
private String age;
private int xl;
private int attack; //攻击力
public void setString(String name,int lv,String age,int xl,int attack){
if(name.length()<5){
this.name=name;
}
if(lv>0 && lv<100){
this.lv=lv;
}
if(age.equals("男") || age.equals("女")){
this.age=age;
}
if(xl>0 && xl<1000){
this.xl=xl;
}
if(attack>0 && attack<100 ){
this.attack=attack;
}
}
public String getString(){
return "玩家信息:[姓名:"+name+"等级:"+lv+"性别:"+age+"血量:"+xl+"攻击:"+attack+"]";
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getLv() {
return lv;
}
public void setLv(int lv) {
this.lv = lv;
}
public String getAge() {
return age;
}
public void setAge(String age) {
this.age = age;
}
public int getXl() {
return xl;
}
public void setXl(int xl) {
this.xl = xl;
}
}
两个方法完成所有的变量赋值,调用
public class StudentDemo {
}
class Student{
private String name;
private int age;
private String sex;
private int sid;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public String getSex() {
return sex;
}
public void setSex(String sex) {
this.sex = sex;
}
public int getSid() {
return sid;
}
public void setSid(int sid) {
this.sid = sid;
}
public void setString(String name ,int age,String sex,int sid){
this.age=age;
this.name=name;
this.sex=sex;
this.sid=sid;
}
public String getString(){
return "";
}
}
小结
本次由于第一次写,不打算排版太复杂,每周博主会写一次学习内容,并分享一些代码,要是拿去用了,点个赞吧,博主写了几分钟挺不容易的
封装的完整玩法
1.具备set/get方法
2.丰富的构造方法,代码块也丰富
3.赋值带判断,不允许输入错误值
4.个人特色写法,例如博主就喜欢多一个方法赋值所有属性,再多一个方法调用
非正常人编程
慎用!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
慎用!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
慎用!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
封装,抽象类,接口,基础,多态一起写,再写个泛型整复杂构造方法,然后再各种return,this,super,final,静态,内部类接内部方法,用不完的匿名对象,看不懂什么意思的类名,对象名,代码乱成一团,疯狂嵌套,有意的错别英文单词,用构造方法给父类,接口等赋值,if超多重嵌套,嵌套中间再嵌套到上上一个,上上上一个,for循环的三重以上嵌套,疯狂的输出语句,导入数不尽的jar包,让代码出现有各种意想不到的正常报错,然后加入io流疯狂写出,最后一定要尝试内存溢出,这个不是有一点刺激,然后将方法反复重写,在静态和成员方法重载,再接多个接口重载,重载的时候一定要再有一些重写,枚举带接口内附增强for循环和常量,非常好玩,建议有大佬带的人尝试,并给大佬看看你的完美成果,每写出一个离谱程序让大佬也觉得离谱,并且你自己还知道是什么意思,到底怎么运行的,就说明你更进一步,也变得离谱了,注:该学习方法不适合正常人,由博主多次重学得出,实践后会发出具体代码作为参考,可以先关注博主,等博主写出来,一定要加写不完的链式编程,非常好用