day7:
1.编写程序求 1+3+5+7+……+99 的和值
解题思路:
1.定义一个变量用来记录累加求和
2.利用for循环获取1-100之间的所有数字
3.利用if语句进行判断,如果是奇数就累加
4.打印求的和
2.输出所有的水仙花数
a)所谓水仙花数是指一个数3位数,其每位数字立方和等于其本身,
如 153 = 1*1*1 + 5*5*5+3*3*3
b)公式:
三位数 = 个位数*个位数*个位数 + 十位数*十位数*十位数 + 百位数*百位数*百位数
c)关键问题是怎么获取个位数,十位数,百位数
百位数:153-->1==>153/100=1
十位数:153-->5==>153/10=15==>15%10=5
个位数:153-->3==>153%10=3
解题思路:
1.定义3个变量,用来记录拆分出来的百位数,十位数,个位数
2.利用for循环获取100-999之间的所有3位数
3.利用整除和取模拆分出来百位数,十位数,个位数
4.利用公式判断当前的3位数是否为水仙花数
5.如果是水仙花数则输出
3.利用for循环打印 ABCDEFG...XYZ,26个大写字母与26个小写字母
利用字符的存储原理-->编码表来实现
A-->B==>(char)(A+1)==> A+=1 ==> A++
a-->b==>(char)(a+1)==> a+=1 ==> a++
解题思路:
1.定义两个变量,用来记录当前要打印的字符
2.利用for循环完成A-Z的打印,需要循环26次
3.在循环中打印当前变量
4.让变量变化A++
4.利用 for 循环打印 9*9 表
如:
1*1=1
1*2=2 2*2=4
1*3=3 2*3=6 3*3=9
解题思路:
1.先完成for循环的外层循环,可以控制打印多少行(n)
2.再完成for循环的内层循环,可以控制每行打印多少个
3.利用乘法表公式,完成打印(不换行)
i:外层循环变量
j:内层循环变量
乘法表公式:j+"*"+i+"="+j*i
4.打印完每行之后换行
5.定义打印数组元素方法,按照给定的格式打印[11, 33, 44, 22, 55]
分析:
打印的内容
数组中所有的元素
[,]
解题思路:
1.定义打印数组元素方法
返回值类型:void
方法名:printArray
参数列表:int[] arr
2.先打印左中括号"["
3.遍历数组,获取数组中的每一个元素
4.判断是否为数组的最后一个元素length-1
true:打印当前元素和右中括号"]"
false:打印当前元素和逗号","
6.数组元素逆序(数组中元素的最远端位置交换)
注意:不是数组反向输出
解题思路:
1.定一个方法完成数组的逆序
返回值类型:void
方法名:reverse
参数列表:int[] arr
2.遍历数组,获取数组中的所有元素
初始化表达式:定义两个变量int min=0, int max = arr.length-1
布尔表达式:min<max
步进表达式:min++,max--
3.利用第三方变量完成元素的交换
临时变量 = 最小值;
最小值 = 最大值;
最大值 = 临时变量;
7.数组元素普通查找
找到一个数字在数组中第一次出现的索引,没有找到就返回-1
解题思路:
1.定义一个方法,完成数组元素普通查找
返回值类型:int
方法名:find
参数列表:int number, int[] arr
2.遍历数组,获取数组中的每一个元素
3.用传递过来数字和数组的当前元素比较
true:找到就返回当前元素的索引
false:继续循环
4.如果循环完成,还没有找到就返回-1
day8:
1.Eclipse的下载、安装、卸载
a)下载 http://www.eclipse.org
b)安装 (只需要解压后就能使用)
c)卸载(只需要将文件夹删除就可以了)
d)注意: 开发软件的安装目录中,尽量不要出现空格与中文
2.Eclipse的基本使用
a)选择工作空间
b)新建项目
c)新建包
d)新建HelloWorld源文件
e)编译运行HelloWorld步骤
3.Eclipse快捷键的使用
a)内容辅助键 Alt+/
自动补齐main方法 main 然后 Alt+/
自动补齐输出语句 syso 然后 Alt+/
b)格式化Ctrl+Shift+f
代码区域右键 -- Source – Format
c)自动导包: Ctrl+Shift+o
如果当前类在多个包中都存在,这时候使用Ctrl+shift+o,进行选择一个包导入即可。
d)注释
i.单行注释
加注释: 先选中需要注释的内容,然后 Ctrl+/
取消注释:先选中需要取消注释的内容, 然后 Ctrl+/
ii.多行注释
加注释: 先选中需要注释的内容,然后 Ctrl+Shift+/
取消注释:先选中需要取消注释的内容, 然后 Ctrl+Shift+\
4.断点调试步骤
a)设置断点
代码区域左边的空白位置双击即可
b)怎么运行断点的程序
代码区域右键 -- Debug as -- Java Application
c)点哪里一行一行执行代码,查看代码执行流程,和变量变化情况
点击 工具栏中的Step Over (执行下一行)
快捷键F6 看到每一步程序的执行过程
d)如何消除断点
把设置断点的方式再执行一遍
切换到Debug视图,选择 Breakpoints -- Remove All Breakpoints 就是2个XX的图标
5.项目的删除
a)在项目区域删除
在左侧PackageExplorer区域对指定项目右键,点击delete删除
b)在硬盘上删除
在左侧PackageExplorer区域对指定项目右键,点击delete删除,同时选中下面的在硬盘上删除(Delete project contents on disk)
6.项目的导入
a)在左侧的PackageExplorer区域右键,选择 import
b)选择 General -- Existing Projects into Workspace
c)选择后,点击 next
d)在新的窗口中,点击 Browse 找到需要导入的项目(注意,找到项目的名字位置就可以了),选中要导入的项目,点击Copy复选框,点击Finish完成。
e)注意事项
Eclipse中已经存在的同名项目不能再次导入
day9:
1.理解什么是面向过程、面向对象
a)面向过程的程序设计方式,是遇到一件事时,思考“我该怎么做”
b)面向对象的程序设计方式,是遇到一件事时,思考“我该让谁来做”
c)面向对象是一种思维方式,关注功能,关注具备功能的对象,关注结果,不关注实现过程。
d)面向对象基于面向过程。
e)面向对象将功能封装进对象,强调具备了功能的对象,不关注过程。就是将功能封装进类中,当我们想要使用到这个功能的时候,不需要考虑如何去完成这个功能,而是考虑谁具备了这个功能。
2.类与对象
a)类,用于描述多个对象的共同特征,它是对象的模板。
b)对象,用于描述现实中的个体,它是类的实例。
c)类的定义:使用关键字class来定义java中的类
格式:
class 类名 {
//属性(成员变量)
数据类型 变量名;
…
//方法(成员方法)
修饰符 返回值类型 方法名(参数){ }
…
}
d)创建对象:
格式:
类名 对象名 = new 类名();
3.封装(private关键字)
a)封装,把对象的属性与方法的实现细节隐藏,仅对外提供一些公共的访问方式
b)封装的体现:
变量:使用 private 修饰,这就是变量的封装
方法:也是一种封装,封装了多条代码
类: 也是一种封装,封装了多个方法
c)private关键字,私有的意思
它可以用来修饰类中的成员(成员变量,成员方法)
private的特点:
private修饰的成员只能在当前类中访问,其他类中无法直接访问
4.this关键字
a)this关键字,代表当前对象的引用
b)this是在方法中使用的,哪个对象调用了该方法,那么this就代表调用该方法的对象引用
c)this的作用:用来区别同名的成员变量与局部变量(this.成员变量)
5.成员变量与局部变量区别
a)定义位置上的区别
成员变量,定义在类中,方法外
局部变量,方法内,语句内
b)作用域不同
成员变量,作用范围是整个类
局部变量,方法内,语句内
c)默认值不同
成员变量,有自己的默认值
局部变量,没有默认值,不赋值不能使用
d)内存位置不同
成员变量,跟随对象进入堆内存存储
局部变量,跟随自己的方法,进入栈内存
e)生命周期不同
成员变量,跟随对象,在堆中存储,内存等待JVM清理 生命相对较长
局部变量,跟随方法,方法出栈,就消失 生命相对较短 |
|