文章目录
序言
🍊java与我的故事☕
- java原名oak(橡树),在1991年4月,由Sun公司的James Gosling博士(java之父)发明,oak得名于James Gosling博士办公室外的一颗橡树。后随着1995年的互联网发展,Sun公司看到了oak在互联网发展的前景,于是1995年5月以
java
的名称正式发布!并提出了“Write one,Run anywhere”的口号。 - java得名于高斯林博士平日爱喝咖啡,而正巧有座名叫
爪哇岛
盛产咖啡,于是博士就取名为java 爪哇
。细看java的图标就是一杯热情腾腾的咖啡,而本人在成为一名程序猿之前正是一位咖啡师,也是成为程序员后我才明白为啥爪哇
在翻译是java
,可能这就是缘分吧,早早几年前就注定我要走上程序猿的道路~hahaha - 爪哇咖啡属于阿拉比卡种,爪哇有着悠久的栽培历史。正如其名称所示,该品种是在19世纪早期由荷兰人直接从埃塞俄比亚引入爪哇岛的。
- Java咖啡是一种让人喝了就忘不了的咖啡,为什么呢?因为其少见两头尖又细细长长的独特外形,从视觉上就让许多饮用者印象深刻,其次,java咖啡比起瑰夏更为均匀爆满,其独特立体的口感,以及独特的质感,令人印象尤为深刻。
咖啡vlog
1.Write one Run anywhere
Java自带编译器通过生成与特定计算机体系结构无关的字节码指令来实现。
只要安装了java这些编译器、运行器、虚拟机都会包含在里面,所以这就是为什么是“Write one Run anywhere”。
例如
- 一个
Hello.java
文件,用计算机自带cmd,进入到该文件目录,输入javacHello.java
随后会生成Hello.class
再输入java Hello
,运行.class
文件,.class
文件就是在java自带的JVM中运行。
2.如果Hello.java
文件中包含中文,则需要先javac -encoding UTF-8 -charset UTF-8 Hello.java
(字符集修改为UTF-8),再java Hello
运行。
javac
是java自带编译器,自带运行器是java
。
只要安装了java这些编译器、运行器都会包含在里面。
- JDK(Java Development Kit) —— Java开发工具包,提供给Java程序员使用,包含了JRE,同时还包含了编译器javac与自带的调试工具Jconsole、jstack等。
- JRE(Java Runtime Environment)——Java运行时环境,包含了JVM,Java基础类库。是使用Java语言编写程序运行的所需环境。
- JVM——Java虚拟机,运行Java代码
2.标识符
类名,方法名,也可以将其称为标识符,即:在程序中由用户给类名,方法名或者变量索取的名字。
- 硬性 规则:
-
标识符中可以包含:字母、数字以及下划线和
$符号等等。 -
标识符不能以数字开头,也不能是关键字,且严格区分大小写。
-
建议☕:
- 类名:每个单词首字母大写(大驼峰 HelloWord)
- 方法名:首字母小写,后面每个单词的首字母大写(小驼峰 funcAdd());
- 变量名:与方法名规则相同。
3.关键字
关键字是由
Java
语言提前定义好的,有特殊含义的标识符,或者保留字
3. 数据类型与变量
3.1 字面常量
常量顾名思义,即在程序运行期间,固定不变的量。
- 字符串常量:由
""
括起来的,如:"hello"、"123"、"帅哥"
。 - 整形常量:直接写的数字(注意没有小数点),如:
66、99、520
。 - 浮点数常量:直接写的小数,如:
6.6、5.20
。 - 字符常量:由单引号
''
括起来的单个字符,如'A'、'6'
。 - 布尔常量:只有两种
ture、false
。 - 空常量:
null
。 - 注:字符串、整形、浮点型、布尔型在Java中都称为数据类型。
- 例如🌰:
3.2 数据类型
数据类型分为两类:基本数据类型、引用数据类型。
- 基本数据类型分为 四类八种:
- 四类:整形、浮点型、字符型、布尔型。
- 八种:
注意:
- 无论是在16位系统还是32位系统,
int
都占用4个字节
,long 8 个字节
。 - 整形和浮点型都是带有符号的,没有无符号概念。
- 整形默认为
int
型,浮点型默认为double
。 - 字符串属于
引用类型
。 - 定义变量的同时必须要赋初始值,或者在使用前赋值,否则编译报错。
3.3 类型转换
当参与运算的数据不一致时,就会进行类型转换。主要分为两类:自动类型转换(隐式)、强制类型转换(显式)。
[ ] 注意:
-
不同类型的变量之间赋值、计算,较小的类型隐式转换成为较大的类型。
-
把范围大的类型赋值给范围小的,需要强制类型转换,但可能导致精度丢失。
-
将一个字面常量进行赋值的时候,Java会自动针对数字范围进行检查。
-
强制类型转换不一定成功,不相干的类型不能互相转换。
-
应避免发生 自动类型转换(隐式转换)。
3.4 类型提升
不同类型的数据相互运算时,较小的数据类型会被提升到较大的数据类型。
- 例如🌰:
int
与long
:int
会被提升为long
。
3.4.1 byte
与byte
的运算
由于计算机的CPU通常是按照4个字节为单位从内存中读写数据,为了硬件上实现方便,诸如
byte、short
这种低于4个字节的类型,会先提升为int
,再进行计算。
3.5 字符串类型
字符串类型:
String
字符串和整形数字之间进行转换:
-
用双引号
""
加上数字,此时的+
号不再是数学中的加号,而是拼接符
-
int
转成String
-
String
转成int
记得三连喔~ 👍👍🏻👍🏿