Java学习系列(一)

发布时间:2023年12月18日

一、概念
1.Java 是由 Sun Microsystems 公司1995 年 5 月推出的高级程序设计语言

2.Java 可运行于多个平台,如 Windows, Mac OS 及其他多种 UNIX 版本的系统。

3.移动操作系统 Android 大部分的代码采用 Java 编程语言编程。

4.Java分为三个体系:

  • JavaSE(J2SE)(Java2 Platform Standard Edition,java平台标准版)
  • JavaEE(J2EE) (Java 2 Platform,Enterprise Edition,java平台企业版)
  • JavaME(J2ME)(Java 2 Platform Micro Edition,java平台微型版)

5.主要特性:

  • 面向对象:Java 语言提供类、接口和继承等面向对象的特性,为了简单起见,只支持类之间的单继承,但支持接口之间的多继承,并支持类与接口之间的实现机制(关键字为 implements)。
  • 分布式:Java 语言支持 Internet 应用的开发,在基本的 Java 应用编程接口中有一个网络应用编程接口(java net),它提供了用于网络应用编程的类库,包括 URL、URLConnection、Socket、ServerSocket 等。
  • 健壮:Java 的强类型机制、异常处理、垃圾的自动收集等是 Java 程序健壮性的重要保证。
  • 安全:Java 语言具有的许多安全特性以外,Java 对通过网络下载的类具有一个安全防范机制(类 ClassLoader),如分配不同的名字空间以防替代本地的同名类、字节代码检查,并提供安全管理机制(类 SecurityManager)让 Java 应用设置安全哨兵
  • 体系结构中立:Java 程序(后缀为 java 的文件)在 Java 平台上被编译为体系结构中立的字节码格式(后缀为 class 的文件),然后可以在实现这个 Java 平台的任何系统中运行。这种途径适合于异构的网络环境和软件的分发。
  • 可移植:这种可移植性来源于体系结构中立性,另外,Java 还严格规定了各个基本数据类型的长度。Java 系统本身也具有很强的可移植性,Java 编译器是用 Java 实现的,Java 的运行环境是用 ANSI C 实现的。
  • 解释型:指源代码不需要预先进行编译,在运行时,要先进行解释再运行。解释型语言执行效率低,但跨平台性好。
  • 高性能:Java 的运行速度随着 JIT(Just-In-Time)编译器技术的发展越来越接近于 C++
  • 多线程:线程是一种特殊的对象,它必须由 Thread 类或其子(孙)类来创建
  • 动态:Java 程序需要的类能够动态地被载入到运行环境,也可以通过网络来载入所需要的类。

二、基础

1.类、对象、方法和实例变量的概念:

  • 对象:对象是类的一个实例,有状态和行为。
  • :类是一个模板,它描述一类对象的行为和状态。
  • 方法:方法就是行为,一个类可以有很多方法。
  • 实例变量:每个对象都有独特的实例变量,对象的状态由这些实例变量的值决定。

2.注解

  • 单行注释://
  • 多行注释以?/*开始,以?*/结束
  • 文档注释以?/**?开始,以?*/?结束,通常出现在类、方法、字段等的声明前面,用于生成代码文档,这种注释可以被工具提取并生成 API 文档

3.基本数据类型

  • byte 数据类型是8位、有符号的,以二进制补码表示的整数?默认值是?0? -128 ~ 127
  • short 数据类型是 16 位、有符号的以二进制补码表示的整数?默认值是?0 -32768 ~ 32767
  • int 数据类型是32位、有符号的以二进制补码表示的整数 默认值是?0?(-2^31)~?(2^31 - 1)
  • long 数据类型是 64 位、有符号的以二进制补码表示的整数?默认值是?0L(-2^63)~?(2^63 -1)
  • float 数据类型是单精度、32位、符合IEEE 754标准的浮点数?默认值是?0.0f
  • double 数据类型是双精度、64 位、符合 IEEE 754 标准的浮点数?默认值是?0.0d
  • boolean数据类型表示一位的信息?默认值是?false
  • char 类型是一个单一的 16 位 Unicode 字符 默认值是?'u0000' '\u0000' ~ '\uffff'

4.引用类型

  • 引用类型指向一个对象,指向对象的变量是引用变量。
  • 对象、数组都是引用数据类型。
  • 所有引用类型的默认值都是null。

5.常量

  • 使用 final 关键字来修饰常量,声明方式和变量类似:final double PI = 3.1415927
  • 为了便于识别,通常使用大写字母表示常量

6.特殊的转义字符序列

符号字符含义
\n换行 (0x0a)
\r回车 (0x0d)
\f换页符(0x0c)
\b退格 (0x08)
\0空字符 (0x0)
\s空格 (0x20)
\t制表符
\"双引号
\'单引号
\\反斜杠
\ddd八进制字符 (ddd)
\uxxxx16进制Unicode字符 (xxxx)

7.访问控制修饰符

  • default?(即默认,什么也不写): 在同一包内可见,不使用任何修饰符。使用对象:类、接口、变量、方法。

  • private?: 在同一类内可见。使用对象:变量、方法。?注意:不能修饰类(外部类)

  • public?: 对所有类可见。使用对象:类、接口、变量、方法.

  • protected?: 对同一包内的类和所有子类可见。使用对象:变量、方法。?注意:不能修饰类(外部类)

private?声明为私有访问类型的变量只能通过类中公共的 getter 方法被外部类访问

public 的类、方法、构造方法和接口能够被任何其他类访问

8.非访问修饰符

  • static 修饰符,用来修饰类方法和类变量。
  • final 修饰符,用来修饰类、方法和变量,final 修饰的类不能够被继承,修饰的方法不能被继承类重新定义,修饰的变量为常量,是不可修改的。
  • abstract 修饰符,用来创建抽象类和抽象方法。
  • synchronizedvolatile 修饰符,主要用于线程的编程。

文章来源:https://blog.csdn.net/dangshan5/article/details/134918909
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。