IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> Java知识库 -> java知识点01 -> 正文阅读

[Java知识库]java知识点01

JVM是Java Virtual Machine(Java虚拟机)的缩写,JVM是一种用于计算设备的规范,它是一个虚构出来的计算机,是通过在实际的计算机上仿真模拟各种计算机功能来实现的。
引入Java语言虚拟机后,Java语言在不同平台上运行时不需要重新编译。Java语言使用Java虚拟机屏蔽了与具体平台相关的信息,使得Java语言编译程序只需生成在Java虚拟机上运行的目标代码(字节码),就可以在多种平台上不加修改地运行。
Java虚拟机本质上就是一个程序,当它在命令行上启动的时候,就开始执行保存在某字节码文件中的指令。Java语言的可移植性正是建立在Java虚拟机的基础上。任何平台只要装有针对于该平台的Java虚拟机,字节码文件(.class)就可以在该平台上运行。这就是“一次编译,多次运行”。
Java虚拟机不仅是一种跨平台的软件,而且是一种新的网络计算平台。该平台包括许多相关的技术,如符合开放接口标准的各种API、优化技术等。Java技术使同一种应用可以运行在不同的平台上。Java平台可分为两部分,即Java虚拟机(Java virtual machine,JVM)和Java API类库。?

jvm规范:
虚拟机栈:即为平时提到的栈结构,我们将局部变量存储在栈结构中
堆:我们将new出来的结构(比如数组对象)加载在堆空间中,补充:对象的属性(非static)加载在堆空间中
方法区:类的加载信息,常量池,静态域

jdk,jvm,jre的关系:
jdk = jre + java的开发工具(javac.exe,java.exe,javadoc.exe)
jre = jvm + java核心类库

为什么要配置path环境?如何配置?
希望在任何路径下都能执行javac命令
java_home = bin的上一层目录
path = %java_home%\bin

java保留字:现有java版本尚未使用,但以后版本可能会作为关键字使用,命名标识符要避免使用这些保留字
goto,const

java命名规范:
包名:多单词组成时所有字母都小写:xxxyyy
类名,接口名:多单词组成时,所有单词的首字母大写:XxxYyy
变量名,方法名:多单词组成时,第一个单词首字母小写,第二个单词开始每个单词首字母大写:xxxYyy
常量名:所有字母大写,多单词时每个单词用下划线连接:XXX_YYY

java数据类型:
基本数据类型:整数类型:byte,short,int,long ? 浮点类型:float,double ?字符型:char ?布尔型:boolean
引用数据类型:类:class ?接口:interface ?数组:array([])

byte:1字节,-128~127
short:2字节,-2的15次方~2的15次方-1 ?
int:4字节,-2的31次方~2的31次方-1(约21亿)
long:8字节,-2的63次方~2的63次方-1
说明:声明long型变量,必须以‘l’或‘L’结尾
long l1 = 231131L
说明:short,byte,char做运算时返回值必须是int类型
自动类型提升:int可自动提升为double类型


float单精度,4字节,尾数可以精确到7位有效数字,float表示数值范围比long还大
double双精度,8字节,精度是float的两倍
java浮点型常量默认为double类型,声明float型变量,需要后加‘f’或‘F’

char:1字符=2字节 ?char c1 = 'a' ?内部只能写一个字符,char+ 为一个加法运算
作用1.声明一个字符2.转义字符
char c5 = '\n' ? 换行符
c5 = '\t' ?制表符

整型常量默认int型,浮点型常量默认double型
byte b = 12
byte b1 = b + 1//编译失败,不兼容的类型,1为int类型由int转为byte可能会损失?
正确形式:byte b1 = (byte)(b+1)
b1++ ? b1 = 11//自增1不会改变本身变量的数据类型

string类型不是基本数据类型 ?String s1 = "asxv"
string可以和8种基本数据类型变量做运算,且运算只能是连接运算(+)

ascll码:A:65 ?a:97
char c = 'a' ,int num = 10
c + num = 107

byte bb1 = 127,byte++,byte = -128

int n = 10
n += (n++) + (++n)//n = 10 + 10 + 12

比较运算符的返回值为true或false
int num1 = 12,num2 = 5
num1 / num2 ?=2
double result = num1 / num2 = 2.0
double result = (double)num1 / num2 = 2.4
double result = num1 / (num2 + 0.0) = 2.4

&和&&这两者都是表示逻辑与,只有当两边都是true时,返回true,只要有一个false则结果返回false。
&&还具有短路的功能,即如果第一个表达式为 false,则不再计算第二个表达式,例如,对于 if(str != null&& !str.equals(“”))表达式,当 str 为 null 时,后面的表达式不会执行,所以不会出NullPointerException
如果将&&改为&,则会抛出 NullPointerException 异常。 If(x==33 & ++y>0) y 会增长, If(x==33 && ++y>0)不会增长。
&还可以用作位运算符,当&操作符两边的表达式不是 boolean 类型时, &表示按位与操作,我们通常使用 0x0f 来与一个整数进行&运算,来获取该整数的最低 4 个 bit 位,例如, 0x31 & 0x0f 的结果为 0x01

a^b表示逻辑异或当A和B相同返回false,A和B不同返回true

位运算符:操作的都是整形的数据,<<在一定范围内,每向左移一位,相当于*2,>>相当于/2

最高效的计算方式计算2*8:2<<3或8<<2

三元运算符:结构(条件表达式)?表达式1:表达式2
条件表达式的结果为布尔类型,表达式1和表达式2的数据类型要求是一致的,三元运算符可以嵌套使用
获取三个数最大值:int max = (a>b)? a : b;
?? ??? ?int max1 = (max>c)? max : c;

多选一:if(){} ? ?else if(){} ? ?else(){}

  Java知识库 最新文章
计算距离春节还有多长时间
系统开发系列 之WebService(spring框架+ma
springBoot+Cache(自定义有效时间配置)
SpringBoot整合mybatis实现增删改查、分页查
spring教程
SpringBoot+Vue实现美食交流网站的设计与实
虚拟机内存结构以及虚拟机中销毁和新建对象
SpringMVC---原理
小李同学: Java如何按多个字段分组
打印票据--java
上一篇文章      下一篇文章      查看所有文章
加:2021-10-27 12:42:26  更:2021-10-27 12:44:18 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/24 0:01:47-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码