java - 第一阶段总结    

    递归    

递归:能不用就不用,因为效率极低

package over;
//递归
public class Fi {public static void main(String[] args) {int num = f(7);System.out.println(num);}public static int f(int n){if(n==1 || n==2){return 1;}else{return f(n-1)+f(n-2);}}/** f7=f6(8)+f5(5)---------------------13*    f6=f5(5)+f4(3)------------------8*       f5=f4(3)+f3(2)---------------5*          f4=f3(2)+f2(1)------------3*             f3=f2(1)+f1(1)---------2*                f2------------------1*                f1------------------1*/
}

不借助于第3个数,来交换两个数

package test.tang;public class Test {public static void main(String[] args) {//------只适用于数字类型(整数类型),小数结果不准确int a=5,b=8;a = a+b; //a=13b = a-b; //b=5a = a-b; //a=8System.out.println("a="+a);System.out.println("b="+b);}
}

关于a++, ++a 的循环

        /** 练习:* 1.声明整型变量a并赋值为0*     a=a++,输出a的值-------0* 2.声明整型变量b并赋值为0*     b=++b,输出b的值-------1* 3.声明整型变量c并赋值为0*     for(int i=1;i<=100;i++){*       c=c++;*     }*     System.out.println(c);* 4.声明整型变量d并赋值为0*     for(int i=1;i<=100;i++){*       d=++d;*     }*     System.out.println(d);*//*int a = 0;//1.记录++a的值1//2.a自增1变为1//3.将记录++a的值1赋值给aa = ++a;System.out.println(a);*//*int a = 0;//1.记录了a++的值0//2.a自增1变为1//3.将记录a++的值0赋值给aa = a++;System.out.println(a);*//*int a = 0;for(int i=1;i<=100;i++){a=++a;}System.out.println(a);*//** a=++a;*     a=0* i=1 a=1* i=2 a=2* i=3 a=3* i=4 a=4* ...* i=100 a=100*//** a=a++;*     a=0* i=1 a=0* i=2 a=0* i=3 a=0* i=4 a=0* ...* i=100 a=0*/

注意的地方:

short s = 5;
s += 10; //系统自动帮助咱们做了强制类型转换
//s = s+10; //编译错误,必须自己强转

面向对象的设计思想:

1)对象、类:
  1.1)数据的封装--成员变量
  1.2)方法(操作数据)的封装

2.构造方法:给数据(成员变量)赋初值
  实例方法:操作对象的数据---与对象有关
  静态方法:操作参数的数据---与对象无关
  抽象方法:方法体没法写-----只能父类/接口中

3.继承:
  1)作用:代码复用
  2)很多类中有重复的代码时,设计父类来继承
    2.1)普通父类:没有抽象方法时
    2.2)抽象类:有抽象方法时
    2.3)接口:完全抽象方法时

4.设计规则:
  1)将公共的属性和行为,抽象到父类中
  2)所有子类方法的实现都一样-----普通方法
    所有子类方法的实现都不一样---抽象方法
  3)所有子类共有的,抽到父类中
    部分子类共有的,抽到接口中
    符合既是也是时,使用接口
    接口是对继承的单根性的扩展

1.何时需要Debug?

程序的运行结果,与你的预期结果不同时
  Debug的目的是找错误,而不是改错误

2.最早期调试就是打桩:
  System.out.println(???);

3.Debug调试步骤:
  1)先添加断点
  2)以调试模式来运行程序
  3)F5:单步调试(会进到方法中)
    F6:逐方法调试(不进到方法中)
    F7:结束方法的调试
    F8:直接跳到下一个断点
       若后面没有断点了则结束调试

4.看变量
    添加监视

在记事本中自己顺Shoot游戏中的类的结构

    FlyingObject,Enemy,Award,Airplane,Bee,Bullet,Heroabstract class FlyingObject{image,width,height,x,yabstract void step(){}abstract boolean outOfBounds(){}}
interface Enemy{int getScore();
}
interface Award{int getType();
}
class Airplane extends FlyingObject implements Enemy{speedAirplane(){}boolean shootBy(){}
}
class Bee extends FlyingObject implements Award{xSpeed,ySpeed,awardTypeBee(){}boolean shootBy(){}
}
class Bullet extends FlyingObject{speedBullet(){}
}
class Hero extends FlyingObject{life,doubleFire,images,indexHero(){}Bullet[] shoot(){}boolean hit(){}
}

转载于:https://www.cnblogs.com/tangshengwei/p/6209508.html

java - 第一阶段总结相关推荐

  1. Java 第一阶段建立编程思想 【房屋出租系统】

    Java 第一阶段建立编程思想 [房屋出租系统] 1. 项目需求说明 2. 项目界面 1. 主菜单 2. 新增房源 3. 查找房源 4. 删除房源 5. 修改房源 6. 房屋列表 7. 退出系统 3. ...

  2. java第一阶段知识_坚持:学习Java后台的第一阶段,我学习了那些知识

    最近的计划是业余时间学习Java后台方面的知识,发现学习的过程中,要学的东西真多啊,让我一下子感觉很遥远.但是还好我制定了计划,自己选择的路,跪着也要走完!关于计划是<终于,我还是下决心学Jav ...

  3. Java第一阶段筑基期修炼法则(拜山帖)

    *作为初学者在今后本小白将不定时分享在Java崎岖的道路上的艰难险阻与各位君共勉!* 第一阶段Java的学习路线我准备这么走: ①基础语法(java的敲门砖建立java编程逻辑)②面向对象(java的 ...

  4. java第一阶段知识_第一阶段 Java语言(下)

    本课程是Android入门教程之Java核心技术阶段,是Java开发高级部分,安卓开发中的基础知识,讲解以下内容: (一)反射与内省 讲解了什么是反射,反射在应用中的作用,相关反射的API,如Clas ...

  5. java第一阶段(day14)MySQL

    1.DBMS 为什么学习io?数据持久化. io不太好用.逻辑操作比较复杂.换另外一种技术实现数据的持久化?将数据存储到库里面----->数据库 Database听说过的数据库: Mysql o ...

  6. java第一阶段面面试题_java基础阶段几个必会面试题

    1.说出你对面向对象的理解 在我理解,面向对象是向现实世界模型的自然延伸,这是一种"万物皆对象"的编程思想.在现实生活中的任何物体都可以归为一类事物,而每一个个体都是一类事物的实例 ...

  7. java第一阶段(day01)

    课堂笔记编写软件:typora.(是一个md文件,html开发的,用低版本,高版本收费) 一.了解java 1.1 java是什么 是一门高级的计算机编程语言. 计算机编程语言有如下三类: 1.1 机 ...

  8. java第一阶段(day11)Utill包常用类

    一周总结 异常 1. 什么是异常?程序运行期间 出现了不正常的现象. 异常/错误2. 异常分类编译时异常: IoExceptionParseExceptionClassNotFoundExceptio ...

  9. java第一阶段(day05)面向对象

    回顾 方法 为什么使用方法?1. 都放在一个方法中 代码量过多 一个方法里面代码量<=802. 提取重复的代码 封装成一个单独的方法 直接多次调用方法即可3. 方法中 调用很多小的方法方法组成部 ...

最新文章

  1. 为所欲为——教你什么才是真正的任意分频
  2. 什么是JAP,什么是ORM,与hibernate的关系
  3. android 获取设备的serialNumber和Mac地址
  4. 单库单表到多库多表的全量复制方案
  5. 华硕灵耀pro16参数 华硕灵耀pro16怎么样
  6. 云计算 第四章 微软云计算 Windows Azure
  7. 国产热门操作系统Deepin试用感受
  8. 如何配置NAT Server?
  9. 基于Java的石头迷阵小游戏的设计与实现
  10. java访问FTP可重用ssl通道
  11. 快递单号全部查询,物流信息如何快速导出
  12. fs的负载均衡 opensip+keeplive-fs
  13. 推荐学习PPT的几本书
  14. cadence allegro16.6 pcb文件转pads pcb文件方法教程
  15. Ubuntu操作系统如何截图
  16. 南京有哪些“牛批”的互联网公司?
  17. png四通道透明背景图成功加入到视频帧中 使用了mask原理
  18. 服务器开发系列(五)——服务器运维
  19. 『转』How to Think About Your Career
  20. 视频剪辑效果制作Final Cut Pro(fcpx)

热门文章

  1. JS学习笔记 - 代码复用
  2. 常见网站各种类型页面的缓存时间及涉及的http头
  3. 获取邮箱通讯录,msn好友列表的C#源码
  4. php 数字转中文函数 1转一,一个阿拉伯数字转中文数字的函数-PHP教程,PHP函数
  5. java 模拟实现mq,RabbitMQ的5种模式,并使用java进行模拟操作
  6. fwrite ,fprintf的作用与区别
  7. FPGA 中 IO 口时序分析(Input Delay /output Delay)
  8. 《计算机基础(2008版)》第4次作业,《计算机基础(2008版)》第5次作业.doc
  9. 场效应晶体管的几点使用知识!
  10. 访中科曙光智能计算技术总监许涛:重新认识面向未来的AI服务器和云计算中心...