第一周重学习java总结-停不下来的学习

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

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

个人介绍

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

第一周,java基础的重学习

以下为复习内容

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

第一周重学习java总结-停不下来的学习_第1张图片

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

你可能感兴趣的:(javase,java)