JAVA最全最细基础知识点

计算机语言发展历史:

第一代(机器语言) 第二代(汇编语言) 第三代(高级语言),其中高级语言又分为 面对过程的语言(c语言)和面向对象的语言(Java语言)。所以我们说Java是一门面向对象的高级计算机语言。

Java语言的历史

Java语言是美国Sun公司(Stanford University Network)斯坦福大学网络公司 在1995年推出的计算机语言。2009年,Sun公司被甲骨文公司(Oracle)收购。Java之父:詹姆斯·高斯林(James Gosling)

Java语言的分类

​ JavaSE: Java 语言的(标准版),用于桌面应用的开发,是其他两个版本的基础。

JavaME: Java 语言的(小型版),用于嵌入式消费类电子设备,现在不用了。

JavaEE: Java 语言的(企业版),用于 Web 方向的网站开发。网站的简单理解= 网页+后台服务器

java语言特点先编译再解释运行 (我们首先编写点java的源文件,然后通过java编译器进行编译成点class的字节码文件,再通过java解释器运行。)

跨平台

平台:指的是操作系统(Windows,Linux,Mac)

什么是跨平台性?

通过Java语言编写的应用程序在不同的系统平台上都可以运行。

Java跨平台原理

1.不同的硬件平台最终执行的是机器码,不同平台的机器码是不同的

2.java源程序(.java文件)先编译成字节码文件(.class文件),由于字节码文件格式独立,不面向任何具体的平台,只面向虚拟机;因此将字节码文件解释成对应平台机器码并执行;

3.Java虚拟机是可运行Java字节码文件的虚拟计算机,不同平台的虚拟机是不同的,但它们都提供了相同的接口。

4.Java具有一次编译,到处运行的特点.就是说编译后的.class可以跨平台运行,前提是该平台具有相应的Java虚拟机。

软件安装需要注意什么?

安装路径不要包含中文或者空格等特殊字符(使用纯英文目录)

为什么配置环境变量?

在任意目录下使用jdk的bin目录下的java相关命令。

public起到什么作用?

限制类名和文件名必须一致

class起到什么作用?

用来定义一个java类

入口方法起到什么作用?

程序的入口,jvm运行需要找入口方法

字节码文件,操作系统能直接执行吗?

不能,只有JVM认识字节码文件或者说 字节码文件是通过JVM来运行的。

JDK JRE JVM的关系

JDK(Java Development Kit):Java开发工具或者叫做Java开发环境,包含了JRE和开发工具,我们要开发Java程序必须安装JDK。

开发工具:主要有二个,javac.exe 编译工具 java.exe 运行工具

JRE(Java Runtime Environment):Java运行环境,包含了JVM和Java的核心类库(Java API)。我们如果只是单纯运行Java程序,只需要安装JRE即可。

jvm:虚拟机

类库:java类的仓库,里面装的是java提供的写好Java类,我们只需要拿来直接使用。

jdk下载的归档地址。(直接方便进入)

https://www.oracle.com/java/technologies/oracle-java-archive-downloads.html

DOS命令(黑窗口)

DOS是微软在window操作系统之前推出的一款操作系统,在我们现在的window系统中一直保留。

进入DOS窗口的方式:

win + r打开运行窗口,输入cmd,回车。

快捷进入cmd窗口方式

操作

说明

盘符名称:

盘符切换。E:回车,表示切换到E盘。

dir

查看当前路径下的内容。

cd 目录

进入单级目录。cd itheima

cd ..

回退到上一级目录。 .. 表示上一级目录

cd 目录1\目录2...

进入多级目录。cd itheima\JavaSE

cd \

回退到盘符目录。

cls

清屏。

exit

退出命令提示符窗口。

tab

补全命令

上下箭头 ↑ ↓

查找历史命令

为什么配置环境变量?

开发Java程序,需要使用JDK提供的开发工具(比如javac.exe、java.exe等命令),而这些工具在JDK的安装目录的bin目录下,如果不配置环境变量,那么这些命令只可以在该目录下执行。我们不可能把所有的java文件都放到JDK的bin目录下,所以配置环境变量的作用就是在任意目录下使用jdk的bin目录下的java相关命令。

步骤:

在系统变量中添加一个名称叫JAVA_HOME的环境变量,JAVA_HOME=jdk的安装目录

添加完JAVA_HOME之后,我们对path进行修改,在最前面加上%JAVA_HOME%\bin。

编译运行出错问题

非法字符问题。Java中的符号都是英文格式的。

​ 英文的符号写成了中文,中文符号比英文符号胖一些。

中文乱码问题:

控制台打印输出中文你好,出现乱码。 为什么?编解码字符集不一致,我们在记事本中是UTF-8,在CMD中是GBK。

​ 怎样解决?将编解码字符集设置成一致就行。我们在记事本中另存为,选择编码为ANSI即可。

​ ANSI: 表示跟随操作系统,我们现在是中文的操作系统,就相当于GBK。这样一来 编码和解码的字符集都是GBK了,

字符:就是一种符号,比如 abc 你好 。

字符集:就是字符的集合。

编码表 : 字符与二进制数值之间的一个映射关系,因为字符最终要转换成二进制数值在计算机中进行存储。

字符集的发展历史: ascii iso-8859-1 gbk utf-8

编码 :把字符转换成二进制数值的过程

解码 :把二进制数值转换成字符的过程

java类中可以写多个class ,但是最多只能有一个class 被定义为public, 例如下面的java文件名称则只能是Hello2.

注释:是一段对代码的解释说明文字,可以提高程序的可读性。

单行注释://

多行注释/* (文字)*/

文档注释

/**

*

*/

关键字是指被java语言赋予了特殊含义的英文单词。

关键字的特点

​ 关键字的字母全部小写。

​ 常用的代码编辑器对关键字都有高亮显示,比如现在我们能看到的public、class、static等。

补充:

保留字:goto const 目前的java版本没有使用,但是后续的java版本有可能作为关键字使用,作为保留,我们定义标识符的时候不能使用。

常量:在程序运行过程中,其值不可以发生改变的量。

java中常量分为二类:一类是字面常量 一类是自定义常量 final

Java中的常量分类:

​ 字符串常量 用双引号括起来的多个字符(可以包含0个、一个或多个),例如"a"、"abc"、"中国"等

​ 整数常量 整数,例如:-10、0、88等

​ 小数常量 小数,例如:-5.5、1.0、88.88等

​ 字符常量 用单引号括起来的一个字符,例如:'a'、'5'、'B'、'中'等。有且仅有一个。

​ 布尔常量 布尔值,表示真假,只有两个值true和false

​ 空常量 一个特殊的值,空值,值为null

除空常量外,其他常量均可使用输出语句直接输出。

我们知道计算机中用来存储数据的设备有内存和硬盘,其中内存是用来对数据进行临时存储的,硬盘是用来对数据进行永久存储的。那它们的最小存储单位是“位(bit)”,我们又称之为“比特位”,通常用小写的字母”b”表示。

而计算机中最基本的存储单元叫“字节(byte)”,通常用大写字母”B”表示,字节是由连续的8个位组成。

Java中的基本数据类型: 四类八种

数据类型

关键字

内存占用(字节)

取值范围

整数类型

byte

1

-128~127

short

2

-32768~32767 +- 3万 5位

int(默认)

4

-2的31次方到2的31次方-1 +-10位

long

8

-2的63次方到2的63次方-1 +-19位

小数类型

float

4

负数:-3.402823E+38到-1.401298E-45 正数: 1.401298E-45到3.402823E+38

double(默认)

8

负数:-1.797693E+308到-4.9000000E-324 正数:4.9000000E-324 到1.797693E+308

字符类型

char

2

0-65535

布尔类型

boolean

1

true,false

小数在底层是以科学计数法的形式来存储的,所以所表示取值范围要比整数的要大。

​ 在java中整数默认是int类型,浮点数默认是double类型。

变量的定义格式?

(1)数据类型 变量名 = 数据值;

(2)数据类型 变量名;

变量名 = 初始化值;

变量的注意事项(理解)

在同一对花括号中,变量名不能重复。变量在使用之前,必须初始化(赋值)。

定义long类型的变量时,需要在整数的后面加L(大小写均可,建议大写)。因为整数默认是int类型,整数太大可能超出int范围。;

定义float类型的变量时,需要在小数的后面加F(大小写均可,建议大写)。因为浮点数的默认类型是double, double的取值范围是大于float的,类型不兼容。

什么是标识符?Class A 给class起的名就是标识符

标识符是指在代码中,给类、方法、变量、常量等取的名字。

标识符的规定?

由字母、数字、下划线“_”、美元符号“$”组成,

第一个字符不能是数字,不能使用java中的关键字作为标识符,不能有空格,区分大小写。

标识符的约定?

小驼峰式命名:变量名、方法名 int age = 10;

首字母小写,从第二个单词开始每个单词的首字母大写。firstName

大驼峰式命名:类名,接口名

每个单词的首字母都大写。

HelloWorld标识符的命名最好做到见名知意例如:maxAge、studentNumber等。

键盘录入的使用步骤?

1、导包

import Java.util.Scanner;

2、创建Scanner对象。(建立对象之后输入友好提示)

Scanner sc = new Scanner(System.in);
System.out.println("请输入。。。。"); //(友好提示)

3、接收数据

int 变量名 = sc.nextInt(); // (接收整数)

 

 //每天都会更新,适合零基础小白自学,希望大家都可以坚持自己的梦想,不要放弃(昨晚也是掉了20根头发)


版权声明:本文为weixin_49493223原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
THE END
< <上一篇
下一篇>>