最开始学java时写的文档

news/2024/11/16 20:31:36/文章来源:https://www.cnblogs.com/lm02/p/18295661

一,java基础
1.常用cmd窗口操作
E: 切换到e盘
dir 查看当前路径下的内容
cd 目录 进入单级目录
cd.. 退回到上一级目录
cd 目录1\目录2\ 进入多级目录
cls清屏但不会退出当前目录
exit关闭cmd窗口
想要在任意目录下都可以打开指定软件可以把软件路径配置到环境变量中
2.java能做什么
桌面应用开发,(idea,clion,pycharm),企业级应用开发(访问量需求大,只有java和go语言)(微服务),移动应用开发(鸿蒙,android,医疗设备ct,B超), 科学计算(matlab(机器人),), 大数据开发(hadoop),做游戏(我的世界)
Java分类:javaSE桌面应用开发,javaME移动开发嵌入式开发(凉),javaEE服务器开发
3. Java的跨平台是通过虚拟机实现的,运行在虚拟机中,我们只要针对不同的操作系统,安装不同的虚拟机就可以了
JRE是java运行环境,由JVM,核心类库,运行工具组成
JDK是java开发工具包,jvm虚拟机,核心类库,开发工具。Jvm是java虚拟机,运行java程序的地方,核心类库有java已经写好的东西,可以直接用,开发工具有,Javac编译工具,java运行工具jdb调试工具jhat内存分析工具
JDK包含了JRE,JRE包含了JVM
4.
Java中的关键字全部小写
Class表示定义一个类,后面跟类名
字面量:整数字符串等,其中null不能直接打印,可以以字符串方式进行打印
‘\t’制表符,把前面字符串的长度补齐到8的倍数””+’\t’+””
5.
image

取值范围:0~255(十进制的情况)还可以用其他进制来表示,十进制的255对应16进制的FF
image

声音的存储涉及到声音的波形图
image
image

6.基本数据类型
image

如果要定义long类型的变量,要在数据后面加一个L作为后缀,float后面加F,
取值范围double float long int short byte
byte-short-int-long-float-double取值范围小的和取值范围大的进行运算,小的会先提升为大的再进行运算
byte-short-char在进行运算时都会直接先提升为int再进行运算
标识符:有字母数字下划线_和美元符$组成,不能以数字开头,不能是关键字,区分大小写小驼峰命名法:方法变量一个单词全小写,两个及以上从第二个开始首字母大写
类一个单词首字母大写,多个单词每个首字母大写
7.
Idea中的结构:项目project模块module 包package类class
6.
原码:十进制数据的二进制表现形式,最左边是符号位,0为正,1为负
原码的弊端:利用原码进行计算的时候,如果是正数完全没有问题,但如果是负数,结果就会出错,跟正确的运算方向是相反的
反码出现的目的:解决原码不能计算负数的问题
反码计算:正数的反码不变,负数的反码在原码的基础上符号位不变,数值取反
反码的弊端:如果结果跨0,跟实际结果有1的偏差
补码出现的目的:解决负数计算不能跨0
补码计算规则:正数的补码不变,负数补码在反码的基础上+1,另外补码能多记录一个值-128,该数据在一个字节下,没有原码和反码
计算机中的存储和计算都是以补码的形式
7.
无限循环后面不能写其他代码,一个循环尽量只做一件事情
8.
方法是程序中最小的执行单元
重复的代码,具有独立功能的代码可以抽取到方法中,可以提高代码的复用性和可维护性
方法不调用就不能执行,方法与方法之间是平级关系,不能相互嵌套定义,方法的编写顺序与执行顺序无关
方法的重载:在同一个类中定义多个同名方法,这些同名方法具有同种功能,有不同的形参,与返回值无关。“
参数不同:个数,类型,顺序,顺序不同可以构成重载,但是不建议
9.“Return 和break 关键字的区别:
Return 跟循环没有什么关系,return 是跟方法有关系的,表示1结束方法2返回结果,如果方法执行到了 return,那么整个方法全部结束,里面的循环也随之结束“Break 跟方法没关系,是结束循环或者 switch 的
10.
New 出来的是堆内存,其他是栈内存。基本数据类型传递的是真实的值,引用数据类型开辟堆空间,传递的是地址值,堆空间发生变化会对其他的产生影响“
变量只在所属方法中有效“
二,面向对象
类(设计图)是对象共同特征的描述,对象是真实存在的具体东西,java中必须先设计类,才能活得对象
类可以放成员变量(属性,一般是名词),成员方法(行为,一般是动词),构造器,代码块,内部类只定义不给值
用来描述一类事物的类叫javabean类,javabean类中不写main方法,编写main方法的类叫测试类,可以在测试类中创建javabean类的对象并进行赋值调用。
类名首字母建议大写,需要见名知意,驼峰模式,一个java文件中可以定义多个类,且只能有一个类是public修饰,而且public修饰的类名必须成为代码文件名。但是实际开发中还是一个文件定义 一个class类
成员变量的完整定义格式是:修饰符 数据类型 变量名称 = 初始化值,初始化值一般无需指定,存在默认值,其中,基本数据类型byte,short,int,long是0,float,double是0.0,boolean是false,引用数据类型类,接口,数组,String是null
面相对象三大特征封装,继承,多态。
封装:对象代表什么,就得封装对应的数据,并提供数据对应的行为
封装的好处:对象代表什么,就得封装对应的数据,并提供数据对应的行为。可以让编程变得简单,有什么事找对象调用方法就行,可以降低学习成本,不用急对象有哪些方法,有需要时去找就行。
private关键字是一个权限修饰符,可以修饰成员,被修饰的成员只有在本类中才能被访问,针对private修饰的成员变量如果要被其他类使用需要提供相应的操作,提供setXxx和getXcc方法用于赋值和获取值,方法用public修饰
构造方法方法名要与类名相同,没有返回值类型(没有void),没有具体的返回值(不能由return带回结果),创建对象的时候由虚拟机调用,不能手动调用构造方法,没创建一次对象就会调用一次构造方法。帮我们对成员变量赋值的,不用写set了。
如果没有定义构造方法,系统会给出一个默认的无参构造方法。如果已经定义了带参数的构造方法但没写无参构造方法,系统不再提供默认的无参构造方法,创建对象是由new关键字做的,虚拟机会自动调用构造方法给成员变量进行初始化。
构造方法也是可以重载的,方法名相同参数不同
标准的javabean类:类名要见名知意,成员变量用private修饰,至少提供两个构造方法(无参带全部参),成员方法要提供没一个成员变量对应的setXxx()和getXxx(),如果还有其他行为也要写上
内存首先main方法入栈,然后new出来的在堆内存开辟空间,新对象指向堆内存中的地址值。基本数据类型的数据值是存储在自己的空间中的,赋值给其他变量也是赋的真实的值,引用数据类型的数据值是存储在堆空间的,自己空间(栈里)存储的是地址值,新建的对象2也是指向堆中的空间
this的内存原理:作用是区分局部变量和成员变量,本质是所在方法调用者的地址值。
image

image

成员变量和局部变量的区别:成员变量是类中方法外的变量,有默认的初始化值,在堆内存中存储,随着对象的创建而存在,随着对象的消失而消失,在整个类中有效。局部变量是方法中的变量和形参,没有默认的初始化值(使用之前要赋值),在栈内存中存储,随方法的调用而存在,随方法的运行结束而消失,只在当前方法中有效
三,API&字符串
API是应用程序编程接口,是别人已经写好的东西,java API就是JDK中提供的各种功能的java类,这些类将底层的实现封装了起来
字符串的内容是不会发生改变的,它的对象在创建后不能被更改。
栈空间:方法运行的时候进栈,运行完毕出栈
堆空间:new出来的对象都在这里
方法区:临时存储字节码文件,class
StringTable串池:只有直接赋值的字符串在里面,new关键字获取的不再,jdk7之前在方法区,jdk7之后在堆空间,运行机制没变。
image

没有的话直接创建,有的话复用,会节约内存
image

==基本数据类型比较的是数据值,引用数据类型比较的是地址值。
字符串直接赋值会复用字符串常量池中的,new出来的不会复用,而是开辟一个新的空间。
==基本数据类型比较数据值,引用数据类型比较地址值
image

有变量参与的字符串拼接,jdk8以前用的stringbuilder
image

Tostring是new出来的一个string
Jkd8以后
image

先预估然后创建一个数组,预估也要时间,只要有变量参与就会有new的字符串产生
image

尽量用stringbuilder或者stringjoiner
Stringbuilder是一个内容可变的容器
image
image
image
image
image
image

容量是str.capacity
image

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/742102.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

探索大模型:袋鼠云在 Text To SQL 上的实践与优化

Text To SQL 指的是将自然语言转化为能够在关系型数据库中执行的结构化查询语言(简称 SQL)。近年来,伴随人工智能大模型技术的不断进步,Text To SQL 任务的成功率显著提升,这得益于大模型的推理、理解以及指令遵循等能力。 对于大数据平台来说,集成 Text To SQL 功能意义…

jdk离线安装包下载

下载 华为云 https://repo.huaweicloud.com/java/jdk/ 小站点(比较全) https://www.injdk.cn/ 华为云,比较老旧小站点,推荐安装 rpm - *.rpm

PMP-生命周期

生命周期项目的起点是项目章程得到批准。解散资源是项目的结束点。 项目生命周期,阶段和阶段关口项目生命周期:指项目的启动到完成经历的一系列阶段。项目阶段:是一组具有逻辑关系的项目活动的集合。通常以一个或多个可交付成果为结束。阶段关口:在项目阶段结束时进行,将…

乘用车1-5月销量同比增长7%,火山引擎数据飞轮能帮车企盘活下半年增长吗?

火山引擎推出企业数智化升级新模式“数据飞轮”,并面向汽车行业输出覆盖智能营销、汽车联网等场景在内的全套解决方案,在历经一年的行业实践后,已经成为越来越多车企实现数智化升级的模式选择。对车企来说,更贴合市场趋势以及业务需求的数智化升级,或许是实现下半年进一步…

光猫改桥接 河南移动 ZXHN F663N

光猫改桥接 河南移动 ZXHN F663N 基本情况 本人地区 河南移动,光猫型号 中兴 ZXHN F663N 因为当前光猫密码已经被自动修改过,已经不是网上可以随便搜索到的管理员密码,所以获取密码直接找了咸鱼,几块钱搞定,查的很快 备份原有配置数据 在改桥接之前,我还是想备份一下配置…

WordPress将管理员用户主页修改网站首页

最近在做 WordPress 站群的一些项目测试,主题在调用作者的时候就会链接到作者主页,加上很多时候 WordPress 网站就只会使用一个账户来发布文章,虽然可以通过修改主题代码的方式将作者的链接直接链接到网站首页,但是作为一个优雅的 WordPress 开发者来说,肯定是不会轻易动主…

【学习笔记】四边形不等式优化 DP

命运是不可见的星辰,人们往往无法看见命运的全貌,却一直被它指引前行。从繁星点点中,梵天能够窥见命运的轨迹。决策单调性对于最优化问题 \(f_{i}=\min\limits_{j=1}^{i} \{ w_{j,i} \}\) 称 \(w(j,i)\) 为成本函数,参数为 \(i\) 的最优化问题称为问题 \(i\) ,记问题 \(i\…

灵动Mini-SPIN0230开发板测评

灵动Mini-SPIN0230开发板简介与开箱上电测评官网资料详见 MM32SPIN0230 . 开发板资料详见:MiniBoard(MM32SPIN0230B3TV) .MM32SPIN0230系列是灵动MindSPIN旗下高性能的单电机控制产品,采用Cortex-M0内核 ,集成了运动控制所需的专用模拟外设,包括12位高精度ADC、2路模拟比较…

来此加密便宜的多域名SSL证书申请

在数字化时代的浪潮中,网站的安全性已成为企业和个人不可或缺的一部分。特别是在数据传输和用户隐私保护方面,SSL证书的作用愈发显著。申请多域名SSL证书步骤 1、登录来此加密网站,输入域名,可以勾选泛域名和包含根域。2、选择加密方式,一般选择默认就可以了,也可以自定义…

读人工智能全传09神经网络

读人工智能全传09神经网络1. 机器学习 1.1. 人们对人工智能的态度发生突如其来的巨大变化,是由一项核心人工智能技术——机器学习的快速发展所推动的 1.1.1. 机器学习是人工智能的一个分支领域,但在过去60年的绝大部分时间里,它一直在一条独立的道路…

OpenVX一些技术杂谈

OpenVX一些技术杂谈OpenCV和OpenVX有什么联系和区别 联系和区别是:OpenCV是一个基于Apache2.0许可(开源)发行的跨平台计算机视觉和机器学习软件库。OpenVX 实现了跨平台加速处理,OpenVX在嵌入式和实时性系统中可以更好地发挥它的优势,在某些场合配合OpenCV的强大功能可以实…

Nginx中文URL请求404

这两天正在搞我的静态网站。方案是:从思源笔记Markdown笔记,用MkOcs build成静态网站,上传到到Nginx服务器。遇到一个问题:URL含有中文会404,全英文URL则正常访问。 ‍ 比如: ​​ ‍ 设置了utf-8 http {charset utf-8;# 其他配置... }中文URL依然404,英文URL则正常访问…