• Java学习笔记_No.1


    第一章 java语言概述

    • 语言诞生发展:

    关键词:Oak、Sun公司、Oracle公司
    Java出现于1995年

    • 语言特点:

    ①简单性;②面向对象;③分布性;④健壮性;⑤安全性;⑥体系结构中立;⑦可移植性;⑧解释型语言;⑨高效性;⑩多线程机制;11动态性

    Java三大平台
    在这里插入图片描述

    • Java程序的编译与运行(半编译半解释)

    在这里插入图片描述

    • java程序的种类,Application的结构

    在这里插入图片描述

    Java Application,即Java应⽤程序,是⽤Java语⾔编写的通过独⽴的Java解释器来解释运⾏的完整的桌⾯应⽤程序,可⽤字符界⾯和图形界⾯进⾏显⽰输出,代码中必须包含main()⽅法作为程序运⾏的⼊⼝。

    • 一个良好的JAVA程序包括:
    package 语句(01句),
    
    • 1
    import 语句(≥0),导入其他类的类库,
    
    • 1
    类定义——class(≥1),
    
    • 1
    一个文件只能有一个public(与文件同名)
    
    • 1

    第二章 java语言开发环境

    • 开发环境下载、安装、配置、简单输入输出代码,并编译运行

    在这里插入图片描述

    在这里插入图片描述

    public class & class

    • 一个Java源文件当中可以定义多个class
    • 一个Java源文件当中public的class不是必须的
    • 一个class会定义生成一个xxx.class字节码文件
    • 一个java源文件当中定义公开的类的话,只能有一个,并且该类的名称必须和java源文件名称一致
      每一个class当中都可以编写main方法,都可以设定程序的入口,想执行B.class中的main方法:java B,想执行x.class中的main方法:java x

    第三章 java语言基础

    数据类型、关键字和标识符、常量与变量、数据类型转换、运算符与表达式

    • 数据类型分为基本数据类型引用数据类型
    • 标识符命名规则
      ① 标识符只能由数字、字母、下划线“_”、美元符号“$”组成,不能含有其它符号。
      ② 标识符不能以数字开始。
      ③ java 关键字和保留字不能作为标识符。
      ④ 标识符严格区分大小写。
      ⑤ 标识符理论上没有长度限制。

    数值型数据的转换:byte→short→int→long→float→double。

    字符型转换为整型:char→int。

    以上数据类型的转换遵循从左到右的转换顺序,最终转换成表达式中表示范围最大的变量的数据类型。

    • 数值型数据类型转化:自动类型转换强制类型转换
      字符串型数据与数值型数据相互转换
    String MyNumber = "1234.56";
    float MyFloat = Float.parseFloat(MyNumber);
    s = s + Integer.parseInt(data[i]);
    
    • 1
    • 2
    • 3
    int MyInt = 1234//定义整形变量MyInt
    String MyString = "" + MyInt//将整型数据转换成了字符串 
    
    • 1
    • 2

    易错题

    给划线部分选择正确的答案:
    ____method(byte x, double y){
    	return (short)x/y*2;
    } D.double
    
    • 1
    • 2
    • 3
    • 4

    第四章 流程控制

    分支语句:if 、 if…else 、 if…else if 、 switch…case
    循环语句: while do…while for
    跳转语句: break continue


    第五章 数组与字符串

    一维数组的声明、初始化、引用、增强for

    int[ ] anArray; //声明
    anArray = new int[10];//创建(为数组分配内存)
    合并:
    int[] anArray = new int[10];
    
    • 1
    • 2
    • 3
    • 4
    • 增强型for循环定义如下:

    for(ElementType element: arrayName){};

    int[] num = {1,2,3,4,5,6};
    for(int i: num){//i 是代表 num[i]
      System.out.print(i);
    }
    
    • 1
    • 2
    • 3
    • 4

    二维数组的声明、初始化、引用、length的属性用法

    int[][] arrayname = {{}, {}, {}};
    arrayname.length 一维数组的个数
    arrayname[i].length 第i行子数组的长度
    
    • 1
    • 2
    • 3

    字符串:length() split()、replace()、trim ()等方法
     string.length()是用来求字符串的长度,返回值为字符串的长度。
     string.trim()是用于删除字符串的头尾空白符(只有头和尾)
     string.toCharArray()为将字符串转换为字符数组。
     string.replace()为将原string 中的元素或子串替换。返回替换后的string。

    String replaceStr = str.replace('a', 'b');
    
    • 1

    string.split():分割字符串

    String s1 = "a,b,c";
    String[] _s1 = s1.split(",");
    
    System.out.print("s1调用split方法后的结果为:");
    for (String s : _s1) {
    	System.out.print("\"" + s + "\"" + "\t");
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7

    toString()返回该对象的字符串表示(object类)


    第六章 类与对象

    • 类的基本概念

    类是把事物的数据与相关的功能封装在一起,形成的一种特殊结构,用以表达现实世界的一种抽象概念

    • 类的定义 基于写程序
    • 访问控制符 包
      类的访问控制符或者为public,或者默认。
      在这里插入图片描述
    • 字段 字段封装

    字段(Field),是 Java编程语言中类的一个成员,主要用来存储对象的状态(如同某些编程语言中的变量),所以有时也可称为成员字段成员变量

    在类中有下列几种变量(Variable):
    类中的成员变量,称为字段
    代码块中的变量,称为局部变量。
    方法和构造方法声明中的变量,称为参数。
    局部变量和参数始终被归类为“变量”(而不是“字段”)。

    封装是指把变量和方法包装在一个类内,以限定成员的访问,从而达到保护数据的一种技术。

    封装字段重构代码的一种操作,是通过一对存取方法访问字段。存取方法也称为读/写方法gettersetter方法。

    • 方法 方法的返回值 参数

    JAVA把数据成员称为成员变量,把函数成员称成员方法,成员方法简称方法

    • 方法重载(重载的定义)

    重载是实现多态的一种方法,在面向对象的程序设计语言中,有一些方法的含义相同,但带有不同的参数,这些方法使用相同的名字,这就叫方法的重载

    名称相同、参数的列表必须不同(参数个数不同、或参数类型不同、或参数顺序不同)

    • 构造方法
    1. 作用(初始化对象):在对象被创建时初始化对象成员的方法。

    2. 定义(和类名相同,没有返回值),不用void修饰

    3. 默认构造方法 :编译系统自动生成

    4. 构造方法重载:可以让用户用不同的参数来创建对象

    5. 构造方法调用另一个构造方法
      通过this()语句实现

    例子:
    public Cylinder() {
    	this(2.5, 5, "红色");//必须写在构造方法内第一行位置
    	System.out.println("lyh");
    }
    public Cylinder() {
    	System.out.println("LYH");
    	radius = r; 
    	height = h;
    	color = str;
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 静态成员
      static称为静态修饰符,被他修饰的成员称为静态成员,也被成为类成员,不用static修饰的成员称为实例成员

    • 静态初始化器
      更好的初始化静态域的方法是静态初始化器。静态初始化器也是一个方法,但是它没有方法名。当静态初始化器所在类第一次被使用时,静态初始化器首先被调用,而且仅此一次而已,以后不管这个类被使用多少次,静态初始化器都不会再被调用,

    静态初始化器定义形式是:
    static {
    	//静态域初始化语句
    }
    
    • 1
    • 2
    • 3
    • 4
    • 静态变量(类变量)(类似全局变量):独立与方法之外

    • 静态方法
      ① 不被任何一个对象所专有;
      ② 他只能访问类变量,或调用staitic成员方法,静态方法中不能访问实例变量和实例方法。
      ③ 不能使用thissuper

    • 对象的应用
      类类型的变量作为方法参数或返回值
      对象数组作为参数

    • 匿名对象

    匿名就是没有名字的对象,在创建对象时,只通过new的动作在堆内存开辟空间,却没有把堆内存空间的地址值赋值给栈内存的某个变量用以存储

    //正常对象
    Student lyh = new Student();
    //匿名对象:
    new Student()
    
    • 1
    • 2
    • 3
    • 4

    第七章 继承、抽象类、接口和枚举

    • 继承的概念:实现代码的复用,被继承的类称为父类(超类),由继承的类称为子类。
    • 语法定义
     class SubClass extends SuperClass {
    	...
    }
    
    • 1
    • 2
    • 3
    • 多态性:重载和覆盖
      ① 字段 可以(继承、隐藏、添加)
      ② 方法可以(继承、覆盖、添加、重载)

    覆盖与重载类似,不同之处是名称、参数列表均与父类完全相同的方法名,用以重写父类中同名方法的功能。

    在Java中有方法的重写,没有属性/字段的重写,准确的来说,是隐藏字段代替了重写

    重写、隐藏经典例题

    • 构造方法 super用法
      ①访问父类的构造方法;
      ②访问父类的成员变量(super.变量名)和成员方法(super.方法名);
      ③但不能访问在子类添加的成员;
      ④不能访问父类private成员,protected即可

    • Final类 不可被继承

    • Object是所有类的根类

    • 抽象类:创建专门的类作为父类 abstrct
      可参考继承和多态练习

    • 接口:可以实现多重继承 interface
      亦可参考继承和多态练习

    [public]interface 接口名称 [extends 父接口名称名列表] {
    	[public][static][final] 数据类型 成员变量名 = 变量;
    	[public][abstract] 返回值的数据类型 方法名(参数表);
    	[public] static 返回值的数据类型 方法名(参数表){
    		方法体;
    	}
    	[public] default 返回值的数据类型 方法名(参数表){
    		方法体;
    	}
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10

    第八周 异常处理

    例题点击

    • 异常处理的相关类 Throwable
      在这里插入图片描述
    • 异常的捕获 try...catch(try后面可以跟多个catch来处理try块里面生成的异常事件)
      try...finally
      try...catch...finally
      throw (直接抛)
      throws(间接抛)
     try {
    	...
    } catch(Exceptionl e1) {
    	...
    } catch(Exception2 e2) {
    	...
    } finally {
    	...
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9

    finally 是强制性语句,不管有没有异常,不关try语句块是否含有break\return\throw,都要执行

    异常中的finally一定会执行,哪怕一个方法中有return语句,也是在异常处理后才返回

    异常处理后,程序继续执行


    杂七杂八的知识点:

    int x=-3; int y=-10;  System.out.println(y%x); A. -1
    
    • 1
    • &&(短路与 表示短路与运算)和&(逻辑与)
    • 方法的签名由方法的名称参数列表组成。
    • 抽象类不能用final修饰

    定义一个Circle类,包含一个常量PI=3.14,一个私有属性r,一个公共构造方法和一个公共计算面积的方法getarea();
    定义一个圆柱体Cylinder类,继承自Circle类,包含1个私有属性height,一个公共构造函数方法和一个公共计算体积volume的方法;
    编写一个测试类Test,从键盘接受圆柱体的半径和高,并输出底面积和体积。

    import java.util.*;
    
    public class Test {
    	public static void main(String[] args) {
    		Scanner sc=new Scanner(System.in);
    		double r=sc.nextDouble();
    		double h=sc.nextDouble();
    		Cylinder cy=new Cylinder(r,h);
    		double s=cy.getArea();
    		double v=cy.volume();
    		System.out.println("s="+s+";v="+v);
    	}
    }
    
    class Circle{
    	final double PI=3.14;
    	private double r;
    	Circle(double R){
    		this.r=R;
    	}
    	double getArea() {
    		return PI*r*r;
    	}
    }
    
    class Cylinder extends Circle{
    	private double height;
    	Cylinder(double R,double height) {
    		super(R);
    		this.height=height;
    		// TODO Auto-generated constructor stub
    	}
    	double volume() {
    		return getArea()*height;
    	}
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
  • 相关阅读:
    如何构建DevOps管道:初学者指南
    Util应用框架Web Api开发快速入门
    vue3搭建Arco design UI框架
    搭建 GPT-2 模型训练环境
    vector_angle_to_rigid
    Oracle EBS 动态调用 XML Publisher 模板 输出不同的报表
    兆易创新 GD32 系列(三) 标准库初探,点灯LED
    多亲手机 F22 Pro何时发布 多亲手机 F22 Pro配置如何
    掌握Java中的FileReader类
    数字经济时代文化消费新特征
  • 原文地址:https://blog.csdn.net/m0_55825393/article/details/122828296