首页 > 其他 > 详细

暑假自学(10)

时间:2020-07-15 22:28:53      阅读:43      评论:0      收藏:0      [点我收藏+]

今天继续了数组的学习,对数组的内存方面和算法方面进行了一个复习吧。

数组在内存方面确实很重要,很经典的例子:

int [] a = new int[]{1,2,3};

int [] b = new int[3];

b = a;

b[0] = 0;

system.out.println(a[0]+"  "+b[0]);

结果是0  0;

原因是a和b都代表了地址,a数组的地址给了b,在栈中有a和b两个变量,但在堆中只有一个数组,a与b只是指向同一个数组而已,所以改变b数组就是改变了堆中唯一一个数组,a也指向那个数组,所以a也会改变

之后开始面向对象

面向对象:
三条主线:
1.Java类及类的成员:属性、方法、构造器;代码块、内部类
2.面向对象的三大特征:封装性、继承性、多态性、(抽象性)
3.其他关键字:this、super、static、final、abstract、interface、package、import
样例:
class Person{
String name;
public void eat(){
system.out.println("");
}
}
Java中数据成员的访问权限,每一个数据成员前写明,没有写明就是缺省

//*************
随机数 (数据类型,默认为double)(Math.random()*((max-min+1)+min))
括号不能省略

 

面向对象中数据成员的定义的权限都要单独在前面写清

/************************************/

试验代码

public class Array_class {
public static void main(String[] args) {
Student [] std = new Student[20];
for(int i=0;i<20;i++)
{
std[i] = new Student();
std[i].num = (int)(Math.random() * ((20-1+1)+1));
std[i].state = (int)(Math.random() * ((6-1+1)+1));
std[i].score = (int)(Math.random()*((100-0+1)+1));
std[i].output3();
}
}
}
class Student{
int num;
int state;
int score;
public void output()
{
System.out.println("number:"+num);
System.out.println("state:"+state);
System.out.println("score:"+score);
System.out.println();
}
public void output3()
{
if(state==3)
output();
}
}

暑假自学(10)

原文:https://www.cnblogs.com/buxiang-Christina/p/13307821.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!