JAVADay04内容

复习:
1、语句
1》赋值语句 x = 9;
2》方法调用语句 System.out.prinln();
stu.student();
MAth.max();
3》import,package
4》分支: if ,switch
if(boolean){}无括号只执行if后的一句
if语句中不可定义变量2
switch (byte,short,int,char,String,enum)
5》循环
for,while ,do-while
while与do-while 判断条件一致
6》嵌套循环
外层循环一次,内层循环全部
7》跳转语句
break,跳出循环
continue,跳出本次循环
8》标号语句
给语句体起名字
out : for()
break:out;
~············································································
1、数组:
main(String[] args)
1.定义:数组-用来存储相同数据类型的容器
2.特点:相同数据类型,有序(下标从0开始)。长度是不可变的(length)
3.声明数组:数据元素的类型[] 数组名; int[] a; int a[];
4.创建数组(申请内存空间):数组名 = new 数据元素的类型[长度];
nums = new int[10];
5.存放数据 nums[0] = 1; num[9] = 2;
6.访问数组的数据
Syetem.out.println(nums[0]);
for(ine i = 0; i<nums.length ;i++){
Syetem.out.println(nums[i]);
}
增强for循环
for(int i : nums){
Syetem.out.println(n);
}
Arrays.toString(nums);
7.main方法的args方法的使用
♥main方法直接传数据
run > Run Configuration >Arguments >Program arguments
public static void main(String[] args) {
System.out.println(Arrays.toString(args));//hashCode值
int sum = 0;
int a;
for (int i = 0; i < args.length; i++) {
a = Integer.parseInt(args[i]);
sum += a ;
}
System.out.println(sum);
}
8.数组拷贝arraycopy方法
public static void main(String[] args) {
int[] a = {1,2,3,4,5};
int[] b = new int[10];
//数组的拷贝
//arraycopy
//第一个参数:原数组
//第二个参数:原数组元素起始位置
//第三个参数:目标数组
//第四个参数:目标数组元素的起始位置
//第五个参数:复制长度
// System.arraycopy(a, 0,b, 0, 3);
// System.out.println(Arrays.toString(b));
//练习b = {0,0,3,4,0,—}
System.arraycopy(a, 2, b, 2, 2);
System.shuout.println(Arrays.toString(b));
}
public static void main(String[] args) {
//数据扩容:假的,实际创建新数组
//copyOf
//第一个参数:原数组(拷贝)
//第二个参数:扩容后的长度
String[] names = {“张三”};//一个字两个字节
// names[1] = (“李四”);//
// System.out.println(names[1]);//输出错误ArrayIndexOutOfBoundsException
names = Arrays.copyOf(names,names.length+1);
names[1] = (“李四”);//
System.out.println(Arrays.toString(names));
}
9.数组元素排序
冒泡排序:两两比较,大的沉下去、小的浮上来,从小到大
23,56,22,15,78
具体内部:
for (int i = 0; i < a.length - 1; i++) {
int j =0;
for ( j = 0; j < a.length -i- 1; j++) {
if (a[j] > a[j+1]) {
a[j] = a[j+1]^a[j];
a[j+1] = a[j+1]^a[j];
a[j] = a[j+1]^a[j];
}
}
}
选择排序:
23,56,22,15,78
具体内部:
for (int i = 0; i < a.length - 1; i++) {
int j =0;
for ( j = 0; j < a.length -i- 1; j++) {
if (a[j] > a[j+1]) {
a[j] = a[j+1]^a[j];
a[j+1] = a[j+1]^a[j];
a[j] = a[j+1]^a[j];
}} }
自带排序方法:sort( a r r a y ) ; / / r s o r t ( array); //数组升序排序 rsort( array); //数组降序排序
asort( a r r a y ) ; / / k s o r t ( array); //根据值,以升序对关联数组进行排序 ksort( array); //根据建,以升序对关联数组进行排序
arsort( a r r a y ) ; / / k r s o r t ( array); //根据值,以降序对关联数组进行排序 krsort( array); // 根据键,以降序对关联数组进行排序
2、二维数组
int[][] arrays;//先行后列
int[] arrays[];
int array[][];
int[] a[],b;//a是2维,b是1维。
int[] c = new int[2];
int[][] d = new int[2][3];
a=c;错 a=b;对 a=d;对 b=d;错
a[0]=c;对 a[0]=d;错
创建数组:arrays = new int[2][3];
arrays[0][2]=1;
使用数组元素,使用嵌套循环
♥arrays.length表示共有几行
int[][] arrays;
arrays = new int[2][3];
for (int i = 0; i < arrays.length; i++) {
for (int j = 0; j < arrays[i].length; j++) {
System.out.print(arrays[i][j]+" ");
}
System.out.println();
}
3、方法
1、方法的定义
[访问修饰符 修饰符] 方法返回值类型 方法名(形参列表){方法体;}
public private protected 没有修饰符(同一个类内)
static
返回类型:无返回值 void (可有return语句,表示方法结束,但是没必要)
有返回值的;return语句
方法名:同变量名
形参列表:同变量定义,多个参数用,分开
方法体:就是方法完成的功能代码
public static int sum(int x, int y) {
return y+x;
}
2、方法的调用
方法名(实参列表)
sum(21,56);
3、方法的重载
同一个类(继承关系)
方法名相同,参数列表不同(个数 类型 顺序)
和方法类型无关
4、值传递
值传递实例

※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※
内存:堆和栈,方法区,本地方法栈,寄存区

猜你喜欢

转载自blog.csdn.net/hyj_123/article/details/107469100
今日推荐