首页 > 编程语言 >最开始学java时写的文档

最开始学java时写的文档

时间:2024-07-11 11:08:03浏览次数:12  
标签:java 变量 构造方法 数据类型 文档 内存 时写 方法

一,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

标签:java,变量,构造方法,数据类型,文档,内存,时写,方法
From: https://www.cnblogs.com/lm02/p/18295661

相关文章

  • 软件开发文档全套合集(开发#实施#运维#安全#交付)
       前言:在软件项目管理中,每个阶段都有其特定的目标和活动,确保项目的顺利进行和最终的成功交付。以下是软件项目管理各个阶段的详细资料:软件项目管理部分文档清单: 工作安排任务书,可行性分析报告,立项申请审批表,产品需求规格说明书,需求调研计划,用户需求调查单,用户需求说明......
  • 初识Java
    一、java语言概述1.java是什么java是一门面向对象的编程语言,它不仅吸收了C++的各种优点,还摒弃了其难以理解的多继承、指针等概念,因此,java具有功能强大又简单易用的两个特制,作为面向对象的编程语言的代表,极好地实现了面向对象理论,允许程序员以优雅的思维方式进行复杂的编程......
  • 初学java
    Java作为一种广泛使用的高级编程语言,它以其跨平台性、面向对象设计、健壮的标准库、自动内存管理和安全性等优点而受到青睐。这些特性使得Java适用于多种计算平台,并且能够构建大型、复杂的应用程序,同时保证程序的稳定性和安全性。其也是目前使用最多的编程语言。Java有Java.ES,Ja......
  • (免费领取源码)计算机毕业设计项目:宠物店管理系统 19849(开题答辩+程序定制+全套文案 )上
    目 录摘要1绪论1.1背景及意义1.2研究现状1.3springboot框架介绍2 宠物店管理系统系统分析2.1可行性分析2.2系统流程分析2.2.1数据流程3.3.2业务流程2.3系统功能分析2.3.1功能性分析2.3.2非功能性分析2.4系统用例分析2.5本章小结......
  • 基于java+springboot+vue实现的学生网上请假系统(文末源码+Lw)104
    系统功能:本学生网上请假系统管理员,教师,学生。管理员功能有个人中心,学生管理,教师管理,班级信息管理,请假表格管理,提交请假表管理,学生考勤管理,缺课记录管理。教师功能有个人中心,学生管理,班级信息管理,请假表格管理,提交请假表管理,学生考勤管理,缺课记录管理。学生功能有班级信息管......
  • 基于java+springboot+vue实现的音乐网站(文末源码+Lw)102
    功能介绍:本音乐网站管理员功能有个人中心,用户管理,歌曲分类管理,歌曲信息管理,管理员管理,系统管理等。用户可以注册登录,试听歌曲,可以下载歌曲。因而具有一定的实用性。本站是一个B/S模式系统,采用SpringBoot框架,MYSQL数据库设计开发,充分保证系统的稳定性。系统具有界面清晰、操......
  • springboot基于Javaweb的项目申报系统的设计与实现
    文章目录目录文章目录论文目录项目介绍开发环境系统实现论文参考论文目录摘  要目  录第1章 绪论1.1 研究背景1.2目的和意义1.3论文研究内容第2章 程序开发技术2.1Mysql数据库2.2Java语言第3章 系统分析3.1可行性分析3.1.1技术可......
  • 【乔二参】【借助AI工具】Java零基础从入门到精通【3-1变量常量】
    视频讲解地址【乔二参】【借助AI工具】Java零基础从入门到精通变量Java变量是存储数据值的容器,它们允许程序在内存中存储和操作数据。在Java中,变量必须先声明其类型,然后才能使用。变量类型决定了变量可以存储什么类型的数据(如整数、浮点数、字符、布尔值等)以及可以对该变......
  • (免费领源码)Java/Mysql数据库+09536 SSM爱心捐赠物资维护系统,计算机毕业设计项目推荐上
    摘要随着信息技术的快速发展,计算机应用已经进入成千上万的家庭。随着物资数量的增加,物资库存管理也存在许多问题。物资数据的处理量正在迅速增加,原来的手工管理模式不适合这种形式。使用计算机可以完成数据收集、处理和分析,减少人力和物力的浪费。需要建立爱心捐赠物资维护系......
  • 基于java+springboot+vue实现的大学城水电管理系统(文末源码+Lw)106
     基于SpringBoot+Vue的实现的大学城水电管理系统(源码+数据库+万字Lun文+流程图+ER图+结构图+演示视频+软件包)系统功能:本大学城水电管理系统管理员功能有个人中心,用户管理,领用设备管理,消耗设备管理,设备申请管理,设备派发管理,状体汇报管理,领用报表管理,消耗报表管理,班组报表管......