• java学习笔记第一天


    认识JDK、JRE、JVM

    JDK  java开发工具包      java语言开发环境    
    JRE ->java程序运行时环境   只需要运行程序时,可以只安装JRE
    JVM ->java程序虚拟机,java语言特点有跨平台运行,和JVM有关,一次编译到处运行

    java跨平台性:JVM将字节码内容解析成系统指令和系统交互,在不同的系统上安装不同版本的虚拟机就可以执行字节码文件
    JDK包含JRE包含JVM

    javac:编译指令,将.java文件编译成.class文件(字节码文件)常在命令提示符下使用,例如:               javac Hello.java   编译后文件夹内出现Hello.class(字节码文件)文件。
    java+类名:运行指定类  JVM解析字节码文件变成系统(windows)指令。例如:java Hello,不                        需要加.class后缀

    配置环境变量

    右键(此电脑)--高级系统设置--环境变量 

    JAVA_HOME:JDK根路径
    Path:系统执行文件所在地址
    classpath(现在不需要)

    包名全部小写,类名首字母大写,常量名全部大写
    尽量使用驼峰命名法,每个单词首字母大写

    关键字和标识符

    关键字:开发语言中已经内定的一些单词,并且赋予了特殊的作用,开发人员只能按照指定的语法进行使用

    java关键字所有字母都是小写

    标识符:变量名、类名、方法名、参数名、常量名、包名
                 命名规范:只能由字母,数字,下划线,$组成,
                 首字符不能是数字(中文语法通过,但是不允许)
                         不能是关键字
                 所有标识符可以缩写,但要见名知意

    变量和常量

    变量:在程序运行阶段,可能发生变化的量
              声明变量:声明变量的名字和类型,使用“=”给变量赋值
              初始化:给变量第一次赋值,未初始化的变量不能使用
    常量:在程序运行阶段,不能发生变化的量
              用final修饰->final int num;

    数据类型

    数据类型:基本数据类型(8个),引用类型

    基本数据类型:整数byte,short,int,long
                           浮点型float,double
                           字符型char,
                           布尔型boolean
    整数类型取值范围:
    byte    1个字节 有8个bit  默认值:0
        第一位存储符号:0正数,1负数  
        -2^7~2^7-1 (-128~127)
        负数二进制换算十进制:先空出符号位,再反码加1
    short   2个字节  16个二进制位  默认值:0
        -2^15~2^15-1
    int       4个字节  32个二进制位  默认值:0(默认)
        -2^31~2^31-1
    long    8个字节  64个二进制位  默认值:0
        -2^63~2^63-1
    浮点型:
    float  单精度浮点型  4个字节  取值大于int  默认值:0.0f
    double  双精度浮点型  8个字节  取值大于long  默认值:0.0(默认)

    char  2个字节  0~65535(2^15-1)
        char c='a';  ' '内只能有一个字符
        numChar='\u0000';   其中的0000是十六进制,最大值'\uFFFF'

    boolean  默认值是false->0
        ture是1
        boolean b=true;占一个字节
        boolean[] b_arr={true,false}; 占四个字节

    基本数据类型之间的转换

    1.隐式转换(程序会自动完成的转换)
        取值范围小的类型可以自动转换为取值范围大的类型
        byte a=12;
        int b=a;
    2.强制类型转换
        int a=128;
                    byte b=(byte) a;(反码加1)

        00000000 00000000 00000000 10000000
        ↑符号位

        10000000(原数据过长,只能在byte 8位下保存此数据)
        ↑符号位

        11111111(反码不包括符号位)
        ↑符号位

    -  10000000(反码加1)
    ↑符号位变化(负号)
    最后等于128
    Boolean类型不能和其他类型转换(强制类型转换也不行)

    二进制 0B111=7
    八进制 0111=73
    十六进制 0x111=273

    \转义符

    '\r'回车      '\t'制表符      '\n'换行符      '\\'斜线     '\''单引号    '\"'双引号

    输入输出:

    System.in 输入流对象
    import java.util.Scanner;
    Scanner scan=new Scanner(System.in);
    System.out.println();
    关闭流
    scan.close();

    注释

    //单行注释

    /*多行注释
        class 类名{} 类结构
        一个.java文件只能有一个public 外部类
        这个public类必须和文件名一样
    */

    /**
     * 文档注释
     */

    运算符

    + ,-, *, /, %
        整数和整数运算,得到的结果是整数
        除非有long参与,得到结果是long类型
    %结果的正负
        A%B的结果和正负号和A一样

    优先级:()优先级最高,=优先级最低,*/%高,+-低

    自增自减

    ++--
        在整数情况下,a++和a=a+1相同
        在其他情况下不同:  byte a=12;
                a++和a=a+1的返回类型不同,a++依然返回byte类型,a=a+1返回int类型
    a++和++a:b=a++;先将a的值赋给表达式,后a+1
            b=++a;先a+1,再将a的值赋给表达式

    比较运算

    <   >   =   >=  <=   ==   !=
        ==在基本数据类型中比较的是:值是否一样
        例:12.5==12.5f  结果为true    12==12.0   结果是true

    逻辑运算:&&逻辑与运算符   || 逻辑或运算符   !逻辑非运算符
        Boolean result=12>23&&23<45;  结果为false

    短路现象:多个表达式运算,前面的表达式已经可以明确整个表达式的结果,后面的就不需要再运行

  • 相关阅读:
    (十六)Alian 的 Spring Cloud Eureka 集群配置(主机名方式)
    动态SQL
    软件版本控制系统VCS工具——cvs vss svn git
    数据结构·顺序表
    Linux进程状态
    Python数据分析与机器学习29-支持向量机(SVM)
    BSPHP 未授权访问 信息泄露
    从0到1 express 安装swagger
    一个页面从输入 URL 到页面加载显示完成,这个过程中都发生了什么?
    原论文一比一复现 | RT-DETR更换华为最新主干网络【VanillaNet-5】【VanillaNet-6】【VanillaNet-9】【VanillaNet-12】【VanillaNet-13】
  • 原文地址:https://blog.csdn.net/Word_seeker/article/details/140421006