2021Java最全基础知识点

Java基础知识点梳理 虽然已经在实际工作中经常与java打交道,但是一直没系统地对java这门语言进行梳理和总结,掌握的知识也比较零散。恰好利用这段时间重新认识下java,并对一些常见的语法和知识点做个总结与回顾,一方面为了加深印象,方便后面查阅,一方面为了掌握好Android打下基础。 阅读详情

刚开始学习java的时候,可能是一头雾水,不知道从何学起,这里跟大家分享一下!(仅仅只供初级学者学习,大佬勿喷)

另外还整理一些Java基础知识点文档,内容详尽,需要的可以加群自取862461829

【群里还含有:Java80g学习视频+Java学习书籍+Java项目实战源码+安装软件等】

各类资源都有哦~



写代码:

1,明确需求。我要做什么?

2,分析思路。我要怎么做?1,2,3。

3,确定步骤。每一个思路部分用到哪些语句,方法,和对象。

4,代码实现。用具体的java语言代码把思路体现出来。

学习新技术的四点:

1,该技术是什么?

2,该技术有什么特点(使用注意):

3,该技术怎么使用。demo

4,该技术什么时候用?test。

-----------------------------------------------------------------------------------------------

1.java概述:

1991 年Sun公司的James Gosling等人开始开发名称为 Oak 的语言,希望用于控制嵌入在有线电视交换盒、PDA等的微处理器;

1994年将Oak语言更名为Java;

Java的三种技术架构:

JAVAEE:开发企业环境下的应用程序,主要针对web程序开发;

JAVASE:完成桌面应用程序的开发,是其它两者的基础;

JAVAME:开发电子消费产品和嵌入式设备,如手机中的程序;

1.JDK:java的开发和运行环境,java的开发工具和jre。

2.JRE:java程序的运行环境,java运行的所需的类库+JVM(java虚拟机)。

3.配置环境变量:让java jdk\bin目录下的工具,可以在任意目录下运行,原因是,将该工具所在目录告诉了系统,当使用该工具时,由系统帮我们去找指定的目录。

4.环境变量的配置:

    1):永久配置方式:JAVA_HOME=%安装路径%\Java\jdk

                  path=%JAVA_HOME%\bin

2):临时配置方式:set path=%path%;C:\Program Files\Java\jdk\bin

特点:系统默认先去当前路径下找要执行的程序,如果没有,再去path中设置的路径下找。

5.classpath的配置:

    1):永久配置方式:classpath=.;c:\;e:\

2):临时配置方式:set classpath=.;c:\;e:\

注意:在定义classpath环境变量时,需要注意的情况

如果没有定义环境变量classpath,java启动jvm后,会在当前目录下查找要运行的类文件;

如果指定了classpath,那么会在指定的目录下查找要运行的类文件。

还会在当前目录找吗?两种情况:

1):如果classpath的值结尾处有分号,在具体路径中没有找到运行的类,会默认在当前目录再找一次。

2):如果classpath的值结果出没有分号,在具体的路径中没有找到运行的类,不会再当前目录找。

一般不指定分号,如果没有在指定目录下找到要运行的类文件,就报错,这样可以调试程序。

6.javac命令和java命令做什么事情呢?

要知道java是分两部分的:一个是编译,一个是运行。

javac:负责的是编译的部分,当执行javac时,会启动java的编译器程序。对指定扩展名的.java文件进行编译。 生成了jvm可以识别的字节码文件。也就是class文件,也就是java的运行程序。

java:负责运行的部分.会启动jvm.加载运行时所需的类库,并对class文件进行执行.

一个文件要被执行,必须要有一个执行的起始点,这个起始点就是main函数.

----------------------------------------------------------------------------------------------

2.java语法基础:

1.关键字:其实就是某种语言赋予了特殊含义的单词。

保留字:其实就是还没有赋予特殊含义,但是准备日后要使用过的单词。

  1. 标示符:其实就是在程序中自定义的名词。

比如类名,变量名,函数名。包含 0-9、a-z、$、_ ;

注意:

1)数字不可以开头。

2)不可以使用关键字。

3.常量:是在程序中的不会变化的数据。

4.变量:其实就是内存中的一个存储空间,用于存储常量数据。

作用:方便于运算。因为有些数据不确定。所以确定该数据的名词和存储空间。

特点:变量空间可以重复使用。

应用:只要是数据不确定的时候,就定义变量。

变量空间的开辟需要什么要素呢?

1,这个空间要存储什么数据?数据类型。

2,这个空间叫什么名字啊?变量名称。

3,这个空间的第一次的数据是什么? 变量的初始化值。

变量的作用域和生存期:

变量的作用域:

    作用域从变量定义的位置开始,到该变量所在的那对大括号结束;

生命周期:

    变量从定义的位置开始就在内存中活了;

    变量到达它所在的作用域的时候就在内存中消失了;

数据类型:

1):基本数据类型:byte、short、int、long、float、double、char、boolean

2):引用数据类型: 数组、类、接口。

级别从低到高为:byte,char,short(这三个平级)-->int-->float-->long-->double

自动类型转换:从低级别到高级别,系统自动转的;

强制类型转换:什么情况下使用?把一个高级别的数赋给一个别该数的级别低的变量;

运算符号:

1)、算术运算符。

+ - * / %   %:任何整数模2不是0就是1,所以只要改变被模数就可以实现开关运算。

+:连接符。

++,--

2)、赋值运算符。

=  += -= *= /= %=

3)、比较运算符。

特点:该运算符的特点是:运算完的结果,要么是true,要么是false。

4)、逻辑运算符。

&  |  ^  !   &&   ||

逻辑运算符除了 !  外都是用于连接两个boolean类型表达式。

&: 只有两边都为true结果是true。否则就是false。

|:只要两边都为false结果是false,否则就是true

^:异或:和或有点不一样。

 两边结果一样,就为false。

 两边结果不一样,就为true.

& 和 &&区别: & :无论左边结果是什么,右边都参与运算。

  &&:短路与,如果左边为false,那么右边不参数与运算。

| 和|| 区别:|:两边都运算。

||:短路或,如果左边为true,那么右边不参与运算。

5)、位运算符:用于操作二进制位的运算符。

&  |  ^

<<  >>   >>>(无符号右移)

练习:对两个变量的数据进行互换。不需要第三方变量。

int a  = 3,b = 5;-->b = 3,a = 5;

a = a + b; a = 8;

b = a - b; b = 3;

a = a - b; a = 5;

a = a ^ b;//

b = a ^ b;//b = a ^ b ^ b = a

a = a ^ b;//a = a ^ b ^ a = b;

练习:高效的算出 2*8 = 2<<3;

5.语句

If  switch  do while   while  for

这些语句什么时候用?

1)、当判断固定个数的值的时候,可以使用if,也可以使用switch。

但是建议使用switch,效率相对较高。

switch(变量){

 case 值:要执行的语句;break;

 …

 default:要执行的语句;

}

 工作原理:用小括号中的变量的值依次和case后面的值进行对比,和哪个case后面的值相同了

           就执行哪个case后面的语句,如果没有相同的则执行default后面的语句;

 细节:1):break是可以省略的,如果省略了就一直执行到遇到break为止;

   2):switch 后面的小括号中的变量应该是byte,char,short,int四种类型中的一种;

   3):default可以写在switch结构中的任意位置;如果将default语句放在了第一行,则不管expression与case中的value是否匹配,程序会从default开始执行直到第一个break出现。

2)、当判断数据范围,获取判断运算结果boolean类型时,需要使用if。

3)、当某些语句需要执行很多次时,就用循环结构。

while和for可以进行互换。

区别在于:如果需要定义变量控制循环次数。建议使用for。因为for循环完毕,变量在内存中释放。

break:作用于switch ,和循环语句,用于跳出,或者称为结束。

break语句单独存在时,下面不要定义其他语句,因为执行不到,编译会失败。

当循环嵌套时,break只跳出当前所在循环。要跳出嵌套中的外部循环,只要给循环起名字即可,这个名字称之为标号。

continue:只作用于循环结构,继续循环用的。

作用:结束本次循环,继续下次循环。该语句单独存在时,下面不可以定义语句,执行不到。

6.函 数

函数:为了提高代码的复用性,可以将其定义成一个单独的功能,该功能的体现就是java中的函数。函数就是体现之一。

java中的函数的定义格式:

修饰符 返回值类型 函数名(参数类型 形式参数1,参数类型 形式参数1,…){

执行语句;

return 返回值;

}

当函数没有具体的返回值时,返回的返回值类型用void关键字表示。

如果函数的返回值类型是void时,return语句可以省略不写的,系统会帮你自动加上。

return的作用:结束函数。结束功能。

如何定义一个函数?

函数其实就是一个功能,定义函数就是实现功能,通过两个明确来完成:

1)、明确该功能的运算完的结果,其实是在明确这个函数的返回值类型。

2)、在实现该功能的过程中是否有未知内容参与了运算,其实就是在明确这个函数的参数列表(参数类型&参数个数)。

函数的作用:

1)、用于定义功能。

2)、用于封装代码提高代码的复用性。

注意:函数中只能调用函数,不能定义函数。

主函数:

1)、保证该类的独立运行。

2)、因为它是程序的入口。

3)、因为它在被jvm调用。

函数定义名称是为什么呢?

答:1)、为了对该功能进行标示,方便于调用。

2)、为了通过名称就可以明确函数的功能,为了增加代码的阅读性。

重载的定义是:在一个类中,如果出现了两个或者两个以上的同名函数,只要它们的参数的个数,或者参数的类型不同,即可称之为该函数重载了。

如何区分重载:当函数同名时,只看参数列表。和返回值类型没关系。

  1. 数 组:

用于存储同一类型数据的一个容器。好处:可以对该容器中的数据进行编号,从0开始。数组用于封装数据,就是一个具体的实体。

如何在java中表现一个数组呢?两种表现形式。

1)、元素类型[] 变量名 = new 元素类型[元素的个数];

2)、元素类型[] 变量名 = {元素1,元素2...};

元素类型[] 变量名 = new 元素类型[]{元素1,元素2...};

---------------------------------------------------------

//二分查找法。必须有前提:数组中的元素要有序。

public static int halfSeach_2(int[] arr,int key){

int min,max,mid;

min = 0;

max = arr.length-1;

mid = (max+min)>>1; //(max+min)/2;

while(arr[mid]!=key){

if(key>arr[mid]){

min = mid + 1;

}

else if(key<arr[mid])

max = mid - 1;

if(max<min)

return -1;

mid = (max+min)>>1;

}

return mid;

}

---------------------------------------------------------

java分了5片内存。

1:寄存器。2:本地方法区。3:方法区。4:栈。5:堆。

栈:存储的都是局部变量 ( 函数中定义的变量,函数上的参数,语句中的变量 );

只要数据运算完成所在的区域结束,该数据就会被释放。

堆:用于存储数组和对象,也就是实体。啥是实体啊?就是用于封装多个数据的。

1:每一个实体都有内存首地址值。

2:堆内存中的变量都有默认初始化值。因为数据类型不同,值也不一样。

3:垃圾回收机制。

Java入门基础知识点总结(详细篇) Java入门基础知识点总结(详细篇)~~~~~目录1.1 图解1.1.1 Java基础知识点1.1.2 Java基础语法的相关内容1.2 关键字1.3 标识符1.3.1 标识符概念1.3.2 定义标识符的合法规则1.3.3 Java中的一些命名规范1.4 变量1.4.1 变量的分类1.4.2 整数类型1.4.3 浮点类型1.4.4 字符类型char1.4.5 布尔类型boolean1.5 ASci... 阅读详情

相关推荐

Java面试知识点总结:从基础到高级的全面指南

在准备Java面试时,系统地覆盖从基础到高级的知识点是至关重要的。以下是一个详细的Java面试知识点总结,帮助你有针对性地准备面试。也算是我自己总结的知识点,先记录下来,说不定下次准备面试的时候,能再用上。

weixin_43837507的博客 2664

java基础--连载1

写代码: 1,明确需求。我要做什么? 2,分析思路。我要怎么做?1,2,3。 3,确定步骤。每一个思路部分用到哪些语句,方法,和对象。 4,代码实现。用具体的java语言代码把思路体现出来。   学习新技术的四点: 1,该技术是什么? 2,该技术有什么特点(使用注意): 3,该技术怎么使用。demo 4,该技术什么时候用?test。 一:java概述: 1991

晚风心里吹 772

黑马程序员入学Java知识——精华总结

含面向对象,异常处理和常用类,线程技术,集合框架,IO操作,网络编程,文件操作,反射机制,

Windows系统环境变量Path过长、环境变量满了的解决方法

新建变量Path1 和 变量Path2, 然后将Path1和Path2放入Path中。以后自己手动添加的环境变量就可以放到Path2中。

z695771294的博客 3144

别再死记硬背了!用‘小乌龟’实战图解ROS1核心指令(rosnode/rostopic/rosparam保姆级手册)

本文通过经典的turtlesim乌龟仿真器,以可视化实战方式讲解ROS1核心指令(rosnode/rostopic/rosparam),帮助初学者摆脱死记硬背,在操控乌龟的过程中轻松掌握节点管理、话题通信和参数设置等ROS1核心概念。

weixin_28731223的博客 370

ESP32编译卡在‘Cannot establish a connection to the component registry’?别急着重装,先试试这两个国内镜像配置

本文详细解析了ESP32编译过程中常见的‘Cannot establish a connection to the component registry’报错问题,并提供了国内镜像源的配置方案。通过对比Gitee、清华大学、阿里云和中科大等镜像源的性能,帮助开发者快速解决网络连接问题,提升编译效率。文章还包含手把手的配置教程和进阶技巧,适用于ESP-IDF开发环境的优化。

weixin_34088048的博客 341

文件路径-相对路径和绝对路径

相对路径 当处于当前文件夹时,我们只需要使用相对路径 path1=os.path.abspath('.') 绝对路径 绝对路径就是完整的路径 path2=os.path.abspath('..')

得克特 911

(一)利用Python实现数据集读取,Python基本文件操作介绍

机器学习是计算机对大量数据的分析过程,在机器学习的实际项目中,通常都需要准备数据集,数据集通常包含的数据数量是庞大的。例如,在处理计算机视觉领域的项目时,每一张图片都是一个单独的文件,为了提高模型训练的效果,图片数量通常会比较多,因此需要合理且高效的操作将所有的图片数据读取。本篇旨在介绍如何用Python对海量文件进行遍历,也是机器学习实践的第一步。.........

ZZR2631574030的博客 6355

Java基础知识总结(2021版)

前言 大家好,我是素小暖,2012年毕业,2016年通过培训转行java开发,今天2021年1月9日,转行之路跌跌绊绊,蓦然回首,已经满满的4年工作经验了?但感觉知识还是相当的匮乏,没自信,也许是努力程度还不够吧。很感谢优快云,因为是它给了我学习的动力,之前写了一篇记录优快云博客访问量的文章,也许大家感觉很幼稚,但真的很有用,很有效果,仿佛磕了药一样,努力学习,进步。 2020年,是我较为成功的一年,工作上,跳了槽,涨了工资;学习上,啃了几本名著(Effective Java、重构 改善既.

学Java,找哪吒 26万+

51单片机学习(5)-----蜂鸣器的介绍与使用

蜂鸣器是一种一体化结构的电子讯响器,采用直流电压供电,广泛应用于计 算机、 打印机、 复印机、 报警器、 电子玩具、 汽车电子设备、 电话机、 定 时器等电子产品中作发声器件。蜂鸣器主要分为压电式蜂鸣器和电磁式蜂鸣器两种类型。1.半导体三极管也称为晶体三极管,可以说它是电子电路中最重要的器件。三极管顾名思义具有三个电极。二极管是由一个PN结构成的,而三极管由两个PN结构成,共用的一个电极成为三极管的基极(用字母b表示)。其他的两个电极成为集电极(用字母c表示)和发射极(用字母e表示)。

2302_80260350的博客 1万+

Keil5实战:如何高效导出变量数据并实现可视化分析

本文详细介绍了在Keil5开发环境中,如何利用调试脚本高效导出程序运行时变量数据的方法。通过编写脚本自动捕获数据并保存为文件,再结合Excel或Python进行可视化分析,为嵌入式调试与算法优化提供了数据支撑,显著提升开发效率。

silver的专栏 1104

JavaScript 6 ,JavaScript常用数组方法1,详细(JS中常用的数组方法)

⭐JavaScript 中的数组(Array)对象,提供了许多有用的方法,来操作和遍历数组数据。这里来分享记录,JavaScript 中常用的数组方法。.reduce()、.map().、slice().、splice(注意和split()的区分)、.filter()、.includes()、 .forEach()、.indexOf()、.find()、.flat()

AI Agent 全栈架构师(AI + GIS + Backend)& 数字芯片系统架构师(FPGA),NorthCity Smile的博客(NcSmile,博主域名:https://ncmile.blog.youkuaiyun.com) 822

小蔺的米哈游数据分析师之路——MYSQL篇

作为新人,记录自己mysql学习历程

weixin_47070228的博客 432

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

Java基础知识点总结 大纲 一、Java基础(语言、集合框架、OOP、设计模式等) 二、Java高级(JavaEE、框架、服务器、工具等) 三、多线程和并发 四、Java虚拟机 五、数据库(Sql、MySQL、Redis等) 六、算法与数据结构 七、计算机网络 八、操作系统(OS基础、Linux等) 九、其他 ### 一、Java基础(语言、集合框架、OOP、设计模式等) 1. HashMap和Hashtable的区别 Hashtable是基于陈旧的Dictionary的Map接

liuerchong的博客 2万+

【Spring Cloud Alibaba】Linux安装RocketMQ以及RocketMQ Dashboard可视化工具

在当今分布式架构的开发中,消息队列成为了一种常见的解决方案。RocketMQ是阿里巴巴开源的分布式消息中间件,具有高吞吐量、高可用性和强大的扩展性,因此在构建大规模、高可靠性的应用系统时备受推崇。而在使用RocketMQ时,为了更好地了解消息的流动和监控,RocketMQ Dashboard成为了一个不可或缺的可视化工具。本篇博客将带大家一步步在Linux系统中安装RocketMQ,并介绍如何配置和使用RocketMQ Dashboard。

编码人生 3381

把 Claude Code 接进 ABAP 世界,vibing-steampunk 到底能做什么

《Vibing Steampunk:AI Agent 与 ABAP 开发的工程化桥梁》摘要 Vibing Steampunk(vsp)是一个连接 AI Agent 与 SAP ABAP 开发环境的开源工具,通过 Model Context Protocol(MCP)将 ABAP 开发能力标准化。它解决了传统 ABAP 开发中 AI 辅助工具的局限性,使 Claude Code 等 AI 编程助手能够直接访问 ADT API,实现代码读写、调试、测试等完整开发流程。该工具采用 Go 语言开发,提供 147 个

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 1932

Java基础知识点总结归纳,超级全面!(2021版)

凯哥今天看了网上好多关于Java基础知识点汇总的博客,but,感觉都不尽如人意,要么不全面,要么不准确,要么排版太乱了! 所以今天花了一天时间整理了一份Java基础知识点总结归纳,超级全面!希望对大家有帮助哈~ 由于本文篇幅过长,博主为了方便大家阅读和收藏,特意将本文转成了一份PDF版的文档。 需要PDF版的朋友可以关注微信公众号:Java团长,发送“基础知识”即可获取哈~ 一、Java概述 1、何为编程 编程就是让计算机为解决某个问题而使用某种程序设计语言编写程序代码,并最终得到结果的过程..

Java笔记 13万+

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

史上最全Java基础知识点归纳

写这篇文章的目的是想总结一下自己这么多年来使用Java的一些心得体会,主要是和一些Java基础知识点相关的,所以也希望能分享给刚刚入门的Java程序员和打算入Java开发这个行当的准新手们,希望可以给大家一些经验,能让大家更好学习和使用Java。 这次介绍的主要内容是和J2SE相关的部分,另外,会在以后再介绍些J2EE相关的、和Java中各个框架相关的内容。 经过这么多年的Java开发,以及结合平时面试Java开发者的一些经验,我觉得对于J2SE方面主要就是要掌握以下的一些内容。 1. J

bai_Mou的博客 2170

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

java最全的概念与知识点总结

java概念知识点总结   一、基础语法 java内存模型和内存区域以及执行过程理解 特例: 基本类型(八大基本类型(boolean、char、byte、short、int、long、float、double) 1) 因为对于一些小的、简单的变量,在new中创建对象往往不是很有效,于是设置了基本类型 2) java中所有不带小数点的类型都默认是int类型,带小数点的默认类型为doubl...

qq_33366098的博客 8053

JAVA最全最细基础知识点

java最基础知识点;跨平台;常量;标识符

weixin_49493223的博客 6689

java基础知识点

🏆作者简介:哪吒,优快云2022博客之星Top1、优快云2021博客之星Top2、多届新星计划导师✌、博客专家💪,专注Java硬核干货分享,立志做到Java赛道全网Top N。🏆本文收录于,,目前已经700+订阅,优快云最强Java专栏,包含全部Java基础知识点、Java8新特性、Java集合、Java多线程、Java代码实例,理论结合实战,实现Java的轻松学习。🏆姐妹篇,,包含面向对象、基本数据类型、数组、继承和多态、泛型、枚举等Java基础知识点。🏆姐妹进阶篇,

学Java,找哪吒 2万+

全宇宙上最全Java基础知识点归纳(建议收藏)

写这篇文章的目的是想总结一下自己这么多年来使用Java的一些心得体会,主要是和一些Java基础知识点相关的,所以也希望能分享给刚刚入门的Java程序员和打算入Java开发这个行当的准新手们,希望可以给大家一些经验,能让大家更好学习和使用Java。 这次介绍的主要内容是和J2SE相关的部分,另外,会在以后再介绍些J2EE相关的、和Java中各个框架相关的内容。 经过这么多年的Java开发,以及结合平时面试Java开发者的一些经验,我觉得对于J2SE方面主要就是要掌握以下的一些内容。 1. JV.

chengxuyuan9527的博客 3637

JAVA基础知识点总结

Java 是一门面向对象的编程语言。 语言特点:面向对象,平台无关性,支持多线程,编译与解释并存JVM:Java Virtual Machine,Java 虚拟机。 JRE: Java 运⾏时环境。 JDK: Java Development Kit,它是功能⻬全的 Java SDK。 JDK 包含 JRE,JRE 包含 JVM。Java 程序从源代码到运行主要有三步: 编译:将我们的代码(.java)编译成虚拟机可以识别理解的字节码(.class) 解释:虚拟机执行 Java 字节码,将字节码翻译成机器能

sen_sen97的博客 1万+

java面试知识点——基础

java面试知识点——基础 java面试知识点解析(一)——基础知识篇

qq_40996030的博客 7334

java基础知识点总结(一)

打算重新看看java基础,把开始学的时候模糊的概念理清楚,不定时更新~~~ 一、环境篇 1. JDK和JRE 三个概念: JDK: java development kit(java开发工具) JRE: java runtime environment(java运行时环境) JVM: java Virtual Machine(java虚拟机) a. JDK: JDK就是我们开发人员使用的开发工具,它里面包含了JRE、JVM和基础类库。所以编程的话只需要安装JDK,配置环境变量,path路径就可以了。 b.

nann-viiv 的博客 7950
上一篇: 十款经典游戏的Java版本(附源码)
下一篇: Java程序员面试简历模板(30套简历模板+300套简历)
Java机械师
博客等级 码龄5年 296粉丝 29原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值