首页 > 代码库 > 查漏补缺(java)
查漏补缺(java)
一、匿名数组:
Java中提供一种创建数组对象并同时赋予初始值的简化书写形式
int[] a = {1,2,5,4};
在不创建新变量的情况下,重新初始化一个数组
int b[] = {1,2,3,4};
a = b;
简化:a = new int[]{1,2,3,4};
二、数组拷贝:
int ary[] = {1,2,3,4,5,6,7,8,9,10};
把数组ary的所有元素拷贝到数组b中
int b[] = Arrays.copyOf(ary,ary.length);
改变数组ary的大小
ary = Arrays.copyOf(ary,2*ary.length);
三、数组排序:
快速排序a数组中的元素的值
Arrays.sort(a);
五、类与类之间的关系:
1.依赖(use a)
2.聚合 (has a)
3.继承 (is a)
1.依赖:如果一个类的方法操作另一个类的对象,那么我们就说一个类依赖于另一个类
PS:应该尽可能的减少相互依赖的类减少至最少,如果类A不知道类B的存在,它就不会关心类B的任何变化(B的改变不会导致A类的任何bug)
用术语:让类之间的耦合度最小
2.聚合:类A对象包含类B的对象
3. 继承
Date类,它的对象描述一个时间点
System.out.println(new Date());//匿名对象
也可以将一个方法应用于刚刚创建的对象,Date类有一个toString方法,将返回的日期的字符串描述
String s = new Date().toString();
以上两例,构造对象仅使用一次,如果要多次使用 Date bir = new Date();
六、对象与对象之间存在一个重要的区别:
如:Date d;//定义一个对象变量d
String s = d.toString();
d不是一个对象,实际上也没有引用对象,它只是一个对象变量,一个名字,一个代号而已,不能将Date方法应用于这个变量
所以,必须首先初始化变量d,这里有俩个选择:
1.用新的构造的对象初始化
d = new Date();
2.让这个变量引用一个已存在的对象
Date dir = new Date();
d = bir;//现在两个变量共用一个对象
Java中提供一种创建数组对象并同时赋予初始值的简化书写形式
int[] a = {1,2,5,4};
在不创建新变量的情况下,重新初始化一个数组
int b[] = {1,2,3,4};
a = b;
简化:a = new int[]{1,2,3,4};
详见代码:
public class Main { public static void main(String[] args) { //匿名数组的定义方式new int[]{1,5,1,9} int a[] = {1,5,1,9}; int b[]; b = a; System.out.println(b[1]); b = new int[]{1,5,1,9};//这是上面三行代码的简化 System.out.println(b[1]); } }
二、数组拷贝:
int ary[] = {1,2,3,4,5,6,7,8,9,10};
把数组ary的所有元素拷贝到数组b中
int b[] = Arrays.copyOf(ary,ary.length);
改变数组ary的大小
ary = Arrays.copyOf(ary,2*ary.length);
import java.lang.reflect.Array; import java.lang.reflect.Constructor; import java.sql.Date; import java.util.Arrays; public class Main { public static void main(String[] args) { int ary[] = {1,2,3,4,5,6,7,8,9,10}; //System.out.println(ary.length); int b[] = Arrays.copyOf(ary,ary.length);//把ary里的元素拷贝到b System.out.println(b[1]); System.out.println(b.length);//b的元素个数和ary数组相同 ary = Arrays.copyOf(ary, 2*ary.length);//把ary数组的大小变大2倍 System.out.println(ary.length); } }
三、数组排序:
快速排序a数组中的元素的值
Arrays.sort(a);
代码:
import java.util.Arrays; public class Main { public static void main(String[] args) { int ary[] = {8,4,56,6,7,21,1}; Arrays.sort(ary); //for(int i = 0;i< ary.length;i++) for(int i : ary) { //System.out.println("ary["+i+"] = "+ary[i]); System.out.println("ary["+i+"] = "+i); } } }
for(int i = 0;i<ary.length;i++) { System.out.println(ary[i]);} ↓ for(int i : ary) System.out.println(i);//两者等价
应用Math类中的random方法
(int)(Math.random()*n)方法随机产生一个0到1之间(包含0,不包含1)的随机浮点数,用n乘以这个浮点数就可以得到0到n-1之间的随机数
import java.util.Arrays; public class Main { public static void main(String[] args) { int ary[] = {8,4,56,6,7,21,1}; Arrays.sort(ary); int ran = (int)(Math.random()*ary.length); System.out.println("生成的随机数是"+ran); System.out.println("打印的数组元素"+ary[ran]); } }
五、类与类之间的关系:
1.依赖(use a)
2.聚合 (has a)
3.继承 (is a)
1.依赖:如果一个类的方法操作另一个类的对象,那么我们就说一个类依赖于另一个类
PS:应该尽可能的减少相互依赖的类减少至最少,如果类A不知道类B的存在,它就不会关心类B的任何变化(B的改变不会导致A类的任何bug)
用术语:让类之间的耦合度最小
2.聚合:类A对象包含类B的对象
3. 继承
Date类,它的对象描述一个时间点
System.out.println(new Date());//匿名对象
也可以将一个方法应用于刚刚创建的对象,Date类有一个toString方法,将返回的日期的字符串描述
String s = new Date().toString();
以上两例,构造对象仅使用一次,如果要多次使用 Date bir = new Date();
六、对象与对象之间存在一个重要的区别:
如:Date d;//定义一个对象变量d
String s = d.toString();
d不是一个对象,实际上也没有引用对象,它只是一个对象变量,一个名字,一个代号而已,不能将Date方法应用于这个变量
所以,必须首先初始化变量d,这里有俩个选择:
1.用新的构造的对象初始化
d = new Date();
2.让这个变量引用一个已存在的对象
Date dir = new Date();
d = bir;//现在两个变量共用一个对象
查漏补缺(java)
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。