【JavaSE】java基本概念总结Ⅰ

简介: jdk:JDK(Java Development Kit)称为Java开发包或Java开发工具, 是一个编写Java应用程序的程序开发环境。JDK是整个Java的核心,包括了Java运行环境(Java Runtime Environment),一些Java工具和Java的核心类库(Java API)jre:Java运行环境(Java Runtime Environment)是支持Java程序运行的标准环境jvm(java Virtual Machine) java虚拟机。

目录

       🥪一、jdk, jre, jvm三者的关系与区别


       🌮二、Java关键字


       🍰三、注释


       🍔四、变量与常量


       🌭五、运算符


🥪一、jdk, jre, jvm三者的关系与区别

jdk,jre,jvm


jdk:JDK(Java Development Kit)称为Java开发包或Java开发工具, 是一个编写Java应用程序的程序开发环境。JDK是整个Java的核心,包括了Java运行环境(Java Runtime Environment),一些Java工具和Java的核心类库(Java API)


jre:Java运行环境(Java Runtime Environment)是支持Java程序运行的标准环境


jvm(java Virtual Machine) java虚拟机。


关系:jdk > jre > jvm


🌟简单来说三者的关系是:JDK>JRE>JVM。


🌟如果想要 运行 一个开发好的 Java 程序,计算机中只需要安装 JRE 即可。


🌟   JDK = JRE + 开发工具集(例如 Javac 编译工具等)


       JRE = JVM + Java SE 标准类库



🌟 联系与区别


1.我们利用JDK写了自己的JAVA代码程序后,通过JDK中的编译程序(javac)将我们的文本java文件编译成JAVA字节码,在JRE上运行这些JAVA字节码,JVM解析这些字节码,映射到CPU指令集或OS的系统调用。


2.JDK和JRE区别:在bin文件夹下会发现,JDK有javac.exe而JRE里面没有,javac指令是用来将java文件编译成class文件的,这是开发者需要的,而用户(只需要运行的人)是不需要的。JDK还有jar.exe, javadoc.exe等等用于开发的可执行指令文件。这也证实了一个是开发环境,一个是运行环境。jdk是给开发人员使用的,jre和jvm是给普通用户使用。


3.JRE和JVM区别:JVM并不代表就可以执行class了,JVM执行.class还需要JRE下的lib类库的支持(rt.jar)


🌮二、Java关键字

关键字


关键字都是小写的


标识符


注意事项


a.只能有字母,数字,$, 下划线


b.不能以数字开头


原则


a.🌈包:(就是文件夹作用,区分同名文件)起名字的时候都小写


b.🌈类和接口:一个单词首字母大写,多个单词从第二个单词开始首字母大写


小写驼峰


大写驼峰


c.🌈常量:每个字母都大写,多个单词用下划线隔开


🍰三、注释

注释


🌈单行注释:以两个斜杠(//)开头,从//后面的内容直到该行的结尾都被视为注释。

例如:

// 这是一个单行注释 int x = 10; // 这是给变量x赋值的语句

🌈多行注释:以 /* 开头,以 */ 结尾,可以跨越多行。多行注释通常用于注释较长的文字、整个方法或类的说明。

例如:

/* 这是一个多行注释 它可以跨越多行 */ int y = 20; // 这是给变量y赋值的语句

🌈文档注释:以 /** 开头,以 */ 结尾,可以用于生成自动化的代码文档。文档注释通常用于对类、方法等进行详细的文档说明。

例如:

/** * 这是一个文档注释示例 * 它可以包含详细的说明、参数说明、返回值说明等 * @param num 一个整数参数 * @return 两倍于输入值的结果 */ public int doubleNumber(int num) { return num * 2; }

通过使用注释,可以提高代码的可读性和易理解性,同时也有助于团队协作和代码维护。在编写Java代码时,合理使用注释是一个良好的编程习惯。


🍔四、变量与常量

🌟4.1  常量

常量(在执行过程中其值不会发生改变的量)


1.自定义常量


2.字面值常量


  a.🌑字符串常量

  b.🌒整数常量

  c.🌓小数常量

  d.🌔字符常量

  e.🌕布尔常量

  f.🌖空常量

🌟4.2  进制转换

进制转换


其它进制转十进制


每一个位置上的系数*基数的权次方相加


十进制转其它进制


结论:除基取余,直到商为0,余数取反


十进制和二进制之间的快速转换


方法:使用8421码


e.g.


十到二:把十进制进行拆分(8,4,2,1)对应到二进制的每一位上


二到十:利用(8,4,2,1)将结果相加即可


任意进制X转换为Y进制


X进制->十进制->Y进制


有符号的数据表示方法


所有的数据运算的时候都是采用补码进行运算


有符号的数据表示方法


🌈原码:就是二进制表示形式,最高位是符号位,0表示正数,1表示负数其余位都是数值位.


一般用于存储


🌈反码:正数的反码和原码一样。负数的反码是在原码的基础上逐位取反,


符号位除外


是一个中间工具


🌈补码:正数的补码和原码一样。负数的补码是在其反码的基础上+1


用于运算·


byte a = 130;        //这里涉及强制类型转换,相当于截取
byte b = -126;
if(a == b)
    System.out.print("相等");
//130的二进制:
            原码:00000000 00000000 00000000 10000010
            这是一个正数,所以原反补一样
            补码:00000000 00000000 00000000 10000010
            强转相当于是截取,byte占一个字节,截取一个字节
                符号位      数值位
            补码:1            0000010   最高位是1,表示是一个负数
            反码:1            0000001
            原码:1            1111110
                 -          64+32+16+8+4+2= -126
//所以130存在byte中的值是-126

 

🌟4.3 变量

变量(在程序执行过程中其值可以在 某个范围 内发生改变的量)


组成:数据类型


 变量名

 初始值

数据类型


基本数据类型:4类8种


整数类型:byte(1),short(2),int(4),long(8)


浮点类型:float(4),double(8)


字符型:char(2)


布尔型:boolean(1)


注意事项:


🌈整数默认是int类型,浮点数默认是double类型


🌈要表示长整型需要使用L或者l标记,建议用L


🌈要表示单精度浮点数需要使用F或者f标记,建议用F


使用变量的注意事项:


🌈作用域问题


🌈初始值


类型转换


🌈默认转换(自动转换)


byte,short,char-->int-->long-->float-->double(+时)


注意:布尔型不参与类型转换


🌈强制转换(从大到小的转换)


目标类型 变量名 = (目标类型)(被转换的数据);


🌭五、运算符

字符参与运算


考察ASCII码表


a为97


A为65


0为48


字符串参与 “+” 运算


字符串遇到+的时候,就不再是加法运算 而是变成了字符串连接符 会把+左边和右边的内容拼接到一起,成为一个新的字符串


运算符


🌈算术运算符(“/” 注意一下)


基本的四则运算 : 加减乘除模(+-*/%)

增量运算符+= -= *= %=

自增/自减运算符 ++/--

🌈赋值运算符(还有拓展的赋值运算符)


拓展运算符(拓展运算符都隐含了强制类型转换)


实际上s+=1;等价于 s=(s的类型)(s+1);


🌈比较运算符


< , > , ==, >=,  <= , !=


🌈逻辑运算符(用来链接布尔类型表达式或者值)


逻辑&: 有假则假 逻辑|:有真则真 逻辑^: 相同为假,不同为真。记谈恋爱。 逻辑!: 非真则假,非假则真。奇数个取反,偶数个不变。 逻辑&&: 有假则假 逻辑||:有真则真


单&于双&的区别:一个有短路效果,一个没有,如果两边不是表达式,是值时&会进行位运算


🌈位运算符


<<


>>


>>>


🌈三元运算符


? :


以下是运算符优先级, 从上到下以此减小

相关文章
|
3月前
|
Java 程序员
Java中的继承和多态:理解面向对象编程的核心概念
【8月更文挑战第22天】在Java的世界中,继承和多态不仅仅是编程技巧,它们是构建可维护、可扩展软件架构的基石。通过本文,我们将深入探讨这两个概念,并揭示它们如何共同作用于面向对象编程(OOP)的实践之中。你将了解继承如何简化代码重用,以及多态如何为程序提供灵活性和扩展性。让我们启程,探索Java语言中这些强大特性的秘密。
|
18天前
|
算法 Java 数据库连接
Java连接池技术,从基础概念出发,解析了连接池的工作原理及其重要性
本文详细介绍了Java连接池技术,从基础概念出发,解析了连接池的工作原理及其重要性。连接池通过复用数据库连接,显著提升了应用的性能和稳定性。文章还展示了使用HikariCP连接池的示例代码,帮助读者更好地理解和应用这一技术。
31 1
|
24天前
|
Java
Java中多线程编程的基本概念和创建线程的两种主要方式:继承Thread类和实现Runnable接口
【10月更文挑战第20天】《JAVA多线程深度解析:线程的创建之路》介绍了Java中多线程编程的基本概念和创建线程的两种主要方式:继承Thread类和实现Runnable接口。文章详细讲解了每种方式的实现方法、优缺点及适用场景,帮助读者更好地理解和掌握多线程编程技术,为复杂任务的高效处理奠定基础。
28 2
|
2月前
|
监控 算法 Java
深入理解Java中的垃圾回收机制在Java编程中,垃圾回收(Garbage Collection, GC)是一个核心概念,它自动管理内存,帮助开发者避免内存泄漏和溢出问题。本文将探讨Java中的垃圾回收机制,包括其基本原理、不同类型的垃圾收集器以及如何调优垃圾回收性能。通过深入浅出的方式,让读者对Java的垃圾回收有一个全面的认识。
本文详细介绍了Java中的垃圾回收机制,从基本原理到不同类型垃圾收集器的工作原理,再到实际调优策略。通过通俗易懂的语言和条理清晰的解释,帮助读者更好地理解和应用Java的垃圾回收技术,从而编写出更高效、稳定的Java应用程序。
|
3月前
|
安全 Java 编译器
Java 基础语法-面试题(53道)(基础概念+基础语法+流程控制)
Java 基础语法-面试题(53道)(基础概念+基础语法+流程控制)
65 18
|
3月前
|
Java Docker 微服务
微服务架构的概念、特点以及如何在Java Web开发中实现微服务。
微服务架构的概念、特点以及如何在Java Web开发中实现微服务。
88 1
|
3月前
|
存储 安全 搜索推荐
深入探讨Session和Cookie的概念、用途以及如何在Java Web开发中有效地使用它们进行用户状态管理。
在Java Web开发中,Session和Cookie是管理用户状态的核心技术。Session存储于服务器端,通过唯一的Session ID识别用户,确保数据安全与隐私;Cookie则存储于客户端,用于记录用户偏好等信息。两者各有优势:Session适合存储敏感数据,但需合理管理避免资源浪费;Cookie便于持久化存储,但在安全性上需谨慎设置。开发者可通过Servlet API轻松操作二者,实现个性化用户体验与应用性能优化。
59 2
|
3月前
|
设计模式 Java
常用设计模式介绍~~~ Java实现 【概念+案例+代码】
文章提供了一份常用设计模式的全面介绍,包括创建型模式、结构型模式和行为型模式。每种设计模式都有详细的概念讲解、案例说明、代码实例以及运行截图。作者通过这些模式的介绍,旨在帮助读者更好地理解源码、编写更优雅的代码,并进行系统重构。同时,文章还提供了GitHub上的源码地址,方便读者直接访问和学习。
常用设计模式介绍~~~ Java实现 【概念+案例+代码】
|
3月前
|
Java
Java 匿名函数的概念和写法
Java 匿名函数的概念和写法
84 1
|
3月前
|
JavaScript 前端开发 Java
java高质量数据流概念讲解,保证一篇文章帮助你搞懂概念!
【8月更文挑战第11天】java高质量数据流概念讲解,保证一篇文章帮助你搞懂概念!
30 0
java高质量数据流概念讲解,保证一篇文章帮助你搞懂概念!