【java】基础知识(1)

JDK、JRE和JVM

JVM :英文名称(Java Virtual Machine),就是我们耳熟能详的 Java 虚拟机。它只认识 xxx.class 这种类型的文件,它能够将 class 文件中的字节码指令进行识别并调用操作系统向上的 API 完成动作。所以说,jvm 是 Java 能够跨平台的核心,具体的下文会详细说明。

JRE :英文名称(Java Runtime Environment),我们叫它:Java 运行时环境。它主要包含两个部分,jvm 的标准实现和 Java 的一些基本类库。它相对于 jvm 来说,多出来的是一部分的 Java 类库。

JDK :英文名称(Java Development Kit),Java 开发工具包。jdk 是整个 Java 开发的核心,它集成了 jre 和一些好用的小工具。例如:javac.exe,java.exe,jar.exe 等。

银行业务怎么表示钱(java) 

首先不能使用浮点数进行表示;

原因:浮点数是有限的,离散的,舍入误差,表示大约的但不是等于。

BigDecimal可表示任意精度的小数,不管它的范围有多大。BigDecimal是用array来存储数字的,每一次输入表示一个数字。因此,BigDecimal可以表示任意大小的数。

另外,BigDecimal是一个类,不是基本类型,需要调用方法来实现数的运算。它有四中方法:add, subtract, multiply, 和 divide。这里m1和m2相乘采用了multiply。

位运算 

<<  相当于 *2

>> 相当于 /2

字符串连接符 

//字符串连接符
        System.out.println(""+a+b);//1020 
        System.out.println(a+b+"");//30

==和equals区别 

== 比较的是变量(栈)内存中存放的对象的(堆)内存地址,用来判断两个对象的地址是否相同,即是否是指相同一个对象。比较的是真正意义上的指针操作。

equals用来比较的是两个对象的内容是否相等,由于所有的类都是继承自java.lang.Object类的,所以适用于所有对象,如果没有对该方法进行覆盖的话,调用的仍然是Object类中的方法,而Object中的equals方法返回的却是==的判断。

计算0到100之间的奇数和与偶数和

public class ForDemo01 {
    public static void main(String[] args) {
        //计算0到100之间的奇数和与偶数和
        int oddSum=0; //奇数
        int evenSum=0; //偶数
        for (int i = 0; i < 100; i++) {
            if(i%2!=0){
                oddSum+=i;
            }
            else {
                evenSum+=i;
            }
        }
        System.out.println("奇数和:"+oddSum);
        System.out.println("偶数和:"+evenSum);
    }
}

//用while或for循环输出1~1000之间能被5整除的数,并且每行输出3个 

public class ForDemo02 {
    //用while或for循环输出1~1000之间能被5整除的数,并且每行输出3个
    public static void main(String[] args) {
        for (int i = 0; i <= 1000; i++) {
            if(i%5==0){
                System.out.print(i+"\t");
            }
            if(i%(5*3)==0){
                System.out.println();
            }
        }
    }
}

打印99乘法表

public class ForDemo03 {
    public static void main(String[] args) {
        //打印99乘法表
        for (int i = 1; i <= 9; i++) {
            for(int j = 1; j <= i; j++){
                System.out.print(i+"*"+j+"="+(i*j)+"\t");
            }
            System.out.println();
        }
    }
}

打印三角形(5行)

public class TestDemo01 {
    //打印5行三角形
    public static void main(String[] args) {
        for (int i = 0; i <= 5; i++) {
            for(int j = 5;j >= i;j--){
                System.out.print(" ");
            }
            for(int j = 1;j <= i;j++){
                System.out.print("*");
            }
            for(int j = 1; j< i;j++){
                System.out.print("*");
            }
            System.out.println();
        }
    }
}

封装,继承、多态

封装

  • 即把对象的属性和方法包裹起来, 只能通过约定好的接口实现访问
  • 封装是一种信息隐藏技术,在java中通过关键字private实现封装。、

继承

继承是面向对象的最显著的一个特征。继承是从已有的类中派生出新的类,新的类能吸收已有类的数据属性和行为,并能扩展新的能力。
为什么要继承呢:

1、反映现实的真实关系

2、减少代码冗余

3、对父类的属性和方法进行扩展和重写

多态

多态主要是基于继承和重写,最终可以实现相同的类型调用相同的方法,结果不相同

猜你喜欢

转载自blog.csdn.net/weixin_46601559/article/details/126394773