第一周,java基础的第三次重学

  • 个人介绍
    • 第一周,java基础的重学习

个人介绍

本人一直以来喜欢打游戏,十几年了,于是进入了普通的学校,逐渐的掉到了谷底,每天过着浑浑噩噩的生活,大学期间,我每天都要打游戏,只要空闲就不会停下来,只有编程课听了编程的部分,每次讲知识理论,我都在睡觉,不论是c还是java,我都没听原理,python就更简单了,我没学,数据库学了两遍,我还是不明所以。到快要实习的时候,我终于改变了想法

第一周,java基础的重学习

以下为复习内容

  • java基础
  • 内存机制
  • 构造方法
  • 三大特性封装继承多态
  • 接口,抽象类
  • 关键字,静态类,this与super
  • 方法与属性
  • 所有的理论知识
  • 面向对象理论
  • 对象的调用与匿名对象
  • 内部类,内部方法,匿名内部类
  • 数组的遍历,基础运用
  • enum枚举定义常量
  • 泛型与反射
  • 进制转换
  • Mysql基础语句,增删改
  • 从eclipse切换到idea

以上是在各类学习网站,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 scount++;//每次调用该构造方法,都会+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循环和常量,非常好玩,建议有大佬带的人尝试,并给大佬看看你的完美成果,每写出一个离谱程序让大佬也觉得离谱,并且你自己还知道是什么意思,到底怎么运行的,就说明你更进一步,也变得离谱了,注:该学习方法不适合正常人,由博主多次重学得出,实践后会发出具体代码作为参考,可以先关注博主,等博主写出来,一定要加写不完的链式编程,非常好用

第一周重学习java总结-停不下来的学习相关推荐

  1. 学习Java其实应该上升到如何学习程序设计这种境界

    我可以结合自己的经验大致给你说一说,希望对你有所帮助,少走些弯路. 学习Java其实应该上升到如何学习程序设计这种境界,其实学习程序设计又是接受一种编程思想.每一种语言的程序设计思想大同小异,只是一些 ...

  2. 小白学习Java技术知识点总结,其实学习Java没那么难

    边学习边记录是程序员快速进步的途径,只有你不断累积知识,才能有质的飞跃,不断的coding,累积经验. 第一讲,主要是Java环境变量的配置. 搭建好环境才能干活.要理解什么是编译.什么是运行.编译是 ...

  3. 第一周预习:Java三大特性

    面向对象具有三个特性: ①封装 ②继承 ③多态 一.封装: 1.封装的含义 封装是面向对象方法的重要原则,封装就是把同一类事物的共性(包括属性和方法)归到同一类中,方便使用,并尽可能隐藏对象的内部实现 ...

  4. 学习java好还是phyon好_phyon学习第一天

    一直想用phyon写个网络爬虫,太懒了,一直到现在才开始学习 phyon的强大就不用说了,第一天学习,好好加油 今天主要学下一下它的语法: 1.用过简单的计算器使用 程序的计算包括: + - * / ...

  5. 第一周:初识java

    一.如何用cmd指令运行java文件 C:\Users>cd (文件夹名) C:\(文件夹名)>javac xxxx.java(文件名) 将生成.class文件 xxxx.class D: ...

  6. 女生适合学习java什么_女生不适合学习java吗?其实不是这样的,女生往往更有优势!...

    女生适合学java吗?女生做IT怎么样 首先要表明我的观点,编程是不分男女,什么女生不适合学编程的说法,从客观上来说,我觉得这是一种偏见. 不少人潜意识里认为女生不适合从事IT开发岗位的工作,因为他们 ...

  7. java 源码学习,Java源码剖析34讲学习笔记~4

    详解 ThreadPoolExecutor 的参数含义及源码执行流程 前言 在阿里巴巴的开发者手册中针对线程池有如下说明: [强制]线程池不允许使用 Executors 去创建,而是通过 Thread ...

  8. Java核心技术第一周学习总结

    第三章:Java的基本程序设计结构 一.基本数据类型 列举 byte(字节型).short(短整型).int(整型).long(长整型).float(单精度浮点型).double(双精度浮点型).bo ...

  9. 2020/4/26 第一周java学习周报

    第一周 一. Java的优势 1. 开源. 2. 面向对象的编程语言.方便扩充 (关于对象:link ) 3. 方便的内存回收机制.自动优化? 4. 用引用代替了指针. 5. 多线编程,单位时间内性能 ...

最新文章

  1. asp.net 拦截html,关于c#:如何在-ASPNET-Core-中实现全局异常拦截
  2. Qt 调用MATLAB引擎混合编程
  3. Python-import导入上级 本级 目录文件
  4. 实战!Spring Boot 整合 阿里开源中间件 Canal 实现数据增量同步!
  5. 信息学奥赛一本通C++语言——1046:判断一个数能否同时被3和5整除
  6. Rabbtmq Confirm 确认消息
  7. pcb设计入门02-PCB封装库
  8. Centos中源码安装mysql
  9. CSS基础知识——常用基础命令
  10. Dell电脑插入耳机无效
  11. Oracle之同义词(SYNONYM)
  12. 微信小程序-实现元素渐入渐出动画效果-封装方法
  13. ffmpeg 合并转换文件_使用FFmpeg转换媒体文件的快速指南
  14. PAT-Day1-挖掘机技术哪家强
  15. Matlab中动画绘制中hold on的小问题
  16. 面试之其他面试题归类
  17. oracle批处理参数调用,Oracle数据库定时自动备份批处理代码(Windows)
  18. ADSL上网密码破解记
  19. Chrome如何显示网页
  20. MDPI高级搜索——包含“Appendix”的论文

热门文章

  1. 题目: 编写一个程序,实现设置上月、本月电表读数,显示上月、本月电表读数,计算并显示本月用电数。假设每度电的价格为1.2元,计算并显示本月电费。
  2. 【谷歌浏览器主页设置无效的解决办法】
  3. 分类问题常用算法之支持向量机SVM
  4. 机器学习算法系列(十六)-非线性支持向量机算法(Non-Linear Support Vector Machine)
  5. Python中类的基本用法
  6. HUAWEI 华为 MateBook X Pro 2020安装Ubuntu 18.04 LTS注意事项
  7. EDM邮件营销真的落伍了吗?
  8. 树莓派学习笔记——开启超级用户权限
  9. 计算机考研天津工业大学值得吗,天津工业大学考研难度大吗 师资力量怎么样...
  10. 眼睛也会中风,病发凶猛,90分钟内黄金急救时间