Java简介、基本语法

一、Java简介:

        Java 是由 Sun Microsystems 公司于 1995 年 5 月推出的 Java 面向对象程序设计语言和 Java 平台的总称。

Java主要的特性:

1、Java语言是简单的的:

Java语言的语法与C、C++语言接近。Java丢弃了C++中的一些特性,如操作符重载、多继承、自动的强制类型转换。Java语言不使用指针,而是引用,并提供自动分配和回收内存空间。

2、Java语言是每年向对象的:

Java语言提供类、接口和继承等面向对象的特性,支持类之间的单继承,支持接口之间的多继承,支持类与接口之间的视线机制(关键字为implements),支持动态绑定。

3、Java语言是分布式的:

Java语言支持internet应用开发,网络应用编程接口(java net)提供网络应用编程的类库,包括URL、URLConnection、socket、serversocket。Java的RMI(远程方法激活)机制也是开发分布式应用的重要手段。

4、Java语言的健壮性:

Java的强类型机制、异常处理、垃圾的自动收集等是Java程序健壮性的重要保证。Java的安全检查机制使得Java更具健壮性。

5、Java语言的安全性:

Java提供了一个安全机制(类classloader)以防恶意代码的攻击,并提供安全管理机制(类securityManager)让Java应用设置安全哨兵。

6、Java语言的体系结构中立性:

Java程序在Java平台上被编译为体系结构中立的字节码格式(后缀为class的文件),然后可以在实现这个Java平台的任何系统中运行。

7、Java语言的可移植性:

Java系统本身具有很轻的可移植性,Java编译器是用Java实现的,Java的运行环境使用ANSI C实现的。

8、Java语言是解释型的:

9、Java语言是高性能的:

10、Java语言是多线程的:

在Java语言中,线程是一种特殊的对象,它必须由thread类或其子(孙)类来创建。通常有两种方法来创建线程:其一,使用型构为 Thread(Runnable) 的构造子类将一个实现了 Runnable 接口的对象包装成一个线程,其二,从 Thread 类派生出子类并重写 run 方法,使用该子类创建的对象即为线程。值得注意的是 Thread 类已经实现了 Runnable 接口,因此,任何一个线程均有它的 run 方法,而 run 方法中包含了线程所要运行的代码。线程的活动由一组方法来控制。Java 语言支持多个线程的同时执行,并提供多线程之间的同步机制(关键字为 synchronized)。

11、Java语言是动态的:

Java 语言的设计目标之一是适应于动态变化的环境。Java 程序需要的类能够动态地被载入到运行环境,也可以通过网络来载入所需要的类。这也有利于软件的升级。另外,Java 中的类有一个运行时刻的表示,能进行运行时刻的类型检查。

二、Java基础语法:

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

1)、对象是类的一个实例,有状态和行为。

2)、类是一个模版,它描述一类对象的行为和状态。

3)、方法就是行为,一个类可以有很多方法,逻辑运算、数据修改以及所有动作都在方法中完成。

4)、每个对象都有独特的实例变量,对象的状态由这些示例变量的值决定。

2.2、Hello world例程:

public class HelloWorld {

    public static void main(String []args) {

        System.out.println("Hello World");     }

}

2.3、基本语法:

☆ 大小写敏感。

☆ 对于所有的类来说,类名的首字母应该大写,如果类名由若干单词组成,那每个单词的首字母应该大写。

☆ 所有的方法名应该以小写字母开头,若方法名含有若干单词,则后面的每个单词首字母大写。

☆ 源文件名必须和类名相同。当保存文件的时候,应该使用类名作为文件名保存,文件名的后缀为.java。

☆ 所有的Java程序由public static void main(String []args) 方法开始执行。

2.4、Java标识符:

类名、变量名以及方法名都被称为标识符。所有标识符都应该以字母(a~z或者A~Z)、美元($)、下划线(_)开始;首字符之后可以是字母(a~z或者A~Z)、美元($)、下划线(_)、数字的任何字符组合;关键字不能用作表示符;标识符是大小写敏感的。

2.5、Java修饰符:

Java使用修饰符来修饰类中方法和属性,主要有两类修饰符:访问控制修饰符(default、public、protected、private)和非访问控制修饰符(final、abstract、static、synchronized)。

2.6、Java变量:

Java变量类型:局部变量、类变量(静态变量)、成员变量(非静态变量)。

2.7、Java数组:

数组是储存在堆上的对象,可以保存多个同类型变量。

2.8、Java枚举:

枚举可以单独声明或者声明在类里面。方法、变量、构造函数也可以在枚举中定义。

2.9、Java关键字:

类别

关键字

说明

访问控制

private

私有的

protected

受保护的

public

公共的

default

默认

类、方法和变量修饰符

abstract

声明抽象

class

extends

扩充、继承

final

最终值、不可改变的

implements

实现(接口)

interface

接口

native

本地、原生方法(非 Java 实现)

new

创建

static

静态

strictfp

严格浮点、精准浮点

synchronized

线程、同步

transient

短暂

volatile

易失

程序控制语句

break

跳出循环

case

定义一个值以供 switch 选择

continue

继续

do

运行

else

否则

for

循环

if

如果

instanceof

实例

return

返回

switch

根据值选择执行

while

循环

错误处理

assert

断言表达式是否为真

catch

捕捉异常

finally

有没有异常都执行

throw

抛出一个异常对象

throws

声明一个异常可能被抛出

try

捕获异常

包相关

import

引入

package

基本类型

boolean

布尔型

byte

字节型

char

字符型

double

双精度浮点

float

单精度浮点

int

整型

long

长整型

short

短整型

变量引用

super

父类、超类

this

本类

void

无返回值

保留关键字

goto

是关键字,但不能使用

const

是关键字,但不能使用

2.10、Java注释:

Java 也支持单行以及多行注释。Java注释有三种类型:单行注释、多行注释、文档注释。

2.11、Java继承:

在 Java 中,一个类可以由其他类派生。如果要创建一个类,而且已经存在一个类具有所需要的属性或方法,可以将新创建的类继承该类。利用继承的方法,可以重用已存在类的方法和属性,而不用重写这些代码。被继承的类称为超类(super class),派生类称为子类(sub class)。

2.12、Java接口:

在Java中,接口为对象间相互通信的协议。接口只定义派生要用到的方法,但方法的具体实现完全取决于派生类。

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

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

相关文章

泛型编程 -- 模板详解

一、模板 在没有模板之前,如果我们写一个swap()两数交换函数,因为我们要支持 int 与int 交换 、double 与 double 交换等等情况,所以要实现swap()函数的多个重载,显得很繁琐,于是就引入了模板。 模板就是在需要模板的地…

HT8313 D/AB切换 音频功率放大器

HT8313具有AB类和D类的自Y切换功能,在受到D类功放EMI干扰困扰时,可随时切换至AB类音频功放模式(此时电荷泵升压功能关闭)。 HT8313内部固定28dB增益,内置的关断功能使待机电流Z小化,还集成了输出端过流保护…

用Python制作截图小工具

Python编程语言允许我们执行各种任务,所有这些都是在简单模块和短小精悍的代码的帮助下完成的。在Python的帮助下进行屏幕截图就是这样一项任务。 Python为我们提供了许多模块,使我们能够执行不同的任务。有多种方法可以使用Python及其库进行屏幕截图。…

利用 Kubernetes 降本增效?EasyMR 基于 Kubernetes 部署的探索实践

Kubernetes 是用于编排容器化应用程序的云原生系统。最初由 Google 创建,如今由 Cloud Native Computing Foundation(CNCF)维护更新。 Kubernetes 是市面上最受欢迎的集群管理解决方案之一。它自动化容器化应用程序的部署、扩展和管理&#…

Java学习之路 —— IO、特殊文件

文章目录 1. I/O1.1 常用API1.2 I/O流1.2.1 字节流1.2.2 try-catch-finally和try-with-resource1.2.3 字符流1.2.4 其他的一些流 2. I/O框架3. 特殊文件3.1. Properties3.2 XML 1. I/O 1.1 常用API // 1. 创建文件对象File file new File("E:\\ComputerScience\\java\\…

使用 PPO 算法进行 RLHF 的 N 步实现细节

当下,RLHF/ChatGPT 已经变成了一个非常流行的话题。我们正在致力于更多有关 RLHF 的研究,这篇博客尝试复现 OpenAI 在 2019 年开源的原始 RLHF 代码库,其仓库位置位于 openai/lm-human-preferences。尽管它具有 “tensorflow-1.x” 的特性&am…

期望、方差

一、期望和方差的定义 随机变量(Random Variable) X 是一个映射,把随机试验的结果与实数建立起了一一对应的关系。而期望与方差是随机变量的两个重要的数字特征。 1. 期望(Expectation, or expected value) 期望是度量一个随机变量取值的集中位置或平均水平的最基…

大会技术“硬核”资讯来啦!点击预约 IoTDB 现场一对一调优咨询服务

承诺大家的,2023 IoTDB 用户大会现场“快讯”第一弹来啦! 我们将在大会现场设置 IoTDB Workshop,IoTDB 原厂团队将免费提供一对一技术咨询、使用调优、疑问解答等服务。 现场提供的一对一咨询、调优时长为 30 分钟,在您预约的时间…

前后端分离项目在Linux的部署方法、一台Nginx如何部署多个Web应用

需求场景:目前有三个前后端分离项目(vuespringboot),Linux服务器一台,nginx一个,比如服务器地址为www.xxxxxxx.com 我想通过80端口访问服务①(即访问www.xxxxxxx.com);通过81端口访问服务②(即…

android 数独小游戏 经典数独·休闲益智

一款经典数独训练app 标题资源下载 (0积分)https://download.csdn.net/download/qq_38355313/88544810 首页页面: 1.包含有简单、普通、困难、大师四种难度的数独挑战供选择; 记录页面: 1.记录用户训练过的数独信息&…

容性负载箱与电容器的关系是什么?

容性负载箱用于测试电容器性能的设备,电容器是储存电能的元件,具有储存和释放电荷的能力。容性负载箱通过对电容器施加不同的负载,可以测量电容器的容量、电压响应、损耗等参数。 容性负载箱与电容器的关系主要体现在以下几个方面&#xff1a…

OpenCV入门5——OpenCV的算术与位运算

文章目录 图像的加法运算图像的减法运算图像的乘除运算图像的融合OpenCV位运算-非操作OpenCV位操作-与运算OpenCV位操作-或与异或为图像添加水印 图像的加法运算 # -*- coding: utf-8 -*- import cv2 import numpy as npimg cv2.imread(E://pic//4.jpg)# 图的加法运算就是矩阵…