
Java程序设计
文章平均质量分 62
Java学习笔记,笔记主要来源有黑马程序员2022版视频、《Java程序设计-经典课堂》
刹那芳华❀
一个憨憨~
展开
-
40Java Runtime类
Runtime表示Java中运行时对象,可以获取到程序运行时设计到的一些信息。原创 2022-11-22 19:58:17 · 587 阅读 · 1 评论 -
39Java System类
获取到当前时间的毫秒值的意义:我们常常来需要统计某一段代码的执行时间。此时我们就可以在执行这段代码之前获取一次时间,在执行完毕以后再次获取一次系统时间,然后计算两个时间的差值,这个差值就是这段代码执行完毕以后所需要的时间。1969年8月,贝尔实验室的程序员肯汤普逊利用妻儿离开一个月的机开始着手创造一个全新的革命性的操作系统。我国位于东八区所以在中国的操作系统的计算机时间原点是1970年1月1日8点0分0秒。System类中的方法都是静态的,因此在使用的时候我们可以直接通过类名去调用。原创 2022-11-22 19:25:47 · 766 阅读 · 0 评论 -
38Java Math类
Math类是一个帮助我们用于进行数学计算的工具类。原创 2022-11-22 19:11:59 · 327 阅读 · 0 评论 -
37Java内部类
将一个类A定义在另一个类B里面,则这个类A就被称为内部类,类B被称为外部类,内部类表示的事物是外部类的一部分。内部类单独出现没有任何意义。原创 2022-10-25 11:59:28 · 547 阅读 · 0 评论 -
36Java接口
某个方法的规则,是对行为的抽象(而抽象类是对事物的抽象)interface 接口名称{// 定义常量// 定义抽象方法}接口不能实例化。原创 2022-10-25 08:34:38 · 182 阅读 · 0 评论 -
35Java抽象类与抽象方法
我们把没有方法体的方法称为抽象方法。Java语法规定,包含抽象方法的类就是抽象类。父类中的方法,被它的子类们重写,子类各自的实现都不尽相同。那么父类的方法声明和方法主体,只有声明还有意义,而方法主体则没有存在的意义了。父类知道子类应该有那个功能,但是功能怎么具体实现父类并不清楚,此时父类需要提供一个没有方法体的定义即可,具体实现交给子类自己去实现。抽取共性时,无法确定方法体,就把方法定义为抽象的。强制让子类按照某种格式重写,抽象方法所在的类,必须为抽象类abstract class 类名字 {原创 2022-10-25 08:34:42 · 919 阅读 · 0 评论 -
34Java权限修饰符与代码块
目录一、权限修饰符1.概述2.分类二、代码块局部代码块构造代码块静态代码块 也叫访问说明符,在Java中提供了四种访问权限,使用不同的访问权限修饰符修饰时,被修饰的内容会有不同的访问权限四种作用范围:public > protected > 默认(空着不写) > private编写代码时,如果没有特殊的考虑,建议这样使用权限:作用:提前结束变量的生命周期system.out.println(a)代码报错概述:写在成员位置的代码块作用:可以把多个构造方法中重复的代码抽取出来执行时机:在创建原创 2022-10-24 22:18:48 · 320 阅读 · 1 评论 -
33Java final关键字与常量
final: 不可改变,最终的含义。可以用于修饰类、方法和变量。类:被修饰的类是最终类,不能被继承。方法:被修饰的方法是最终方法,不能被重写,也就是不能作为父类。变量:被修饰的变量应该叫做常量,有且仅能被赋值一次。原创 2022-10-24 22:17:58 · 330 阅读 · 0 评论 -
32Java包
包名的每个路径名必须是一个合法的标识符,而且不能是Java的关键字。 情况一:在使用Java核心包(java.lang)中的类时。 情况一:在使用Java中提供的非核心包中的类时。注:如果同时使用两个包中的同名类,需要用全类名。包名一般是公司域名的倒写com.XXXX.XX。 情况二:在使用自己写的同一个包中的类时。 情况二:使用自己写的其他包中的类时。包在就是文件夹,方便后期代码维护。包名必须用“.”连接。什么时候不需要导包?原创 2022-10-24 22:16:52 · 149 阅读 · 0 评论 -
30Java多态
多态性是指不同类型的对象接受相同的消息时产生不同的行为。原创 2022-10-24 22:16:03 · 317 阅读 · 0 评论 -
29Java继承中构造方法的特点
子类构造方法第一行语句默认都是:super(),不写也存在,而且必须在第一行,此时调用父类空参构造。子类在初始化的时候,有可能会使用到父类中的数据,如果父类没有完成初始化,子类将无法使用父类的数据。如果想要调用父类中有参构造,必须手动写super(),参数要写在()中。2.子类中所有的构造方法默认先访问父类中的无参构造,再执行自己。如果想要调用父类的有参构造,必须手动写super进行调用。子类不能继承父类的构造方法,但是可以通过super调用。子类构造方法的第一行,有一个默认的super()原创 2022-10-24 22:15:52 · 362 阅读 · 0 评论 -
28Java继承语法特点重写
子类中出现与父类一模一样的方法时(返回值类型,方法名和参数列表都相同),会出现覆盖效果,也称为重写或者复写。当父类的方法不能满足子类现在的需求时,需要方法的重写。@Override重写注解* @Override:注解,重写注解校验!* 这个注解标记的方法,就说明这个方法必须是重写父类的方法,否则编译阶段报错。* 建议重写都加上这个注解,一方面可以提高代码的可读性,一方面可以防止重写出错!注解与注释的不同:注解是给程序员和虚拟机看的,注释只是给程序员看的。原创 2022-10-25 08:34:00 · 137 阅读 · 0 评论 -
27Java继承特点与继承内容
继承描述的是事物之间的所属关系,这种关系是:is-a 的关系。例如,兔子属于食草动物,食草动物属于动物。可见,父类更通用,子类更具体。我们通过继承,可以使多种事物之间形成一种关系体系。继承:就是子类继承父类的属性和行为,使得子类对象可以直接具有与父类相同的属性、相同的行为。子类可以直接访问父类中的非私有的属性和行为。原创 2022-10-24 22:14:34 · 408 阅读 · 0 评论 -
26Java集合ArrayList
提供一种存储空间可变的存储模型,存储的数据容量可以发生改变特点:长度可以变化,只能存储引用数据类型,要想存储基本数据类型必须用到包装类。数组既可以存储基本数据类型也可以存储引用数据类型。原创 2022-10-10 18:01:38 · 97 阅读 · 0 评论 -
25JavaAPI与字符串
API (Application Programming Interface) :应用程序编程接口String 类代表字符串,Java 程序中的所有字符串文字(例如“abc”)都被实现为此类的对象。也就是说,Java 程序中所有的双引号字符串,都是 String 类的对象。String 类在 java.lang 包下,所以使用的时候不需要导包!StringBuilder 可以看成是一个容器,创建之后里面的内容是可变的。作用:提高字符串的操作效率。原创 2022-10-10 17:30:27 · 391 阅读 · 0 评论 -
24Java键盘输入涉及方法与具体细节
next(),nextInt(),nextDouble()在接收数据的时候,会遇到空格,回车,制表符其中一个就会停止接收数据。next(),nextInt(),nextDouble()在接收数据的时候,会遇到空格,回车,制表符其中一个就会停止接收数据。- next()、nextInt()、nextDouble()这三个配套使用。比如:键盘录入123,那么会把123当做int类型的整数返回。 键盘录入123,那么会把123看做字符串返回。比如:键盘录入abc,那么会把abc看做字符串返回。原创 2022-10-08 21:35:16 · 1743 阅读 · 1 评论 -
23Java static关键字与工具类
static是静态的意思,static可以修饰成员变量或者修饰方法。被static修饰的成员是属于类的是放在静态区中,被称为类变量或静态变量。没有static修饰的成员变量和方法则是属于对象的,这个成员变量交实例变量,实例变量属于每一个对象,必须创建类的对象才能访问。有static修饰成员方法,说明这个成员方法是属于类的,这个成员方法称为类方法或者静态方法。直接用类名访问即可。因为类只有一个,所以静态方法在内存区域中也只存在一份。所有的对象都可以共享这个方法。原创 2022-10-24 21:51:42 · 473 阅读 · 0 评论 -
22Java对象的内存图
也没有参数,可以忽略初始化。6. 构造方法初始化(4.5.6.步都是在堆中刚开辟的空间进行初始化)1.加载class文件(student这个类的字节码文件加载到方法区中)如果代码中给出赋值,则会覆盖默认初始化。如果没有赋值,则不需要显示初始化。方法和main函数依次出栈,main函数中的所有变量也会消失。针对某个对象,没有变量指向这个对象/空间,这个空间也会消失。如果stu2地址也用null覆盖,对象空间变成垃圾值。3.在堆内存中开辟一个空间(new关键字)7.将堆内存中的地址值赋值给左边的局部变量。原创 2022-10-24 21:51:55 · 238 阅读 · 0 评论 -
21Java标准JavaBean类及其快捷键生成
art+insert或者art+insert+Fn。原创 2022-10-24 21:52:03 · 3359 阅读 · 0 评论 -
20Java构造方法
构造方法是一种特殊的方法功能:创建对象的时候,由虚拟机自动调用,给成员变量进行初始化public class 类名{ 修饰符 类名( 参数 ) { }}创建对象的时候由虚拟机调用,不能手动调用构造方法每创建一次对象,就会调用一次构造方法。原创 2022-10-24 21:51:24 · 101 阅读 · 0 评论 -
19Java局部变量与成员变量/就近原则/this关键字
构造方法是一种特殊的方法功能:创建对象的时候,由虚拟机自动调用,给成员变量进行初始化public class 类名{ 修饰符 类名( 参数 ) { }}方法名与类名相同,大小写也要一致没有返回值类型,连void都没有没有具体的返回值(不能由retrun带回结果数据)创建对象的时候由虚拟机调用,不能手动调用构造方法每创建一次对象,就会调用一次构造方法。原创 2022-10-08 17:56:59 · 767 阅读 · 0 评论 -
18Java封装/private与public关键字
不可以,因为对象代表什么,就得封装对应的数据,并提供数据对应的行为,student方法封装了学生的所有属性,对属性校验的方法也必须封装在student方法中。被private修饰的成员,只能在本类进行访问,针对private修饰的成员变量,如果需要被其他类使用,提供相应的操作。提供“set变量名(参数)”方法,用于设置成员变量的值,方法用public修饰。提供“get变量名()”方法,用于获取成员变量的值,方法用public修饰。private是一个修饰符,可以用来修饰成员(成员变量,成员方法)原创 2022-10-21 22:26:42 · 632 阅读 · 0 评论 -
17Java面向对象/类和对象
类的组成是由属性和行为两部分组成属性:事物的特征,在类中通过成员变量来体现行为:事物可以执行的操作,在类中通过成员方法来体现注:如何找到实际开发项目中的属性与行为?名词--》属性 动词--》行为/*手机类:类名:手机(Phone)成员变量:品牌(brand)价格(price)成员方法:打电话(call)发短信(sendMessage)*///成员变量(属性)int price;//成员方法(行为/方法)System.out.println("打电话");}原创 2022-09-17 22:58:53 · 404 阅读 · 1 评论 -
16Java基本数据类型与引用数据类型/值传递与引用传递
没有new,由此判断是基本数据类型,单纯的值传递在change方法中对number的操作不会影响main方法中的number(变量是有作用范围的,只能在所属范围内有效)如果有一个变量将空间里面的值修改,则所有变量的对应的值都会被修改。数据值是存储在其他空间中,自己空间中存储的是地址值,赋值给其他变量,赋的是地址值。引用数据类型:数据值是存储在其他空间中,自己空间中存储的是地址值。数据值是存储在自己的空间中,赋值给其他变量,也是赋的真实的值。如图,arr存储的不是具体的数据,而是存储的地址值。原创 2022-10-21 21:19:10 · 1144 阅读 · 0 评论 -
15Java方法的重载
没有new,由此判断是基本数据类型,单纯的值传递在change方法中对number的操作不会影响main方法中的number(变量是有作用范围的,只能在所属范围内有效)使用方法重载的思想,设计比较两个整数是否相同的方法,兼容全整数类型(byte,short,int,long)方法重载指同一个类中定义的多个方法之间的关系,满足下列条件的多个方法相互构成重载。方法的重载体现了方法中实参与形参一一对应的特点,即数量相同,类型相同。多个方法:主方法main,方法1,方法2,调用时依次进栈。原创 2022-09-17 17:01:56 · 636 阅读 · 0 评论 -
14Java方法概念/方法的定义与调用/形参与实参/方法的注意事项
注:方法必须先定义,才能进行调用!!!无参数方法定义public static void 方法名 ( ) {// 方法体;}无参数方法调用方法名();原创 2022-09-16 12:25:46 · 772 阅读 · 0 评论 -
13Java数组与数组内存图
格式一: 数据类型 [] 数组名比如:int [] array格式二: 数据类型 数组名 []比如: int array []方法括号跟数组名,谁写在前面,谁写在后面都是一样的。平时习惯性使用第一种方式。静态初始化初始化:就是在内存中,为数组开辟空间,并将数据存入容器的过程数据类型[] 数组名 = new 数据类型[]{元素1,元素2,元素3,元素4...};比如:int[] arr = new int[]{11,22,33};new:就是给数组在内存中开辟了一个空间。原创 2022-10-21 20:43:21 · 1420 阅读 · 0 评论 -
12Java顺序结构/判断结构/循环结构/跳转语句
格式一: 数据类型 [] 数组名比如:int [] array格式二: 数据类型 数组名 []比如: int array []方法括号跟数组名,谁写在前面,谁写在后面都是一样的。平时习惯性使用第一种方式。静态初始化初始化:就是在内存中,为数组开辟空间,并将数据存入容器的过程数据类型[] 数组名 = new 数据类型[]{元素1,元素2,元素3,元素4...};比如:int[] arr = new int[]{11,22,33};new:就是给数组在内存中开辟了一个空间。原创 2022-10-05 11:45:24 · 694 阅读 · 0 评论 -
11Java自增自减运算符/赋值运算符/关系运算符/逻辑运算符/短路逻辑运算符/三元运算符/运算符优先级/跳转语句
隐式转换中指出,byte会转化成int类型再运算,再扩展的运算符运算后,会再次转化为byte。就是把左边跟右边进行运算,把最终的结果赋值给左边,对右边没有任何影响。如果两边相同,结果为false,如果两边不同,结果为true。 两边都为真,结果才是真,只要有一个为假,那么结果就是假。 两边都为假,结果才是假,只要有一个为真,那么结果就是真。 运算结果跟&是一模一样的,只不过具有短路效果。如果关系表达式的值为真,那么执行表达式1。如果关系表达式的值为假,那么执行表达式2。原创 2022-10-04 16:55:40 · 614 阅读 · 0 评论 -
10Java字符串相加与字符相加
当+操作中出现了字符,会拿着字符到计算机内置的ASCII码表中去查对应的数字,然后再进行计算。结果: 我的名字是尼古拉斯。结果:“3abc21”原创 2022-10-21 20:07:55 · 2636 阅读 · 0 评论 -
09Java算术运算符与隐式强制转换
数据类型不一样时是不能进行计算的,取值范围小的数值转化为取值范围大的数值。把一个取值范围大的数据或者变量赋值给另一个取值范围小的变量。 所以变量b和变量s里面的值会再次提升为long。取模、取余,也是除法运算,但是获取的是余数。第二步:而long类型的取值范围是大于int的取值范围的。第一步:变量b和变量s里面的值会先提升为int参与运算。就是对常量或者变量进行操作的符号。问变量result是什么类型的?所以最终结果是long类型的。注:可能会导致数据的精度丢失。原创 2022-09-06 11:54:21 · 215 阅读 · 0 评论 -
08Java IDEA基础使用操作
右键src,点new,再点Java class。右键类,refactor,rename。右键类,delete。原创 2022-09-05 23:43:04 · 288 阅读 · 0 评论 -
07Java IntelliJ IDEA 的安装与设置
IDEA全称IntelliJ IDEA,是用于Java语言开发的集成环境,它是业界公认的目前用于Java程序开发最好的工具。原创 2022-09-05 23:31:24 · 194 阅读 · 0 评论 -
06Java数据类型/标识符/键盘录入
整数 byte 1 -2^7 ~ 2^7-1 (-128~127)int(默认) 4 -2^31 ~ 2^31-1 一个十位数。整数类型和小数类型的取值范围大小关系:double > float > long > int > short > byte。如果是多个单词,那么从第二个单词开始,首字母大写,比如:firstName、maxAge。原创 2022-09-05 22:41:30 · 432 阅读 · 0 评论 -
05Java数据存储规则/进制转换
上世纪,计算机程序运行需要利用打孔纸带,每个位点只有有孔与没孔两种状态。所有数据分为text文本,img图片,sound声音(视频实际上由多个图片与声音结合)三原色(光学三原色),每个像素点都是由红绿蓝搭配形成的。1981年5月1日,大陆发布GB2312编码,收录6000+简体中文汉字。分辨率:如1920x1080,显示器屏幕长1920像素,宽1080像素。1984年,台湾发布BIG5编码,收录13000+繁体中文。2000年3月,GBK收录大量汉字(包括繁体)日语韩语。如(255,0,0)是纯红色。原创 2022-09-05 16:35:02 · 283 阅读 · 0 评论 -
04Java注释/关键字/字面量/变量/变量作用域
数据类型 变量名 = 数据值。原创 2022-09-05 15:39:11 · 340 阅读 · 0 评论 -
03Java三大平台与主要特性/JRE与JDK
8.0 11.0 17.0 为长期支持版本。主要分为过渡版本和长期支持版本(LTS)原创 2022-09-04 17:27:41 · 1138 阅读 · 0 评论 -
02JDK安装/javac与java/环境变量/Notepad++
bin:存放了各种工具命令,如javac与javaconf:存放了一些配置文件include:存放了一些平台特定的头文件jmods:存放了各种模块legal:存放了各模块的授权文档lib:存放了工具的一些补充JAR包如果不配置环境变量,那么这些命令只可以在bin目录下使用,而我们想要在任意目录下都能使用,所以就要配置环境变量。开发Java程序,需要使用JDK提供的开发工具(比如javac.exe、java.exe等命令),而这些工具在JDK的安装目录的bin目录下。原创 2022-09-04 16:42:33 · 862 阅读 · 0 评论 -
01JavaCMD/设置环境变量
是指人与计算机之间使用某种对话语言,以一定的交互方式,为完成确定任务的人与计算机之间的信息交换过程。但是通过设置环境变量可以使用户在任意目录下打开qq(把qq的路径记录在电脑的某个地方,这个地方被称为环境变量)如图相当于双击进入Sinonkey文件夹后,再双击进入大二文件夹。查看当前路径下的内容(甚至可以展示出隐藏的文件夹)正常情况下是不可以的,因为当前目录下没有qq。找到路径后,输入自己要打开的应用名字即可。进入单级目录,就相当于双击进入某个文件夹。如果直接输入qq,能否打开qq?此时从c盘切入到d盘。原创 2022-09-03 17:17:35 · 1301 阅读 · 0 评论