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根头发)
JAVA最全最细基础知识点相关推荐
- Java 面试全解析:核心知识点与典型面试题
课程背景 又逢"金九银十",年轻的毕业生们满怀希望与忐忑,去寻找.竞争一个工作机会.已经在职的开发同学,也想通过社会招聘或者内推的时机争取到更好的待遇.更大的平台. 然而,面试人群 ...
- 自然语言处理算法工程师历史最全资料汇总-基础知识点、面试经验
2019年秋招已过,零星的招聘任然在继续.本资源适用于NLP算法工程师面试,也适用于算法相关的其他岗位.整理了算法面试需要数学基础知识.编程语言.深度学习.机器学习.计算机理论.统计学习.自然语言处理 ...
- java 锁旗标_Java基础知识点整理(一)
1.&和&&的区别? &:逻辑与(and),运算符两边的表达式均为true时,整个结果才为true. &&:短路与,如果第一个表达式为false时,第二 ...
- java/spring/springboot 的一些基础知识点
Java开发基础部分 1.&和&&的区别. &和&&都表示与的意思,既表达式俩边都成立,结果才成立. &&是逻辑运算符,&&am ...
- java入门考点_java入门基础知识点总结
JavaScript他是一种描述性语言,其实他并不难学,只要用心学,一定会学好,我相信大家在看这篇文章的时候,一定也学过HTML吧,使用JavaScript就是为了能和网页有更好的交互,下面切入主题. ...
- Java常用基础知识点总结(最全)
Java基础知识点总结 大纲 一.Java基础(语言.集合框架.OOP.设计模式等) 二.Java高级(JavaEE.框架.服务器.工具等) 三.多线程和并发 四.Java虚拟机 五.数据库(Sql. ...
- java基础案例教程前4章知识点_java学习记录4 Java基础知识点
java学习记录4 Java基础知识点 1. 注释 单行注释 使用"//"开头,后面是注释的内容 一般在要注释的语句的上面加注释 多行注释 以"/*"开头,以& ...
- 整理的java基础知识点笔记
java基础知识点 (涉及到图片的资源因为在电脑本地,挨个挨个找太浪费时间就不找了) 基础点 **字节:**每逢8位是一个字节,这是数据存储的最小单位. 计算机中的数据转换: 1 Byte = 8 ...
- JAVA基础知识点-入门必备
本文主要是我之前复习Java基础原理过程中写的Java基础知识点总结.Java的知识点其实非常多,并且有些知识点比较难以理解,有时候我们自以为理解了某些内容,其实可能只是停留在表面上,没有理解其底层实 ...
- java重要基础知识点_必看 | 新人必看的Java基础知识点大梳理
原标题:必看 | 新人必看的Java基础知识点大梳理 各位正在认真苦学Java的准大神,在这烈日炎炎的夏季里,老九君准备给大家带来一个超级大的"冰镇西瓜,"给大家清凉一下,压压惊. ...
最新文章
- -变量,进制,数据类型,标识符
- 五大点,搞懂单线程的Redis到底快在哪里
- elementui如何在input 框中搜索_在 Windows 10 中的文件资源管理器中删除搜索历史记录...
- 生活|全民AI时代:干洗店老板、高中生齐上阵
- springboot日志笔记
- 如何禁止Linux内核的-O2编译选项【转】
- php静态变量的销毁
- 编译原理实验语义分析_「编译原理」LL(1)文法分析,简单优先分析
- [Stardust]星尘分布式全链路监控
- c语言字符比较思路,C语言讲解思路资料
- 内核并发控制---读写信号量(来自网易)
- Win+Tab键实现自定义程序列表间的窗口切换
- 神奇的反爬措施--大众点评
- Java基础学习,一些零散的笔记之抽象类与接口
- 教之初考试系统登录选择服务器,教之初考试系统
- Android基础--ListView的刷新
- Python自动化测试如何自动生成测试用例?
- 组合体视图的画图步骤_画组合体视图的方法与步骤
- 信息流推荐在凤凰新闻的业务实践
- apktool下载及“安装”(windows系统)
热门文章
- LabVIEW编程LabVIEW开发 Kepco ABC程控电源 例程与相关资料
- 线性系统和非线性系统——《应用非线性动力学》读书笔记
- 3.什么叫计算机网络的体系结构,什么是计算机网络体系结构?
- php mysql知识总结_Mysql数据库知识总结(看资料总结出来的)
- 关于金山词霸2009牛津版在windows2003下无法对PDF文件取词的问题
- 如何有效管理远程开发团队
- 深度学习模型---稀疏编码 Sparse Coding
- FastReport 2022-2 VCL 企业版-FastReport
- AvalonDock使用(2)-简单布局设置
- 计算机里只剩c盘了,家里电脑上突然只剩下C盘,怎么处理