• 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;
    
  • 相关阅读:
    C#解压或压缩文件夹
    C#文件帮助类FoderHelper
    C#数据库帮助类SqlHelper
    非常有意思的程序猿数据比較
    hdu1066
    【SICP练习】149 练习4.5
    【spring+websocket的使用】
    Android Studio 使用正式签名进行调试
    基于空间直方图meanshift跟踪
    Intel为Google的物联网平台Brillo推出开发板Edison
  • 原文地址:https://www.cnblogs.com/ebym/p/15643112.html
Copyright © 2020-2023  润新知