第一周重学习java总结-停不下来的学习
第一周,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总结-停不下来的学习相关推荐
- 学习Java其实应该上升到如何学习程序设计这种境界
我可以结合自己的经验大致给你说一说,希望对你有所帮助,少走些弯路. 学习Java其实应该上升到如何学习程序设计这种境界,其实学习程序设计又是接受一种编程思想.每一种语言的程序设计思想大同小异,只是一些 ...
- 小白学习Java技术知识点总结,其实学习Java没那么难
边学习边记录是程序员快速进步的途径,只有你不断累积知识,才能有质的飞跃,不断的coding,累积经验. 第一讲,主要是Java环境变量的配置. 搭建好环境才能干活.要理解什么是编译.什么是运行.编译是 ...
- 第一周预习:Java三大特性
面向对象具有三个特性: ①封装 ②继承 ③多态 一.封装: 1.封装的含义 封装是面向对象方法的重要原则,封装就是把同一类事物的共性(包括属性和方法)归到同一类中,方便使用,并尽可能隐藏对象的内部实现 ...
- 学习java好还是phyon好_phyon学习第一天
一直想用phyon写个网络爬虫,太懒了,一直到现在才开始学习 phyon的强大就不用说了,第一天学习,好好加油 今天主要学下一下它的语法: 1.用过简单的计算器使用 程序的计算包括: + - * / ...
- 第一周:初识java
一.如何用cmd指令运行java文件 C:\Users>cd (文件夹名) C:\(文件夹名)>javac xxxx.java(文件名) 将生成.class文件 xxxx.class D: ...
- 女生适合学习java什么_女生不适合学习java吗?其实不是这样的,女生往往更有优势!...
女生适合学java吗?女生做IT怎么样 首先要表明我的观点,编程是不分男女,什么女生不适合学编程的说法,从客观上来说,我觉得这是一种偏见. 不少人潜意识里认为女生不适合从事IT开发岗位的工作,因为他们 ...
- java 源码学习,Java源码剖析34讲学习笔记~4
详解 ThreadPoolExecutor 的参数含义及源码执行流程 前言 在阿里巴巴的开发者手册中针对线程池有如下说明: [强制]线程池不允许使用 Executors 去创建,而是通过 Thread ...
- Java核心技术第一周学习总结
第三章:Java的基本程序设计结构 一.基本数据类型 列举 byte(字节型).short(短整型).int(整型).long(长整型).float(单精度浮点型).double(双精度浮点型).bo ...
- 2020/4/26 第一周java学习周报
第一周 一. Java的优势 1. 开源. 2. 面向对象的编程语言.方便扩充 (关于对象:link ) 3. 方便的内存回收机制.自动优化? 4. 用引用代替了指针. 5. 多线编程,单位时间内性能 ...
最新文章
- asp.net 拦截html,关于c#:如何在-ASPNET-Core-中实现全局异常拦截
- Qt 调用MATLAB引擎混合编程
- Python-import导入上级 本级 目录文件
- 实战!Spring Boot 整合 阿里开源中间件 Canal 实现数据增量同步!
- 信息学奥赛一本通C++语言——1046:判断一个数能否同时被3和5整除
- Rabbtmq Confirm 确认消息
- pcb设计入门02-PCB封装库
- Centos中源码安装mysql
- CSS基础知识——常用基础命令
- Dell电脑插入耳机无效
- Oracle之同义词(SYNONYM)
- 微信小程序-实现元素渐入渐出动画效果-封装方法
- ffmpeg 合并转换文件_使用FFmpeg转换媒体文件的快速指南
- PAT-Day1-挖掘机技术哪家强
- Matlab中动画绘制中hold on的小问题
- 面试之其他面试题归类
- oracle批处理参数调用,Oracle数据库定时自动备份批处理代码(Windows)
- ADSL上网密码破解记
- Chrome如何显示网页
- MDPI高级搜索——包含“Appendix”的论文
热门文章
- 题目: 编写一个程序,实现设置上月、本月电表读数,显示上月、本月电表读数,计算并显示本月用电数。假设每度电的价格为1.2元,计算并显示本月电费。
- 【谷歌浏览器主页设置无效的解决办法】
- 分类问题常用算法之支持向量机SVM
- 机器学习算法系列(十六)-非线性支持向量机算法(Non-Linear Support Vector Machine)
- Python中类的基本用法
- HUAWEI 华为 MateBook X Pro 2020安装Ubuntu 18.04 LTS注意事项
- EDM邮件营销真的落伍了吗?
- 树莓派学习笔记——开启超级用户权限
- 计算机考研天津工业大学值得吗,天津工业大学考研难度大吗 师资力量怎么样...
- 眼睛也会中风,病发凶猛,90分钟内黄金急救时间