JAVA学习day01_JAVASE

前言

主要是针对我自己个人的一些不理解之处,并不包含所有知识点,仅为我自用的查缺补漏笔记。希望能坚持下去然后找到工作。

一、Scanner

通过Scanner来获取用户的输入

(1). 创建一个Scanner对象:

'Scanner s = new Scanner(System.in);'

(2). Scanner的用法

import java.util.Scanner; 
 
public class ScannerDemo {
    public static void main(String[] args) {
        Scanner scan = new Scanner(System.in);
        // 从键盘接收数据
 
        // next方式接收字符串
        System.out.println("next方式接收:");
        // 判断是否还有输入
        if (scan.hasNext()) {
            String str1 = scan.next();
            System.out.println("输入的数据为:" + str1);
        }
        scan.close();
    }
}

scan.next()遇到空格即停止,无法往下读,而scan.nextLine()会继续往下读。相对应的用法包括hasNextInt()、hasNextFloat()等可以对接下来的输入进行判断是否为整数或浮点数。

3. Scanner的关闭

IO使用完后应进行关闭,通过scan.close()语句进行关闭,否则会一直占用刺痛资源,应在调用Scanner时,先行写好scna.close()防止遗漏。

二、注解

注解有三种,前两种为//和/* /,第三种为说明注释,以/**开始/结束。
其中//为单行注解,/* /为多行注解,/* */可以使用javadoc生成信息,并输出到HTML文档中。

javadoc标签:

标签 描述 实例
@author 标识一个类的作者 @author description
@exception 标志一个类抛出的异常 @exception exception-name explanation
@param 说明一个方法的参数 @param parameter-name explanation
@return 说明返回值类型 @return explanation
@since 标记当引入一个特定的变化时 @since release
@throws 和 @exception标签一样. The @throws tag has the same meaning as the @exception tag.
@version 指定类的版本 @version info

三、增强for循环

for(声明语句 : 表达式){
//代码句子
}

此种用法中,表达式是要访问的数组名,或者是返回值为数组的方法,例:

 int [] numbers = {10,20,30,40,50};
        for (int x:numbers){
            System.out.println(x);
        }

四、命令行传参

写好代码并存为Demo_03;

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

使用cmd进入Demo_03文件的文件夹下,可先在文件管理器中定位后在前面输入“cmd ”。如:

cmd D:\study\OneMonthsOneJob\src\Demo_1204

然后在命令行中输入javac Demo_03.java以实现编译

然后转到src文件夹下,可使用cd../向上一层回退
最后输入java Demo_1024.Demo03 this is HF即可输出结果。
其中 Demo_1024是包名,Demo03 是class名,最后是参数,参数可以用-unicode utf-8等修饰。

五、可变参数

在方法的声明中,指定参数类型后,加一个省略号(...)。一个方法只可指定一个可变参数,且只能在最后。

    public static void main(String[] args) {
        DemoVariableParameter demo02 = new DemoVariableParameter();
        demo02.test(1,2,3,4,5,6);
    }
    public void test(int... i){
        System.out.println(i[0]);
        System.out.println(i[1]);
        System.out.println(i[2]);
        System.out.println(i[3]);
        System.out.println(i[4]);
        System.out.println(i[5]);
    }

六、递归

求阶乘:

public static void main(String[] args) {
        System.out.println(f(5));
    }

    public static int f(int n){
        if(n == 1){
            return 1;
        }else{
            return n*f(n-1);
        }
    }

七、Java内存

堆和栈

比如建一个数组,先用int[] arr声明一个数组,然后创建数组arr = new int[10]。第一步就是在堆栈中压入一个arr,第二步就是在堆中开辟空间。

静态和动态初始化

静态:创建+赋值

int[] a = {1,2,3};

动态:包含默认初始化(创建完数组后,隐式初始化)

int[] b = new int[10];
b[0] = 10;
原文地址:https://www.cnblogs.com/ebym/p/15643112.html