计算机语言发展历史:

第一代(机器语言) 第二代(汇编语言) 第三代(高级语言),其中高级语言又分为 面对过程的语言(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根头发)

JAVA最全最细基础知识点相关推荐

  1. Java 面试全解析:核心知识点与典型面试题

    课程背景 又逢"金九银十",年轻的毕业生们满怀希望与忐忑,去寻找.竞争一个工作机会.已经在职的开发同学,也想通过社会招聘或者内推的时机争取到更好的待遇.更大的平台. 然而,面试人群 ...

  2. 自然语言处理算法工程师历史最全资料汇总-基础知识点、面试经验

    2019年秋招已过,零星的招聘任然在继续.本资源适用于NLP算法工程师面试,也适用于算法相关的其他岗位.整理了算法面试需要数学基础知识.编程语言.深度学习.机器学习.计算机理论.统计学习.自然语言处理 ...

  3. java 锁旗标_Java基础知识点整理(一)

    1.&和&&的区别? &:逻辑与(and),运算符两边的表达式均为true时,整个结果才为true. &&:短路与,如果第一个表达式为false时,第二 ...

  4. java/spring/springboot 的一些基础知识点

    Java开发基础部分 1.&和&&的区别. &和&&都表示与的意思,既表达式俩边都成立,结果才成立. &&是逻辑运算符,&&am ...

  5. java入门考点_java入门基础知识点总结

    JavaScript他是一种描述性语言,其实他并不难学,只要用心学,一定会学好,我相信大家在看这篇文章的时候,一定也学过HTML吧,使用JavaScript就是为了能和网页有更好的交互,下面切入主题. ...

  6. Java常用基础知识点总结(最全)

    Java基础知识点总结 大纲 一.Java基础(语言.集合框架.OOP.设计模式等) 二.Java高级(JavaEE.框架.服务器.工具等) 三.多线程和并发 四.Java虚拟机 五.数据库(Sql. ...

  7. java基础案例教程前4章知识点_java学习记录4 Java基础知识点

    java学习记录4 Java基础知识点 1. 注释 单行注释 使用"//"开头,后面是注释的内容 一般在要注释的语句的上面加注释 多行注释 以"/*"开头,以& ...

  8. 整理的java基础知识点笔记

    java基础知识点 (涉及到图片的资源因为在电脑本地,挨个挨个找太浪费时间就不找了) 基础点 **字节:**每逢8位是一个字节,这是数据存储的最小单位. 计算机中的数据转换: ​ 1 Byte = 8 ...

  9. JAVA基础知识点-入门必备

    本文主要是我之前复习Java基础原理过程中写的Java基础知识点总结.Java的知识点其实非常多,并且有些知识点比较难以理解,有时候我们自以为理解了某些内容,其实可能只是停留在表面上,没有理解其底层实 ...

  10. java重要基础知识点_必看 | 新人必看的Java基础知识点大梳理

    原标题:必看 | 新人必看的Java基础知识点大梳理 各位正在认真苦学Java的准大神,在这烈日炎炎的夏季里,老九君准备给大家带来一个超级大的"冰镇西瓜,"给大家清凉一下,压压惊. ...

最新文章

  1. -变量,进制,数据类型,标识符
  2. 五大点,搞懂单线程的Redis到底快在哪里
  3. elementui如何在input 框中搜索_在 Windows 10 中的文件资源管理器中删除搜索历史记录...
  4. 生活|全民AI时代:干洗店老板、高中生齐上阵
  5. springboot日志笔记
  6. 如何禁止Linux内核的-O2编译选项【转】
  7. php静态变量的销毁
  8. 编译原理实验语义分析_「编译原理」LL(1)文法分析,简单优先分析
  9. [Stardust]星尘分布式全链路监控
  10. c语言字符比较思路,C语言讲解思路资料
  11. 内核并发控制---读写信号量(来自网易)
  12. Win+Tab键实现自定义程序列表间的窗口切换
  13. 神奇的反爬措施--大众点评
  14. Java基础学习,一些零散的笔记之抽象类与接口
  15. 教之初考试系统登录选择服务器,教之初考试系统
  16. Android基础--ListView的刷新
  17. Python自动化测试如何自动生成测试用例?
  18. 组合体视图的画图步骤_画组合体视图的方法与步骤
  19. 信息流推荐在凤凰新闻的业务实践
  20. apktool下载及“安装”(windows系统)

热门文章

  1. LabVIEW编程LabVIEW开发 Kepco ABC程控电源 例程与相关资料
  2. 线性系统和非线性系统——《应用非线性动力学》读书笔记
  3. 3.什么叫计算机网络的体系结构,什么是计算机网络体系结构?
  4. php mysql知识总结_Mysql数据库知识总结(看资料总结出来的)
  5. 关于金山词霸2009牛津版在windows2003下无法对PDF文件取词的问题
  6. 如何有效管理远程开发团队
  7. 深度学习模型---稀疏编码 Sparse Coding
  8. FastReport 2022-2 VCL 企业版-FastReport
  9. AvalonDock使用(2)-简单布局设置
  10. 计算机里只剩c盘了,家里电脑上突然只剩下C盘,怎么处理