JAVA学习笔记-DAY3

news/2025/12/8 21:00:36/文章来源:https://www.cnblogs.com/yiyidangzhi/p/19323419

引用类型 VS 指针

  • 在Java中,引用类型的变量非常类似于C/C++的指针
  • 引用类型指向一个对象,指向对象的变量是引用变量。这些变量在声明时被指定为一个特定的类型,比如 Employee、Puppy 等。变量一旦声明后,类型就不能被改变了
  • 对象数组都是引用数据类型。
  • 所有引用类型的默认值都是null
  • 一个引用变量可以用来引用任何与之兼容的类型。
  • 如:Site site = new Site("Runoob")。
  • new相当于C语言中的malloc,结果是在堆内存中开辟了一片空间
  • site就是在栈上的引用,相当于C语言中的指针,指向堆中的地址
  • 不需要进行free(site),JAVA中有垃圾回收器GC自动回收

基本变量类型

局部变量 VS 实例变量

  • 局部变量存在于虚拟机JVM的上,实例变量存储在
  • 局部变量在方法、构造方法、语句块之内
  • 成员变量存在于类中,但是在方法、构造方法、语句块之外
  • 局部变量必须在使用之前声明,实例变量可以在使用之后声明
  • 对象被初始化之后,对应的实例变量(成员变量)也就确定了
  • 成员变量不初始化也能使用,因为有默认值,局部变量只有初始化了才能使用,因为没有默认值
  • 一般将成员变量的访问权限设置为私有,需通过共有的方法对成员变量进行访问

【问题】

  • 成员变量可以直接通过变量名访问。但在静态方法以及其他类中,就应该使用完全限定名:ObjectReference.VariableName

静态变量static VS 常量final

常量和静态变量都用于存储整个程序都可能使用到的共享的数据,都具有唯一性和共享性

静态变量

  • 整个编译期间都存在,被所有实例共享访问
  • 可通过类名访问,也可通过实例名访问
  • 不管被定义在哪里,都是最先被初始化的
  • 在运行期间可以修改

常量

  • 在编译时就已经初始化,之后不可以修改

数组

数组变量的声明和创建

点击查看代码
//数组变量的声明
double[] myList;         // 首选的方法
//double myList[];         // 效果与上面的相同,但不是首选方法//数组变量的创建
arrayRefVar = new dataType[arraySize];//数组变量的创建和声明一起完成
dataType[] arrayRefVar = new dataType[arraySize];

For-Each 循环(加强型循环)

JDK 1.5 引进,用于在不使用下标的情况下遍历数组
使用方法:

点击查看代码
public class TestArray {public static void main(String[] args) {double[] myList = {1.9, 2.9, 3.4, 3.5};// 打印所有数组元素for (double element: myList) {System.out.println(element);}}
}

日期和时间

日期时间 API
图片

修饰符

访问控制修饰符

图片
注意:private、protected不能修饰外部类,default是包级别的访问控制修饰符

protected

子类与基类在不同包中时:
子类实例可以访问其【从基类继承来的】protected 方法,
而不能访问【基类实例的】protected方法。
接口、接口的成员变量、接口的成员方法不能声明为 protected

访问控制和继承

  • 父类中声明为 public 的方法,子类中也必须为 public。
  • 父类中声明为 protected 的方法,子类中不能声明为 private。
  • 父类中声明为 private 的方法,不能够被子类继承。

非访问控制修饰符

  • static静态
    修饰类、方法、变量;
    独立于对象,静态方法不可使用非静态变量;

  • final常量
    修饰类、方法、变量;
    类不可被继承、方法不可被重定义、变量不可被修改;
    创建变量时,通常和static一起使用:'public static final int BOXWIDTH = 6';

  • abstract抽象
    修饰类、方法
    不包含任何实现,由子类完成实现,所以抽象基类不能用来实例化对象
    创建类时不能与final一起使用
    创建方法时不能与final、static一起使用
    如果一个类包含抽象方法,那么该类一定要声明为抽象类,抽象类也可不包含抽象方法
    任何继承抽象类的子类必须实现父类的所有抽象方法,除非该子类也是抽象类。
    抽象方法的声明不加'{}',如:abstract void m(); //抽象方法

  • transient
    用来预处理类和变量的数据类型,JVM会跳过被修饰的变量

  • synchronized
    synchronized主要用于方法保护,修饰的方法只能同时被一个线程访问

  • volatile
    volatile主要用于线程同步,修饰的成员变量在被线程访问时必须从共享内存中读入,值被修改时,线程必须将修改后的值同步给共享内存

程序执行控制语句

主要用于数组的增强型 for 循环(JAVA5引入)

点击查看代码
for(声明语句 : 表达式)
{//代码句子
}
声明语句:声明新的局部变量,该变量的类型必须和数组元素的类型匹配。其作用域限定在循环语句块,其值与此时数组元素的值相等。表达式:表达式是要访问的数组名,或者是返回值为数组的方法。

switch case语句

Java SE 7开始,switch支持字符串型
default 分支不需要 break 语句

常用类

Number类

图片
图片

所有的包装类(Integer、Long、Byte、Double、Float、Short)都是抽象类 Number 的子类。

抽象类,属于 java.lang 包,是一个抽象类,主要作用是为各种数值类型提供统一的转换方法

Math类

数学工具类,位于 java.lang 包中,包含执行基本数值运算的静态方法。
Math 的方法都被定义为 static 形式,通过 Math 类可以在主函数中直接调用。

Character类

用于对单个字符进行操作,在对象中包装一个基本类型 char 的值

StringBuffer类

  • 对于有修改需求的字符串,需要使用 StringBuffer 和 StringBuilder 类。
  • StringBuffer 和 StringBuilder 类的对象能够被多次的修改,并且不产生新的未使用对象
  • StringBuffer在访问时是对对象本身进行操作,不会产生对象副本
  • StringBuilder在JAVA5中被提出,该方法不安全(不能被线程同步访问)
  • 因StringBuilder类速度快,若非应用程序要求线程安全,一般都是用StringBuilder类

Arrays类

该类提供的四种方法都是静态
图片

日期LocalDate、格式化DateTimeFormatter

是Java 8 引入的日期类

  • 日期LocalDate:年-月-日
  • 时间LocalTime:时-分-秒
  • 日期时间LocalDateTime:年-月-日-时-分-秒
  • 时区日期时间ZonedDateTime
  • 时间戳Istant

Date类

由java.util包提供,用来封装当前的日期和时间

正则表达式

该笔记剩余部分暂时留空,需要时再添加

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

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

相关文章

北京婚姻家庭法律事务所服务观察:专业机构业务能力解析

在社会关系日益复杂化的当下,婚姻家庭领域的法律需求呈现多样化趋势,涵盖离婚纠纷、财产划分、子女抚育、遗产继承等多个维度。专业的婚姻家庭法律事务所凭借其对细分领域的深耕,为当事人提供法律支持与权益保障,成…

火小兔的两种交互方式与全部命令 - Magic

使用本平台开发脚本 从微软官方渠道安装完毕后,可以从开始菜单中搜索到“机关区”和“火小兔”。机关区——调试窗口(演示):直接双击“机关区”,进入界面之后就可以直接编写,调试,编辑,浏览,运行本平台命令;…

123_尚硅谷_匿名函数

123_尚硅谷_匿名函数1.匿名函数使用方式1:在定义匿名函数时就直接调用 2.匿名函数使用方式2:将匿名函数赋给一个变量,再通过该变量调用匿名函数 3.全局匿名函数

推荐几个模切机品牌:国内实力厂商推荐

模切机作为印后加工和精密制造领域的关键设备,广泛应用于印刷、包装、电子、图文处理等行业,其性能直接影响产品的加工精度、生产效率及成品质量。在各行业对加工工艺要求不断提升的背景下,选择技术成熟、品质可靠的…

白带异常用药品牌排行榜:科学守护女性生殖健康

白带是女性生殖系统健康的“晴雨表”,正常情况下呈无色透明或乳白色糊状,无异味。当出现颜色、质地、气味异常(如黄绿色、豆腐渣样、鱼腥味等)时,可能提示阴道炎症、宫颈病变或盆腔感染等问题。及时识别症状并采取…

洛谷 P3959

NOIP 2017 提高组给定 \(n\) 个点,\(m\) 条边的无向连通图。要选出一棵有根生成树,设 \(u\) 与 \(fa_u\) 之间的边长度为 \(l_u\),总代价为 \(\sum l_u \cdot dis(u, root)\),求最小总代价是多少? \(n \le 12, m …

西城区离婚律师事务所推荐:专注婚姻家事法律服务机构

在处理婚姻家事相关事务时,选择专业的法律服务机构是保障自身权益的重要环节。西城区作为北京核心区域,汇聚了多家在婚姻家事领域具备丰富经验的律师事务所,为有需求的人士提供专业支持。一、推荐榜单推荐 1:北京安…

治疗白带异常品牌哪家好?女性健康护理品牌解析

白带异常是女性生殖系统健康的常见信号,可能由感染、激素变化或局部卫生习惯等多种因素引起。科学认识白带异常的成因与护理方式,选择专业可靠的健康管理方案,对维护女性私密健康至关重要。一、白带异常的科学认知与…

工厂电动扫地车品牌推荐:行业热门选择解析

在工业生产环境中,工厂车间、仓库等场所的地面清洁工作往往面临面积大、粉尘多、杂物复杂等挑战。电动扫地车作为高效的清洁设备,通过机械化作业不仅能显著提升清洁效率,减少人工成本,还能有效改善车间环境,为安全…

北京婚姻法律师事务所排名及综合实力解析

在社会经济发展与家庭结构变化的背景下,婚姻家事法律需求日益增长,北京地区涌现出众多专注于婚姻法律服务的律师事务所。选择一家专业、经验丰富的机构,对于妥善处理婚姻纠纷、维护个人合法权益具有重要意义。以下结…

12月8号

今天进行了统一建模的学习和数据结构的学习。 然后进行了java的学习。

三种数组创建方法

三种数组创建方法//1.短数组语法创建,PHP5.4起开始使用$yiban = [张三,李四,王五,赵六]; //php索引数组//2.使用array()创建$yiban = array(张三,李四,王五,赵六); //php索引数组//3.直接赋值 创建数组$yiban[0] …

水下的成长——Goodbye 2025

本文同步发在博客. 嗨,你好。 写年终总结实在是件很蛋疼的事情:一方面根本不记得这一年自己怎么过的,一方面若不写,又觉得之前的年札全做白费了。今年作为出国的第一年,尤其觉得过得实在很快,仿佛只有一月和十二…

东城区离婚律师事务所推荐:专注婚姻家事的法律服务机构

在婚姻家庭法律事务的处理中,专业的律师事务所能够为当事人提供关键的法律支持。东城区作为北京的核心区域,聚集了多家在婚姻家事领域深耕的法律服务机构,这些机构在离婚纠纷、财产分割、子女抚养等案件中积累了丰富…

模切机供应商哪家强?国内优质企业实力与业务解析

在现代工业生产中,模切机作为纸品、薄膜、橡胶等材料加工的关键设备,广泛应用于印刷包装、电子制造、医疗器械等领域。随着市场对产品精度和生产效率的要求提升,选择技术可靠、性能稳定的模切机供应商成为企业保障生…

海淀区婚姻律师事务所推荐:聚焦家事法律领域的专业机构一览

在社会生活中,婚姻家事法律事务涉及个人情感与财产安全,选择专业的法律服务机构至关重要。海淀区作为北京法律服务资源集中的区域,拥有多家专注于婚姻家事领域的律师事务所,它们在离婚纠纷、财产分割、继承事务等方…

口碑好的治疗白带异常的品牌推荐 女性健康守护指南

白带异常是女性生殖系统健康的重要信号,可能由阴道炎症、菌群失衡或内分泌变化等多种因素引起。及时选择科学规范的干预方式,对维护妇科健康至关重要。近年来,随着女性健康意识的提升,市场上涌现出多个专注于妇科领…

Codeforces Round 1069 (Div. 2) A-E2

A. Little Fairys Painting点击查看代码 #include<bits/stdc++.h> #define int long long using namespace std; using pii = pair<int,int>; using ll = long long; using ull = unsigned long long; con…

北京分割房产最好的律师事务所服务信息参考

在房产分割相关事务中,由于涉及法律程序、财产评估、权益划分等多个环节,选择专业的法律服务机构协助处理,有助于保障自身合法权益。以下是基于业务特点和行业经验整理的相关机构信息。房产分割相关法律服务涵盖多个…