java - 第一阶段总结
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 - 第一阶段总结相关推荐
- Java 第一阶段建立编程思想 【房屋出租系统】
Java 第一阶段建立编程思想 [房屋出租系统] 1. 项目需求说明 2. 项目界面 1. 主菜单 2. 新增房源 3. 查找房源 4. 删除房源 5. 修改房源 6. 房屋列表 7. 退出系统 3. ...
- java第一阶段知识_坚持:学习Java后台的第一阶段,我学习了那些知识
最近的计划是业余时间学习Java后台方面的知识,发现学习的过程中,要学的东西真多啊,让我一下子感觉很遥远.但是还好我制定了计划,自己选择的路,跪着也要走完!关于计划是<终于,我还是下决心学Jav ...
- Java第一阶段筑基期修炼法则(拜山帖)
*作为初学者在今后本小白将不定时分享在Java崎岖的道路上的艰难险阻与各位君共勉!* 第一阶段Java的学习路线我准备这么走: ①基础语法(java的敲门砖建立java编程逻辑)②面向对象(java的 ...
- java第一阶段知识_第一阶段 Java语言(下)
本课程是Android入门教程之Java核心技术阶段,是Java开发高级部分,安卓开发中的基础知识,讲解以下内容: (一)反射与内省 讲解了什么是反射,反射在应用中的作用,相关反射的API,如Clas ...
- java第一阶段(day14)MySQL
1.DBMS 为什么学习io?数据持久化. io不太好用.逻辑操作比较复杂.换另外一种技术实现数据的持久化?将数据存储到库里面----->数据库 Database听说过的数据库: Mysql o ...
- java第一阶段面面试题_java基础阶段几个必会面试题
1.说出你对面向对象的理解 在我理解,面向对象是向现实世界模型的自然延伸,这是一种"万物皆对象"的编程思想.在现实生活中的任何物体都可以归为一类事物,而每一个个体都是一类事物的实例 ...
- java第一阶段(day01)
课堂笔记编写软件:typora.(是一个md文件,html开发的,用低版本,高版本收费) 一.了解java 1.1 java是什么 是一门高级的计算机编程语言. 计算机编程语言有如下三类: 1.1 机 ...
- java第一阶段(day11)Utill包常用类
一周总结 异常 1. 什么是异常?程序运行期间 出现了不正常的现象. 异常/错误2. 异常分类编译时异常: IoExceptionParseExceptionClassNotFoundExceptio ...
- java第一阶段(day05)面向对象
回顾 方法 为什么使用方法?1. 都放在一个方法中 代码量过多 一个方法里面代码量<=802. 提取重复的代码 封装成一个单独的方法 直接多次调用方法即可3. 方法中 调用很多小的方法方法组成部 ...
最新文章
- 为所欲为——教你什么才是真正的任意分频
- 什么是JAP,什么是ORM,与hibernate的关系
- android 获取设备的serialNumber和Mac地址
- 单库单表到多库多表的全量复制方案
- 华硕灵耀pro16参数 华硕灵耀pro16怎么样
- 云计算 第四章 微软云计算 Windows Azure
- 国产热门操作系统Deepin试用感受
- 如何配置NAT Server?
- 基于Java的石头迷阵小游戏的设计与实现
- java访问FTP可重用ssl通道
- 快递单号全部查询,物流信息如何快速导出
- fs的负载均衡 opensip+keeplive-fs
- 推荐学习PPT的几本书
- cadence allegro16.6 pcb文件转pads pcb文件方法教程
- Ubuntu操作系统如何截图
- 南京有哪些“牛批”的互联网公司?
- png四通道透明背景图成功加入到视频帧中 使用了mask原理
- 服务器开发系列(五)——服务器运维
- 『转』How to Think About Your Career
- 视频剪辑效果制作Final Cut Pro(fcpx)
热门文章
- JS学习笔记 - 代码复用
- 常见网站各种类型页面的缓存时间及涉及的http头
- 获取邮箱通讯录,msn好友列表的C#源码
- php 数字转中文函数 1转一,一个阿拉伯数字转中文数字的函数-PHP教程,PHP函数
- java 模拟实现mq,RabbitMQ的5种模式,并使用java进行模拟操作
- fwrite ,fprintf的作用与区别
- FPGA 中 IO 口时序分析(Input Delay /output Delay)
- 《计算机基础(2008版)》第4次作业,《计算机基础(2008版)》第5次作业.doc
- 场效应晶体管的几点使用知识!
- 访中科曙光智能计算技术总监许涛:重新认识面向未来的AI服务器和云计算中心...