产生一个随机数 -- n -- 产生n以内的整数,默认从0开始int random = new Random().nextInt(100) ;//[0,100)
变量
--1,随着变量出现的位置不同,作用和名字都不同.
--2,出现在成员位置(在类里方法外)的变量叫做成员变量--整个类中都有效--不用赋值也有默认值
--3,出现在局部位置(方法里)的变量叫做局部变量--方法里有效--必须手动赋值
--4,变量使用时有一个原则:就近原则
//测试 变量
public class Test3_Variable {
//2,出现在类里方法外的变量--是成员变量--作用于整个类中--可以不赋值,会有默认值
//4,成员变量,都有默认值.
//整数类型默认值是0,小数类型默认值是0.0,boolean类型默认值是false
int count ;
int age = 10;
boolean flag;
//单元测试JUnit方法:
//要求:@Test public void 方法名(){方法体}
//测试:选中方法名,右键,run as...junit test...
@Test
public void show() {
//1,出现在方法里的变量--是局部变量--必须初始化--作用于方法里
int age = 0;
System.out.println(age);//3,就近原则 - 输出0
System.out.println(count);
if(! flag) {//flag的默认值是false,取反,就是true,条件成立,输出1.
System.out.println(1);
}
}
}
方法的重载Overload
是指在一个类里的现象,存在多个同名的方法,但是,参数列表不同(可以个数相同但是类型不同 ,也可以个数不同)
//目的:为了体现程序的灵活性,对外提供多个同名方法,方便外界使用
public class Test1_Overload {
public static void main(String[] args) {
//数字求和
add(5,10);//匹配add(int a,int b)
add(1.1,2.2);
}
//add(1,2)
public static void add(int a,int b) {
System.out.println(a+b);
}
//add(1.1,2.2)
public static void add(double a,double b) {
System.out.println(a+b);
}
//add("jack",1,2)
public static void add(String a,int b,int c) {
System.out.println(a+b+c);
}
//add(1,2,"jack")
public static void add(int a,int b,String c) {
System.out.println(a+b+c);
}
}
数组
--1,概念
作用就是用来存储多个数据的容器.类似于水杯.英文名称叫Array.标志是[].专门用来存多个 相同类型的 数据
--2,特点
-- 数据都有下标
-- 下标是从0开始的,下标的最大值是数组的长度-1
-- 想要获取数组里的数据,存的是啥? -- a[0] a[1] a[2] ...
-- 数组一旦创建,长度不能改变!!
--3,创建数组 -- 数组类型[] 数组名 = new 数组类型[数组的长度] ;
--动态初始化
-- int[] a = new int[5];
--静态初始化
-- int[] b = new int[]{1,2,3,4,5};
-- int[] c = {1,2,3,4,5};
public class Test3_Array {
public static void main(String[] args) {
//1,创建数组
//静态--char类型的默认值\u0000
char[] a = new char[] {'h','e','l','l','o'} ;
char[] b = {'h','e','l','l','o','e','l','l','o','e',' ','o','e','l','l','o'} ;
System.out.println(a.length);//获取数组长度
System.out.println(b.length);//获取数组长度
//动态
char[] c = new char[5];//都是默认值\u0000
c[0] = 'h' ;//把0下标对应的元素修改为'h'
c[1] = 'e' ;//把1下标对应的元素修改为'e'
//c[2] = 'l' ;//2下标没改,就是默认值本身
c[3] = 'l' ;//把3下标对应的元素修改为'l'
c[4] = 'o' ;//把4下标对应的元素修改为'o'
//TODO 数组里有下标为5的元素吗?????
System.out.println(a);
System.out.println(b);
System.out.println(c);
}
}
数组工具类Arrays
--1,Arrays.toString(数组)--把数组里的数据,拼接成字符串展示
--2,Arrays.sort(数组)--把数组里的数据进行排序,默认是从小到大
--3,Arrays.copyOf(数组,新的长度)--把原数组进行复制
public class Test5_Arrays {
public static void main(String[] args) {
int[] a = new int[] {1,2,3,4,5} ;
method(a);//toString()---用来把数组里的数据变成字符串展示
sortArr();//sort()--可以对无序数组进行排序
copyOfArr();//copyOf()---复制数组
}
//copyOf()---复制数组
public static void copyOfArr() {
//准备原数组
double[] a = {1.1,2.2,3.3,4.4,5.5,6.6};
//开始复制--copyOf(m,n)--m是原数组名称--n是新数组的长度
//当 新数组的长度 > 原数组长度时,会扩充新的位置--相当于扩容
double[] b = Arrays.copyOf(a, 10);
//[1.1, 2.2, 3.3, 4.4, 5.5, 6.6, 0.0, 0.0, 0.0, 0.0]
System.out.println( Arrays.toString(b) );
//当 新数组的长度 < 原数组长度时,会截取前面的一部分数据--相当于缩容
double[] c = Arrays.copyOf(a, 4);
//[1.1, 2.2, 3.3, 4.4]
System.out.println( Arrays.toString(c) );
}
//sort()--可以对无序数组进行排序
public static void sortArr() {
//创建乱序数组
int[] a = {9,12,3,7,10};
//排序
Arrays.sort(a);
//打印数组
System.out.println(a);//数组在内存中的地址值--[I@15db9742
System.out.println( Arrays.toString(a) );//[3, 7, 9, 10, 12]
}
//toString()---用来把数组里的数据变成字符串展示
public static void method(int[] arr) {
//打印数组里的数据
// for (int i = 0; i < arr.length; i++) {
// System.out.println(arr[i]);
// }
// String arrs = Arrays.toString(arr);
// System.out.println(arrs);//[1, 2, 3, 4, 5]
//1,toString()---用来把数组里的数据变成字符串展示
System.out.println( Arrays.toString(arr) );//[1, 2, 3, 4, 5]
}
}
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。