第二天 Java基础

Posted 青蛉

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了第二天 Java基础相关的知识,希望对你有一定的参考价值。

第二天 JAVA基础

变量

在程序运行中值可以变化的量;

类型 变量名;

变量的作用域

package com.zhang.Base;

// Demo05类名
public class Demo05 {
/*
 *   变量按照作用域来分有三种:
 *   类变量 实例变量 局部变量
 *                          */
    //类变量 static
    static double salary = 3000; //整个类中可使用
    static String name = "Jinx";
/*=======================================================*/
    //实例变量
    /*除了局部变量初始化时必须赋值,类变量和实例变量不初始化值会使用默认值
    * 实型变量  0
    * 浮点型变量 0.0
    * 布尔型   false
    * 字符型实际上也是数字 /u0000 0
    * 字符串是引用类型变量,不是基础变量,除了基础变量,其他默认值都是”null“*/
    char gender = \'男\';
    String address;// = "秀川";
    // main 方法名
    public static void main(String[] args) {
        System.out.println(salary);//类变量
        System.out.println(name);
        name = "Yi"; //重新给类变量赋值
        System.out.println(name);
        System.out.println("========================================");
/*===============================================================================================*/
        Demo05 d5 = new Demo05();// 实例变量
        System.out.println(d5.address);
        System.out.println(d5.gender);
        System.out.println("========================================");
/*=======================================================*/
        int i = 5; //局部变量 只能在此方法中使用
        System.out.println(i);
    }
    // 方法名add
    public static void add(){
//        System.out.println(i); 不能使用
    }
}

常量

常量可以理解为特殊的变量,在程序运行过程中值不可变

final 类型 常量名;

package com.zhang.Base;

public class Demo06 {
    //常量:初始化之后不能再改变值
    //常量名一般用大写
    final double PI = 3.1415926;
    // 修饰符前后顺序可变
    final static long NUM = 12345678910L;
    static final float G = 9.8F;

    public static void main(String[] args) {
        Demo06 d6 = new Demo06();
        System.out.println(d6.PI);
        System.out.println(G);
        System.out.println(NUM);
    }
}

强制类型转换

运算中,不同类型的数据先转换为同一类型,再运算。

小数优先级高于整数

注意:

  • 不能对布尔值进行转换
  • 不能把对象类型转换为不相干的类型
  • 转换的时候可能会存在内存溢出或者精度问题
  • 操作大数的时候注意精度问题
package com.zhang.Base;

public class Demo03 {
    public static void main(String[] args) {
        //强制类型转换 高--->低
        int i = 128;
        byte i2 = (byte)i; // 强制转换 (类型)变量名
        System.out.println(i);
        System.out.println(i2);
        System.out.println("================================");
        //自动类型转换  低--->高
        char c = \'A\';
        int b = c+1; //自动转换
        System.out.println(b);
        System.out.println((char) b); //强制转换
    }
}
package com.zhang.Base;

public class Demo04 {
    public static void main(String[] args) {
        //jdk7新特性 数字之间可以加入“_”
        int money = 100_000_000_0;
        int year = 20;
        int total = money*year; //内存溢出
        long total2 = money*year;
        /*先以本身的int类型计算,然后把值赋给total2,
        *计算的时候已经溢出了,在赋值之前就已经有问题了*/
        long total3 = (long)money*year;
        /*在计算的时候就强制类型转换,可以解决此问题
        *运算中,不同类型的数据先转换为同一类型,再运算。*/
        System.out.println(total);
        System.out.println(total2);
        System.out.println(total3);
    }
}

运算符

package com.zhang.Operator;

public class Demo01 {
    public static void main(String[] args) {
        int i=10;
        byte i2=15;
        short i3=20;
        long i4=50L;
        System.out.println(i+i2+i3+i4);//计算机结果为long型
        System.out.println(i+i2+i3);//int型 只要有lang为long型,无lang都为int型。
        System.out.println(i+i2);//int型 浮点数优先级更高
        System.out.println("========================================");
        //=========================================
        int a = 5;
        int b,c;
        b=a++; //使用之后自增一
        System.out.println(a);
        c=++a;//使用之前自增一
        System.out.println(b);
        System.out.println(c);
        //幂运算 Math类
        double m = Math.pow(2,4);
        System.out.println(m);
        System.out.println(a>m);
        System.out.println(a==c);
    }
}

三目运算符

package com.zhang.Operator;

public class Demo02 {
    public static void main(String[] args) {
        System.out.println(2<<3);//位运算
        int score = 60;
        String type=score>=60?"及格":"不及格";//三元运算符
        System.out.println(type);
    }
}

包机制

包的本质就是文件夹

package com.zhang.pkg; // 必须写在第一行
// 导入一个包
import java.util.Date;
//可以使用通配符
import com.zhang.Operator.*;

public class Pkg {
    public static void main(String[] args) {
//        Date
    }
}

JavaDoc

写在类上面就是类注释,写在方法上面就是方法的注释

package com.zhang.Base;

/**
 * @author  zhang
 * @version v1.0
 * @since jdk-1.8
 */
public class JDoc {
    String name; //属性

    /**
     *
     * @param name
     * @return
     * @throws Exception
     */
    public String test(String name) throws Exception{
        return name;
    }
}

用IDEA生成JavaDoc


用命令行生成JavaDoc


报错

java: 错误: 无效的源发行版:16
两处JDK版本不一致

以上是关于第二天 Java基础的主要内容,如果未能解决你的问题,请参考以下文章

二刷java基础第二十二天——反射

第二天 Java基础

java基础第十二天_集合

大数据Java基础第十二天作业

java学习--基础知识进阶第二天--继承匿名对象&final抽象类

No_16_0221 Java基础学习第二天