1.java开发环境配置

    jdk安装,在官网上找到对应系统的jdk版本并下载,然后按照提示安装好即可。在jdk安装好后需要进行环境变量的配置

    一般配置这几个就可以了

    JAVA_HOME: java的安装目录

    path:把当前jdk的bin加入到这个环境变量内每个环境变量用英文环境下的;隔开,这个环境变量是当我们在任意路径执行

            java 命令时,系统到哪里去寻找我们想要执行的命令

%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin;

                   linux下 /etc/profile  export PATH=$PATH:/mysoft/jdk/bin:/mysoft/jdk/jre/bin

    classpath: 这个环境变量是java寻找.class文件的寻址地址, 如果没有配置则只会在当前目录下寻找

 

2. jdk, jre, jvm的区别与联系

    jdk: java development kit   java开发

    jre: java运行时环境  java runtime environment

    jvm: jvm虚拟机,java程序就是运行在jvm之上的

    jvm与java基本类库组成了jre

    jre与一些工具包比如说编译器等组成了jdk

 

3.数据类型

基本数据类型
   整型默认为int
   整型            长度(byte=8bit)
          byte     1byte
          short    2byte
          int      4byte
          long     8byte
   浮点型  
   浮点型默认为double
          float    4byte
          double   8byte
   字符型 char      2byte
   布尔型 boolean   1btye

引用数据类型
   变量存储的值是另一端内存空间地址
   数组     int[] arr = new int[25]
   对象实例 String name = "desk";

高精度计算,商业货币计算中常用
  java.math.BigDecimail
  java.math.BigInteger

强制类型转换会高位截断

浮点型转换为整型先是小数截断,如果长度还是长,再发生高位截断

javayml配置类配置集合对象_整型

4.三种注释类型

String name = "zhangsan"; //这是行内注释
/*
  这是多行注释
*/
String nation = "china";
/**
  这是文档型注释,可以导出为文档
*/
String sex = "male";

5.变量

 当我们要使用内存空间时,就需要定义变量。

 变量有三个要素:变量类型,变量值(内存空间地址),存储的值(变量值)

  常量(字面量,自定义常量)

        1.整数常量

        2.小数常量

        3.布尔常量

        4.字符常量

        5.字符串常量

        6.null常量

6.变量名,类名,方法名(标识符)的命令规则

   在java里使用驼峰命令法则:单词的首字母大写

7. 示例

@Test
    /**
     * java.math.BigDecimal的使用
     */
    public void test() {
        BigDecimal bd1 = new BigDecimal("0.000000005");
        bd1 = bd1.multiply(bd1);
        bd1 = bd1.multiply(bd1);
        bd1 = bd1.multiply(bd1);
        bd1 = bd1.multiply(bd1);
        bd1 = bd1.multiply(bd1);
        bd1 = bd1.multiply(bd1);

        // 结果 bd1: 5.42101086242752217003726400434970855712890625E-532
        System.out.println("bd1: " + bd1);
    }

    @Test
    public void test2() {
        double d1 = 0.000000005;
        d1 *= d1;
        d1 *= d1;
        d1 *= d1;
        d1 *= d1;
        d1 *= d1;
        d1 *= d1;

        //结果 d1: 0.0
        System.out.println("d1: " + d1);
    }


    @Test
    // 类型转换的问题
    public void test3() {
        int a1 = 1;
        char chr = 'd'; // 100
        byte bt1 = 100;
        // 先运算再赋值时要注意,运算的结果类型是否与要赋值的类型一致
        // 这里如果1没有表明是long类型的,就会把右边这个表达式先做事整型的运算,然后再赋值给变量,这样就会得到如下结果
        // res1   : -2147483447
        // res2   : -2147483447
        // max int: -2147483648
        long lon = Integer.MAX_VALUE + 1L;

        // 类型自动转换: 低->高
        // 算术运算默认是整型
        long res1 = a1 + chr + bt1 + lon;

        // 在表达式中lon的类型为long类型,如果结果不是long类型,那么应当将long类型强制转型为结果类型
        // lon高位截断
        int res2 = a1 + chr + bt1 + (int)lon;

        System.out.println("res1   : " + res1); //res1   : 2147483849
        System.out.println("res2   : " + res2); //res2   : -2147483447
        System.out.println("max int: " + Integer.MIN_VALUE); //max int: -2147483648
    }