寒假java学习基础篇46~60

public---修饰符,公共的 static----属于类变量

java是值传递

1.方法重载

2.命令行传参

命令窗口使用:javac 生成class文件时,java文件内有(引入路径)

package com.kuang.method;要回到路径前(路径会执行一遍)

有参数时加在后面,如:Java demo03 123

3.可变参数

Int ...i -----不定数量的参数,本质是数组,引用按数组方法

可变参数必须放在后面(int i,...a:5,1,2,3)类型要相同

public class Demo04{

public static void main(String[] args){

Demo04 demo04 = new Demo04();

demo04.test(x:1,2,3,4,45,5);

}

public void test(int x,int...i){ {

}}

4. 递归

public static int f(int n){

if(n==1){

return 1;}

else{

return n*f(n-1)

函数调用自己,注意避免死循环(递归占用大量空间内存,少用)

5.数组

声明可以和创建写到一起:int[] a=new a[10]

初始化默认为0,静态初始化设置几位就是几位

数组对象在堆数组对象在堆中

public static void main(String[] args) {
    //静态初始化:创建+赋值
    int[] a = {1, 2, 3, 4};
    System.out.println(a[0]);
    //动态初始化:包含默认初始化
    int[] b=new int[10];
    b[0]=10;
    b[1]=10;
}

 6.Arrays类

需导入包 import java.util.Arrays(工具,用起来方便)

Arrays.toString(a)---打印整个数组

Arrays.sort(a)---数组进行排序,升序

Arrays.fill(a,2,4,0)---a数组从2到4被0填充(中间自动填补)

 

int a={1,2,3,4,5,6}; System.out.println(a);//输出I@4554617c(哈希值) System.out.println(Arrays.toString(a));//打印整个数组

7.稀疏数组

public class demo4 { public static void main(String[] args) {

//创建一个二维数组11*11 0 1 2

int[][] array1=new int[11][11];

array1[1][2]=1;

array1[2][3]=2;

for(int[] ints : array1){

for(int anInt :ints){

System.out.print(anInt+"\t"); }

System.out.println("\n"); } //转换成稀疏数组保存

int sum =0;//获取有效值数量

for (int i = 0; i < 11; i++) {

for (int j = 0; j < 11; j++) {

if (array1[i][j]!=0){ sum++; } } }

System.out.println("有效值的个数:"+sum); //创建一个稀疏数组

int [][] array2=new int[sum+1][3];

array2[0][0]=11;

array2[0][1]=11;

array2[0][2]=sum; //遍历二维数组,将非零存进稀疏数组

int count=0;

for (int i = 0; i < array1.length; i++) {

for (int j = 0; j < array1[i].length; j++) {

if(array1[i][j]!=0){

count++;

array2[count][0]=i;

array2[count][1]=j;

array2[count][2]=array1[i][j]; } } } //输出稀疏数组

System.out.println("稀疏数组");

for (int i = 0; i < array2.length; i++) {

System.out.println(array2[i][0]+"\t" +array2[i][1]+"\t" +array2[i][2]+"\t"); }

//还原稀疏数组

int[][] array3=new int[array2[0][0]][array2[0][1]]; //给其中的元素还原他的值

for (int i = 1; i < array2.length; i++) {

array3[array2[i][0]][array2[i][i]]=array2[i][2]; } //输出

for(int[] ints : array1){

for(int anInt :ints){

System.out.print(anInt+"\t"); }

System.out.println("\n"); } } }
 

8.面向对象

三大特征

封装,继承(子继承父),多态(同种事物不同形态)

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值