java七上八下(很多东西,更新在八九十下)

目录

java的发展史

java 的三大平台

jdk、jre、jvm

jdk

jre

jvm

java语言跨平台的原理

java程序执行的过程

javac和java的区别

java文件和class文件的区别

java的基本数据类型

BIT,B,KB,MB,GB,TB,PB换算

java 中的关键字

 java中的转义字

​编辑​

java的自动类型转换

变量的命名规则

  驼峰命名法​编辑

  连字符命名

 java的直接量

  直接量的类型

​编辑

java的运算符

运算符的类型

算术运算符

i++和++i的区别

 赋值运算符

=和==的区别 :

java位运算符 

&:按位与。当两位同时为1时才返回1

​编辑

 |:按位或。只要有一位为1即可返回1。

~:按位非。单目运算符,将操作数的每个位(包括符号位)全部取反。

 ^:按位异或。当两位相同时返回0,不同时返回1。

 <<:左移运算符。

​编辑

 >>:右移运算符。

 >>>:无符号右移运算符。

 ​编辑

扩展后的赋值运算符

 比较运算符

>:大于 

​编辑

 >=:大于等于

​编辑

<:小于

​编辑

<=:小于等于

​编辑

!=:不等于​编辑

 逻辑预算符

&&:与 (左边为false 就不运行右边)​编辑

  &:不短路与 (左边为false 继续运行右边)​编辑

| |:或 (左边为true 就不运行右边)

 |:不短路或 (左边为true 继续运行右边)

 !:非 (左边为true 继续运行右边)​编辑

 ^:异或​编辑

(单/双/三)目运算符

问题

float a = 3.5; int b = a; 打印b的结果是什么

int a = 5; float b = a; 打印b的结果是什么

char a = 'A'; int b = a; 打印b的结果是什么

 int a = 68; char b = a; 打印b的结果是什么

画出基本数据类型的兼容关系图

&可以作为逻辑运算符使用, 也可以作为位运算符使用, 区别是什么

|可以作为逻辑运算符使用, 也可以作为位运算符使用, 区别是什么

什么是原码、反码、补码

1、原码

2、反码

3、补码

图解3&5的运算过程和结果

图解3|5的运算过程和结果

图解~5的运算过程和结果

图解3^5的运算过程和结果

图解8<<2的运算过程和结果

图解8>>2的运算过程和结果

图解~5和~-5的运算过程和结果

什么是单目(一元), 双目(二元), 三目(三元)运算符

说说第二行代码中有几个运算符和运算顺序

int a = 10

char b = a++ > 10 ? 'A': 'B'

打印a

打印b

运算符的优先级

上课讲题

22.>> 和 >>> 的区别是什么

如何最快的计算8*4

如何最快的计算8/4

23.运算符的优先级,以及如何改变优先级

运算符的优先级

24.什么是单目(一元), 双目(二元), 三目(三元)运算符

25.说说第二行代码中有几个运算符和运算顺序

int a = 10

char b = a++ > 10 ? 'A': 'B'

打印a

打印b


java的发展史

1996 Java 1.0发布, 但是缺陷性和局限性很大, 并不能用于开发
1997 Java 1.1发布, 引入了JDBC、内部类、反射
1998 J2SE 1.2发布, Java正式改名为J2SE
Sun公司推出了Java三大平台版本
1. J2SE: Java
标准版(Standard Edition)
2. J2EE: 服务器端开发得
企业版(Enterprise Edition)
3. J2ME: 手机嵌入式设备
微型版(Micro Edition)
1999 HotSpot虚拟机发布
2000 J2SE 1.3发布
2002 J2SE 1.4发布, Java成为服务器端开发的首选平台
2004 J2SE 1.5发布, 这是一个里程碑版本
Sun公司直接对外宣布
JavaSE5.0
2005 Java SE 6发布
J2EE改名为 Java EE
J2SE改名为 Java SE
J2ME改名为 Java ME
2006 Sun公司宣布JDK开源
并且建立了 OpenJDK 组织对这些源码进行独立管理
2009 Oracle 以 74 亿美元收购 Sun 公司
取得了 Java 的商标版权
2011 JavaSE 7发布
2014 JavaSE 8发布
2017 JavaSE 9发布
Oracle 决定将JavaEE移交给开源组织,最后 Eclipse 基金会接手
JavaEE更名为Jakarta EE(雅加达)
2018 从这一年开始, 每6个月就会发布一个 Java 版本
并区分了最新版和LTS版, 生产环境最好使用LTS版本

JavaSE 10 发布
JavaSE 11 LTS发布
2019 JavaSE 12 发布
JavaSE 13 发布
2020 JavaSE 14 发布
JavaSE 15 发布
2021 JavaSE 16 发布
JavaSE 17 LTS 发布
2022 Java SE 18 发布


java 的三大平台

1. J2SE: Java标准版(Standard Edition)
2. J2EE: 服务器端开发得企业版(Enterprise Edition)
3. J2ME: 手机嵌入式设备微型版(Micro Edition)

J2SE、J2EE、J2ME中的"2"是英文单词"to"的意思


jdk、jre、jvm

jdk

JDK是Java开发工具包,是Sun公司针对Java程序员的产品。

JDK中包含JRE,在JDK的安装目录下有一个名为jre的目录,里面有两个文件夹bin和lib,在这里可以认为bin里的就是jvm,lib中则是jvm工作所需要的类库,而jvm和 lib和起来就称为jre。

JDK是整个JAVA的核心,包括了Java运行环境JRE(Java Runtime Envirnment)、一堆Java工具(javac/java/jdb等)和Java基础的类库(即Java API 包括rt.jar)

jre

JRE是运行基于Java语言编写的程序所不可缺少的运行环境。也是通过它,Java的开发者才得以将自己开发的程序发布到用户手中,让用户使用。

JRE中包含了Java virtual machine(JVM),runtime class libraries和Java application launcher,这些是运行Java程序的必要组件。

与大家熟知的JDK不同,JRE是Java运行环境,并不是一个开发环境,所以没有包含任何开发工具(如编译器和调试器),只是针对于使用Java程序的用户。

jvm

java虚拟机,它是整个java实现跨平台的最核心的部分,所有的java程序会首先被编译为.class的类文件,这种类文件可以在虚拟机上执行。

也就是说.class文件并不直接与机器的操作系统相对应,而是经过虚拟机间接与操作系统交互,由虚拟机将程序解释给本地系统执行。

只有JVM还不能成.class文件的执行,因为在解释class的时候JVM需要调用解释所需要的类库lib,而jre包含lib类库。
 

java语言跨平台的原理

1、首先将java文件编译成字节码(.class)文件;

2、使用Java虚拟机(JVM--Java Virtual Machine)运行运行字节码文件。

上面的步骤中,第一步中,在所有的平台上生成的字节码文件都是相同的。

上面的步骤中,第二步中,在不同的平台上运行字节码文件的Java虚拟机是不同的。

Java的开发团队针对不同的平台开发出了对应版本的java虚拟机,这使得同一个java代码文件可以再不同的平台上运行。

所以,java能实现跨平台运行是因为有各种平台对应版本的java虚拟机的支持。

java程序执行的过程

以记事本写的Java文件为例:首先新建一个记事本文件,打开后编写Java程序,然后关闭文件,将文件的后缀名改为java,然后在当前目录地址栏输入cmd打开命令行窗口,运行javac Test.java命令,将java文件编译成字节码文件,会在当前目录下生成一个.class文件,之后在命令行中输入java Test命令,运行文件,其中Test为文件中书写的class类名。

javac和java的区别

Java是一种可以撰写跨平台应用软件的面向对象的程序设计语言。

javac工具读由java语言编写的类和接口的定义,并将它们编译成字节代码的class文件。javac 可以隐式编译一些没有在命令行中提及的源文件。用 -verbose 选项可跟踪自动编译。

javac负责的是编译,将.java文件编译成.class文件,当执行javac的时候,会启动java的编译器程序,对指定的扩展名为.java的文件进行编译,生成了jvm可识别的字节码文件,即.class文件(java的运行程序)
java负责的是运行,当执行java时,会启动jvm加载运行时所需要的类库,并执行.class文件
 

java文件和class文件的区别

  • .java文件是一个文本文件,就是我们用java语言写成的代码。
  • .class文件是一种二进制文件,由.java文件通过javac这个命令(jdk本身提供的工具)编译生成的一个文件,可以由jvm(java虚拟机)装载(类装载),然后对java解释执行,就是运行时的程序。

java的基本数据类型

 

内存硬盘

最小单位:比特 一个bit 只能存储一个0或者是一个1

每8个比特是一个存储空间称为byte(字节)

BIT,B,KB,MB,GB,TB,PB换算

1 比特(BIT)=0.125 字节(B)

1Bit (1个比特位);

1Byte (1个字节) = 1B = 8Bit ;

1KB = 1,024B = 8,192Bit;

1MB = 1,024KB = 1,048,576B = 8,388,608Bit;

1GB = 1,024MB = 1,048,57KB = 107,373,568B = 858,988,544Bit;

1TB = 1,024GB = 1,048,57MB = 107,373,568KB = 109,950,533,632B = 879,604,269,056Bit;

1PB = 1,024TB = 1,048,57GB = 107,373,568MB = 109,950,533,632KB = 112,589,346,439,168 B = 900,714,771,513,344Bit;
 

java 中的关键字

java的关键字都是小写 ,TRUE、FALSE、NULL都不是关键字

java的关键字

 java中的转义字

java的转义字

java的自动类型转换

 自动类型转换图

 表数范围小的数值可以自动向表数范围大的进行自己类型转换

 但是 表数范围大的数值不可以自动向表数范围小的进行自己类型转换

表数范围大的数值不可以向表数范围小的进行自己类型转换(需要做强制转换)

变量的命名规则

命名需要遵循驼峰规则

包名: 全部小写
类名:单词首字母大写
方法名:首字母小写,字符开头大写
常量:全部大写【常加下划线】
参数:(和方法命名一样)【尽量使用一个单词,意思明确】

  驼峰命名法

  连字符命名

连字符(hyphen),是用于一个合成词的两部分之间的或一个单词的字节之间的一种标点符号,尤其是一行或一段结束时用。连字符只指“中划线”,不包括上划线和下划线。

 java的直接量

  直接量的类型

int类型的直接量:在程序中直接给出的整型数值,可分为二进制、十进制、八进制和十六进制4种,其中二进制需要以0B或0b开头,八进制需要以О开头,十六进制需要以0x或0X开头。例如123、012(对应十进制的10)、0x12(对应十进制的18&

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值