JAVA基础总结(一)

本文详细介绍了Java的基础知识,包括JVM、JRE、JDK的关系,字节码的概念及优势,Java与C++的区别,基础语法如数据类型、运算符、访问修饰符的用法,以及final、this、super的关键字解释。此外,还讨论了静态成员的用途、面向对象编程的概念及多态机制,对比了抽象类和接口。
摘要由CSDN通过智能技术生成

注:从网上找资料整理的,不是自己写的,可能有一些加入了自己的想法,由于从网上找的太多,不知道哪些是谁的,就没标明出处了,反正不是我自己写的就对了

JVM,JRE,JDK之间的关系

JVM:
是java虚拟机,java的程序需要在虚拟机上面运行,不同的平台有自己的虚拟机,所以java可以实现跨平台。
JRE:
包括jvm虚拟机还有核心类库,核心类库主要是java.lang包,包含了java程序不可缺少的系统类,譬如数据类型,数学函数,字符串,线程,异常等等
JDK:
是提供给开发人员使用的,包含了java的开发工具,包含了jre,jvm
在这里插入图片描述

什么是字节码?采用字节码的最大好处是什么

字节码:Java源代码经过虚拟机编译器编译后产生的文件(即扩展为.class的文件),它不面向任何特定的处理器,只面向虚拟机。

采用字节码的好处:

Java语言通过字节码的方式,在一定程度上解决了传统解释型语言执行效率低的问题,同时又保留了解释型语言可移植的特点。所以Java程序运行时比较高效,而且,由于字节码并不专对一种特定的机器,因此,Java程序无须重新编译便可在多种不同的计算机上运行。

Java和C++的区别

我知道很多人没学过C++,但是面试官就是没事喜欢拿咱们Java和C++比呀!没办法!!!就算没学过C++,也要记下来!

  1. 都是面向对象的语言,都支持封装、继承和多态
  2. Java不提供指针来直接访问内存,程序内存更加安全
  3. Java的类是单继承的,C++支持多重继承;虽然Java的类不可以多继承,但是接口可以多继承。
  4. Java有自动内存管理机制,不需要程序员手动释放无用内存

基础语法

java有哪些类型的数据:

基本数据类型:

  • 整数:long,short,int,byte
  • 浮点:float,double
  • 字符:char
  • 布尔:boolean
    引用数据类型:
  • 类:class
  • 接口:interface
  • 数组:[]

java基本数据类型图:

在这里插入图片描述

float f=3.4;是否正确

不正确。3.4 是双精度数,将双精度型(double)赋值给浮点型(float)属于下转型(down-casting,也称为窄化)会造成精度损失,因此需要强制类型转换float f =(float)3.4; 或者写成 float f =3.4F;。

short s1 = 1; s1 = s1 + 1;有错吗?short s1 = 1; s1 += 1;有错吗

对于 short s1 = 1; s1 = s1 + 1;由于 1 是 int 类型,因此 s1+1 运算结果也是 int型,需要强制转换类型才能赋值给 short 型。
而 short s1 = 1; s1 += 1;可以正确编译,因为 s1+= 1;相当于 s1 = (short(s1 + 1);其中有隐含的强制类型转换。

访问修饰符 public,private,protected,以及不写(默认)时的区别

  • private : 在同一类内可见。使用对象:变量、方法。 注意:不能修饰类(外部类)
  • default (即缺省,什么也不写,不使用任何关键字): 在同一包内可见,不使用任何修饰符。使用对象:类、接口、变量、方法。
  • protected : 对同一包内的类和所有子类可见。使用对象:变量、方法。 注意:不能修饰类(外部类)。
  • public : 对所有类可见。使用对象:类、接口、变量、方法
    在这里插入图片描述

&和&&的区别

&运算符有两种用法:(1)按位与;(2)逻辑与。

&&运算符是短路与运算。逻辑与跟短路与的差别是非常巨大的,虽然二者都要求运算符左右两端的布尔值都是true 整个表达式的值才是 true。&&之所以称为短路运算,是因为如果&&左边的表达式的值是 false,右边的表达式会被直接短路掉,不会进行运算。

final 有什么用?

用于修饰类、属性和方法;

  • 被final修饰的类不可以被继承
  • 被final修饰的方法不可以被重写
  • 被final修饰的变量不可以被改变,被final修饰不可变的是变量的引用,而不是引用指向的内容,引用指向的内容是可以改变的

final fina

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Code_BinBin

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值