Java_oop
回顾:
/*
杨辉三角形后半部分
1
1 1
1 2 1
1 3 3 1
1 4 6 4 1
1 5 10 10 5 1
思路
int[][] arr = new int[6][6];
2:
arr[0][0]=1;
arr[1][0]=1;
arr[1][1]=1;
arr[2][0]=1;
arr[2][2]=1;
arr[3][0]=1;
arr[3][3]=1;
arr[2][1]=arr[1][0]+arr[1][1]
arr[m][n]=arr[m-1][n-1]+arr[m-1][n]
for(int i=0;i<arr.length;i++){
for(){
arr[m][n]=arr[m-1][n-1]+arr[m-1][n]
}
}
*/
class Array2Test01{
public static void main(String[] args) {
int[][] arr = new int[8][8];
for (int i=0;i<arr.length ;i++ ) {
arr[i][0]=1;
arr[i][i]=1;
//for (int j=1; j<=i;j++ ) {
//arr[i][j]=arr[i-1][j-1]+arr[i-1][j];
//}
}
for (int i=2;i<arr.length ;i++ ) {
for (int j=1;j<arr.length ;j++ ) {
arr[i][j]=arr[i-1][j-1]+arr[i-1][j];
}
}
printArr(arr);
}
public static void printArr(int[][] arr){
for (int i=0;i<arr.length; i++) {
for (int j=0;j<=i ; j++) {
System.out.print(arr[i][j]+” “);
}
System.out.println();
}
}
}
看程序写结果:
class parameter{
public static void main(String[] args){
int a = 10;
int b = 20;
System.out.println(“a:”+a+”,b:”+b);//a:10,b:20
change (a,b);
System.out.println(“a:”+a+”,b:”+b);//10,20
int[] arr = {1,2,3,4,5};
change(arr);
System.out.println(arr[1]);//4
}
public static void change(int a,int b){
System.out.println(“a:”+a+”,b:”+b);//a:10,b:20
a = b;//a:20
b = a + b;//40
System.out.println(“a:”+a+”,b:”+b);//a:20b:40
}
public static void change(int[] arr){
for(int x=0; x<arr.length; x++)
{
if(arr[x]%2==0)
{
arr[x]*=2;
}
}
}
}
数据加密:
/*
某个公司采用公用电话传递数据信息,
数据是小于8位的整数,为了确保安全,
在传递过程中需要加密,加密规则如下:
首先将数据倒序,
然后将每位数字都加上5,
再用和除以10的余数代替该数字,
最后将第一位和最后一位数字交换。
请任意给定一个小于8位的整数,
然后,把加密后的结果在控制台打印出来。
123456
思路:
1.123456
2.654321
a:11 10 9 8 7 6
b:1 0 9 8 7 6
c:6 0 9 8 7 1
3:输出
1:定义一个变量保存数值
int i=123456;
2.将数值倒序加密
a: 拿出数值的每一位的数字
123456%10 =6
/10%10=5
/10/10%10=4
…
int num=123456;
int[] arr ;
int index=0;
while(num>0){123456,12345
num%10;//6,5,4,3,2,1
arr[index]=6
index++;
//arr[1]=num%10
//arr[2]=4
//arr[3]=3
//arr[4]=2
//arr[5]=1
{6,5,4,3,2,1}
num/10;//12345,1234,123,12,1
}
b: 倒序
c: 将数值每一位+5%10
arr[0]+%10;
d:第一位和最后一位交换
arr[0]<=>arr[arr.length-1]
3.输出
*/
class jiami{
public static void main(String[] args) {
}
}
今天内容:
面向对象概述
c –> 面向过程
java –>面向对象(oop)
面向过程:
每一件事都具体到过程
吃饭:
想好吃什么->买菜->切菜洗菜->->热锅->…->炒完了->放碗里->吃
面向对象:
想好吃什么->去菜馆->点菜>开吃
面向过程与面向对象:
从一个执行者变为了指挥者
买电脑:
看配置->查配置信息->找电脑店->上网查电脑店的信息->去电脑店找电脑->买
想好价位->找到班里懂电脑的人->给钱他->他去买->买回来了
面向对象是基于面向过程
万物皆对象:
动物
狗:
狗–》动物
猫:
猫-》动物
动物!=狗
狗==动物
狗是一个动物
动物不是狗
狗 is 动物
动物 no 狗
学生–》对象–>java文件
属性–>属性–>变量:
姓名
年龄
性别
班级
动作–>方法:
睡觉
吃饭
说话
把大象装进冰箱:
面向过程:
class Demo{
main{
Syso(“打开冰箱门”);
Syso(“把大象装进去”);
Syso(“把大象zouchu去”);
}
}
面向对象:
class 大象{
in(“进入冰箱”);
go(“出去”);
}
class 冰箱{
open (“开门”)
close (“关门”);
}
}
class Demo{
main{
open(“开门”)
in(“进入冰箱”);
close(“关门”);
}
}
便于维护:
面向对象– 实例化 对象
// 动物类
// 属性
// 姓名
// 性别
// 年龄
// 动作
// 睡觉
// 吃饭
// 咬人
class Amail{
String name;
String sex;
int age;
public static void sllep(){
System.out.println(“睡觉”);
}
public static void eat(){
System.out.println(“吃饭”);
}
public static void yaoren(){
System.out.println(“咬人”);
}
}
动物测试类:
class AmailTest{
public static void main(String[] args) {
// 把动物类实例化
Amail am = new Amail();
System.out.println(am.name);
System.out.println(am.sex);
System.out.println(am.age);
/*
null
null
0
*/
am.name=”大黄狗”;
System.out.println(am);//Amail@15db9742
System.out.println(am.name);//大黄狗
}
}