day1-Java基础知识

JavaSE_day01 笔记

一、Java 是什么?

Java 是一种面向对象类型的编程语言。

1991 年,Oak(橡树)主要是做消费类型的电子嵌入式芯片。

1995 年,Java(爪哇,咖啡)最终做 Web 应用程序。

可以参考每月的 TIOBE 编程语言排行榜。

Java 主要是应在服务端开发中,游戏服务器,移动端服务器,商城服务器,视频服务器,银行服务器。

Java 还会作为底层封装的一个标准,通过 Java 来调用一些底层的操作。

二、Java 目前主要有三种版本

J2SE:Java 2 Platform Standard Edition,后来叫 JavaSE。主要是 Java 技术的核心和基础部分。

J2EE:Java 2 Platform Enterprise Edition,后来叫 JavaEE。目前 Eclipse 基金组织在 2018-7-31 又定了一个新的名字,Jakarta EE。主要代表企业应用开发中相关的解决方案。简单理解就是,如果我们需要开发一个完整的商业项目,单纯靠 Java 是完成不了的,需要整合其他的技术一起才行。比如,一个项目会用到 Spring、MyBatis、Hibernate、Struts2、Redis、Lucene、Solr、Elasticsearch、Zookeeper、Nginx、Maven、SVN、Git、Gradle...

J2ME:几乎已经淘汰了。目前主要流行使用 Android 技术来处理一些小型设备的应用。开发 Android 应用可以使用 Java 也可以使用 Kotlin。

三、Java 的特点

主要有如下几个特点:简洁、面向对象的、分布式的、编译型的、体系中立的、可移植的、健壮的

Java 的简洁是相对 C++ 语言来说的,Java 主要是舍弃了 C++ 中一些比较复杂的东西,比如指针、结构、单元、头文件、运算符重载等内容。

Java 是所有面向对象语言中,面得最“纯粹”的面向对象。

Java 的分布式能力,主要体现在它超强的联网能力,Java 开发 Socket 通信相关的程序非常简单,访问远程对象的方式跟本地文件系统那样轻松。

计算机中使用的高级语言编写程序的执行方式主要有两种:编译型和解释型。

编译型:专门的编译器,将我们写好的源代码,转成当前系统平台所在的硬件设备上能够读懂并执行的机器码。接着就可以让电脑识别和运行。常见的编译型语言:C、C++、Kotlin、Objective-C、Swift 等。

解释型:专门的解释器,将我们写好的代码逐行解析执行,不会理你这行数据有多长,只要是一行即可。可以即时解析成对应的机器码,立即执行。常见的解释型语言:JavaScript、Python、Ruby 等。

Java 呢,特殊一点点。它既是编译型,也是解释型语言。Java 需要将源码(.java)经过编译器进行编译,得到一个字节码文件(.class),它是一种与平台无关的、不可执行的文件。接着,需要找到解析器解析后,才能够得到一个指定系统(比如,当前是 win 系统)的可执行文件。

Java 的 JVM 主要是负责执行生成的字节码文件的一个工具。JVM 也就是常说的虚拟机。以后面试的时候,会常被问到。Java 的跨平台特性其实是依靠了 JVM 的强大功能。JVM 给所有平台中安装的工具都设计了一致接口,只需要编译器面向接口生成对应的代码即可让虚拟机进行解析执行。JVM 的作用,就是一个转换器。转换后,主要是一个字节码文件,这种文件带有一点体系结构中立的特性和可移植性,跟谁(任何平台)都没有关系。

Java 在运行前和运行时,都会进行一系列的检查,保证程序的健康可用状态。

Java 可以说是目前最安全的一种程序设计语言,可以另外学习一些web 安全,Shiro、Spring Security 安全框架。

Java 还有一个特别优秀的多线程特性,使得很多应用的性能得到极大的改善。在面试过程中,也是面试官特别喜欢进行提问的。面试的点主要在于考察应聘者对程序更抽象的理解能力。

Java 是一种动态的语言,可以很方便的查询运行的信息,还能给运行中的程序加入新的代码。

静态编译:一次编译,在编译的时候把你所有的模块都编译进去。

动态编译:按需编译,程序在运行的时候,用到哪个模块就加载哪个模块。

四、搭建 Java 的开发环境

JDK:Java SE Development kit,Java 的标准开发包。JDK 主要是包括了编译和运行需要用到的各种工具包,比如 Java 编译器、Java 运行时环境,还有一个常用的类库。

上面说到的运行时环境,其实就是 JRE。

1)先双击安装,指定安装路径(非中文路径,不要在 c 盘),取消公共 JRE 选项。

2)右键“我的电脑”→“属性”→“高级系统设置”→“环境变量”按钮→添加“JAVA_HOME”→ 编辑 Path 的值,在最前面加上 “%JAVA_HOME%\bin;”。

3)Win + R 快捷键,调出运行窗口,输入 cmd 打开 DOS 命令行工具。输入 java -version 进行验证是否安装 JDK 成功。

JDK 10

bin:主要存放一些执行命令,比如将要使用 javac 和 java 命令。

conf:存放相关的配置文件。

include:存放平台特定的头文件。

jmods:存放各种模块,JDK 9 版本后新增的内容。

legal:存放模块的授权文件。

lib:存放一些补充的 jar 包文件。

DOS 命令

cls:清屏。

: 冒号:盘符。

cd:进入指定的目录。

cd ..:回退上一级目录。

cd \:回到根目录中。

五、HelloWorld

类:所有的 Java 代码都需要写在一个类文件中,文件的后缀名 xxx.java。

main 函数:程序的入口。

工具:Eclipse、STS、Netbean、IDEA。

记事本

javac 的命令格式:javac -d 生成的路径 源码文件的路径

如果路径是当前目录的话,则可以直接使用实心点来表示。

javac -d . One.java

java 的命令格式:java 文件名

java One

directory 目录 f:\abc\bcd\ee\ww

六、Java 的注释

注释的作用,主要是用说明性的文字,对当前代码进行解释,让合作降低沟通成功。

注释的作用:多写注释,以防忘记。平时调错的时候,也可以用到。

写好的注释,系统是不会执行注释中的内容。

单行注释://

多行注释:/* */

文档注释:/** */ 通过 javadoc 命令可以生成对应的说明文档。

七、关键字

就是系统已经定义好的一些单词,有特殊的含义。直接使用可以实现某些功能,开发者不能自定义它的功能。

保留字没有任何含义,也没有任何作用。Java 有可能在某年某月某日会给它赋值一些功能,但到底是什么功能,它还没确定,只是当前占用不然其他人使用。

八、标识符

组成元素:英文 a-Z、数字 0-9、符号 _ 和 $

书写规则:

1)数字不能开头

2)不能使用关键字和保留字

3)严格区分大小写,不限制长度,但要求有意义、可读性强。

参考“驼峰命名法”,就是每个单词的首字母大写。

九、数据

软件开发其实就是跟数据打交道。

软件 = 数据 + 逻辑。

12123123123.png

Java 中提供两种容器来存放数据:常量和变量。

常量:就是不会再改变的数据。

变量:就是会发生改变的数据。

十、变量

容器,其实就跟我们喝水的时候用的杯子一样。将我们需要的数据(水)装载容器(杯子)中。

我们应该将对应的数据装载在对应的容器中,不然就会引发类型匹配错误。好比,花生油的瓶子不要装醋,否则会串味。

12.21 小数:double、float 浮点类型

double 双精度浮点类型,范围最大。

float 使用时,需要加上一个 f 或者 F 作为后缀。2.54F、2.56f

12 整数:int 整型

十进制:日常生活中常见的数据类型。10、12、88、59...

二进制:以 0b 或者0B 开头。0b1100、0B0001

十六进制:以 0x 或者 0X 开头。数字 0-9 和 a-f 组成。0xa2

八进制:以 0 开头。0123、0257

true 布尔:boolean 布尔型

true 真

false 假

c 字符:char 字符型

指的是单字符,’a’、1、’中’

要特别注意,a-A 的话,有时候可以当做数字来用,在ASCII 码表中,字母有对应的数值。比如 a 是 97。

变量值可以被访问,还可以被覆盖,设置可以被赋 null 值。

数据是如何存储的?

不论是在内存还是硬盘,存储设备的最小信息单元叫“位 bit”,比特位,一般使用小写 b 字母表示。

计算机最小的存储单元叫“字节 byte”,一般使用大写 B 字母表示。字节是由连续的 8 个位组成的。

1 B = 8 bit

1 KB = 1024 B

1 MB = 1024 KB

1 GB = 1024 MB

1 TB = 1024 GB

1 PB = 1024 TB

整型

byte 字节 1 -128 ~ 127

short 短整型 2 -32768 ~ 32767

int 整型 4 -2147483648 ~ 2147483648

long 长整型 8 -2^63 ~ 2^63-1

浮点型

float 4 - 3.403E38 ~ 3.403E38

double 8 - 1.798E308 ~ 1.798E308

字符型

char 2

布尔型

boolean 1 / 0 1

语法格式:

数据类型 变量名 = 数值;

int i = 12; // 定义变量并且初始化赋值

注意:此处的 = 号,叫赋值符。写代码的顺序,从右到左。

因为我们需要将右边的值,赋值给左边的变量。

在使用变量的时候,需要注意以下几个问题:

1)定义变量的时候,需要注意变量名不能重复。

2)调用变量的时候,需要注意使用范围。

十一、数据类型的转换

如果是范围大的往范围小的方向去转,比如 double → int,需要强制指定转换的类型。

如果是范围小的往范围大的方式去转,比如 int → double,数据的类型会自动提升。

数据类型的大小排列:byte < short < int < long < float < double

十二、运算符

+、-、*、/ :加、减、乘、除。

  • 号,可以用作加法运算,还可以用作“连接符”。

“Hello” + “World” ==> HelloWorld

在使用的时候,如果连接的对象一个是字符串,一个是数值类型,最后得到的结果还是字符串。”Hello” + 2 = “Hello2”

  • 号,还可以作为负号使用。

% 取模,简单理解就是取余数。结果的符号与被取余数一致。

++ 自增:当运算的时候,会先对自己进行 +1 操作。

-- 自减:当运算的时候,会先对自己进行 -1 操作。

++/-- 后置:先使用变量原有的值进行计算,计算完成之后,才会执行自增/自减。

++/-- 前置:先将自身自增/自减后才进行运算,使用变量值是自增/自减后的值。

扩展后的赋值符号,= 赋值符号主要是将右边的值赋给左边。

*= :如果有 a = a * 2; 运算,则可简写为:a *= 2;

/= :如果有 a = a / 2; 运算,则可简写为:a /= 2;

+= :如果有 a = a + 2; 运算,则可简写为:a += 2;

-= :如果有 a = a - 2; 运算,则可简写为:a -= 2;

%= :如果有 a = a % 2; 运算,则可简写为:a %= 2;

常见的比较运算符

<、>、==、===、!=、>=、<=

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 205,386评论 6 479
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 87,939评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 151,851评论 0 341
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,953评论 1 278
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,971评论 5 369
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,784评论 1 283
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,126评论 3 399
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,765评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 43,148评论 1 300
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,744评论 2 323
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,858评论 1 333
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,479评论 4 322
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,080评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,053评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,278评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,245评论 2 352
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,590评论 2 343

推荐阅读更多精彩内容