java基础- scanner/方法/数组


1.用户交互scanner

  1. Next()

public class demo1 {
    public static void main(String[] args) {
        //创建一个scanner对象
        Scanner scanner = new Scanner(System.in);
        System.out.println("请使用next方式进行接收:");
        //判断有无输入字符
        if(scanner.hasNext()){
            String str=scanner.next();
            System.out.println("输入的内容是"+str);
        }
        //关闭scanner,否则一只占用资源
        scanner.close();
    }
}
/*输出结果是:
请使用next方式进行接收:
happy newyear
输入的内容是happy
*/
  1. Nextline()

    public class demo2 {
        public static void main(String[] args) {
            //创建一个scanner对象
            Scanner scanner = new Scanner(System.in);
            System.out.println("请使用nextline方式进行接收:");
            //判断有无输入字符
            if(scanner.hasNextLine()){
                String str=scanner.nextLine();
                System.out.println("输入的内容是"+str);
            }
            //关闭scanner,否则一只占用资源
            scanner.close();
        }
    }
    /*
    请使用nextline方式进行接收:
    happy newyear
    输入的内容是happy newyear
    */
    
  2. 一定注意close掉对象,否则一直占用

2.scanner进阶使用

  1. 在while中使用scanner

    public class demo2 {
        public static void main(String[] args) {
            //创建一个scanner对象
            Scanner scanner = new Scanner(System.in);
            //判断有无输入字符
            double sum=0;
            int m=0;
            while(scanner.hasNextDouble())
            {
                double x=scanner.nextDouble();
                sum+=x;
                m++;
            }
            System.out.println(""+sum);
            System.out.println(""+m);
            //关闭scanner,否则一只占用资源
            scanner.close();
        }
    }
    

***跳过顺序结构,if,switch,while,dowhile,for, break,coutinue,goto

3.for循环

  1. System.out.println();

  2. System.out.print();

  3. 打印99乘法表

    for(int i=1;i<10;i++)
            {
                for(int j=1;j<=i;j++)
                {
                    System.out.print(""+i+"*"+j+"="+(i*j)+"\t");
                }
                System.out.println();
            }
    
  4. 快捷方式:5.for

4.增强for

  1. 用于遍历数组

    int[] numbers={1,2,3};
    for(int x:numbers){
        System.out.print(x+"\t");
    }
    
  2. debug

5.方法

  1. 方法名

    · 函数名用首字母大写的英文单词组合表示(如用动词+名词的方法),其中至少有一个动词

    · 应该避免的命名方式

    § 和继承来的函数名一样。即使函数的参数不一样,也尽量不要这么做,除非想要重载它

    § 只由一个动词组成,如:Save、Update。改成如:SaveValue、UpdateDataSet则比较好

    · 函数参数的命名规则

    § 函数参数应该具有自我描述性,应该能够做到见其名而知其意

    § 用匈牙利命名法命名

  2. public static void main(String[] args) {
          int sum=add(1,2);
          System.out.println(sum);
      }
      public static int add(int a,int b)
      {
          return a+b;
      }
    

6.方法的重载

  1. 要求

7.命令行传参

  1. 先用javac进行编译

  2. 再回到代码的包的上层,开始执行

  3. public static void main(String[] args) {
            for (int i = 0; i < args.length; i++) {
                System.out.println("args["+i+"]"+args[i]);
            }
        }
    

4.

8.可变参数

  1. 多个同类型的参数,数量可以不确定

  2. 只能有一个,且放在参数的最后

  3. public class demo2 {
        public static void main(String[] args) {
            demo2 demo=new demo2();
            demo2.test(1,2,34);
        }
        public static void test(double d,int ... x)
        {
            System.out.println(x[1]);
        }
    }
    

递归调用,没看

9.数组

  1. 申明数组

    int[] nums1;//首选

    int nums2[];

  2. 创建数组

    dataType[] arrayRefVar =new dataType[arraySize];

    nums1=new int[10];

  3. 给数组赋值

  4. 获取数组长度

    nums1.length

  5. 声明数组

    放在栈中,并不实际存在

  6. 创建数组

    放在堆中

  7. 静态初始化

    int[] a={1,2,3,4,5};
    
  8. 动态初始化

    int[] b;
    b[0]=1;
    ...
    

11.arrays类详细

  1. 在idea中输入Arrays
  2. 选择goto,选择deceleration and usages,选择左下角structure,可以查看arrays类的方法目录
  3. Arrays.sort()等

12.稀疏数组

posted @ 2020-09-27 10:20  CtrlC++  阅读(1238)  评论(0编辑  收藏  举报