Java简介、基本语法

news2024/11/27 10:43:54

一、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.coloradmin.cn/o/1218963.html

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

相关文章

系列三、GC垃圾回收【总体概览】

一、GC垃圾回收【总体概览】 JVM进行GC时,并非每次都对上面的三个内存区域(新生区、养老区、元空间/永久代)一起回收,大部分回收的是新生区里边的垃圾,因此GC按照回收的区域又分为了两种类型,一种是发生在新…

redis高级案列case

案列一 双写一致性 案例二 双锁策略 package com.redis.redis01.service;import com.redis.redis01.bean.RedisBs; import com.redis.redis01.mapper.RedisBsMapper; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; imp…

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

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

翻转链表(图解)

LCR 024. 反转链表 - 力扣(LeetCode) 题目描述 给定单链表的头节点 head ,请反转链表,并返回反转后的链表的头节点。 样例输入 示例 1: 输入:head [1,2,3,4,5] 输出:[5,4,3,2,1]示例 2&…

中欧之间,从此万里有云桥

相传在1271年,马可波罗跟随父亲和叔叔前往中国,他们在海上漂泊了足足四年,才最终抵达元大都。从此之后,欧亚大陆的两端在数百年间发生了一系列故事。而海上船只,始终是穿行中欧的交通方式。 直到20世纪,两座…

git 指定时间代码统计

指定时间代码统计 用法 13 - 17 号 代码情况 近一周 git log --since2023-11-13 00:00:00 --until2023-11-17 23:00:00 --prettytformat: --numstat | awk { add $1; subs $2; loc $1 - $2 } END { printf "added lines: %s, removed lines: %s,total lines: %s\n&…

OmniGraffle Pro v7.22.3(流程图UML图)

OmniGraffle Pro是一款非常棒的绘图软件,具有多种功能,包括: 绘制图表:OmniGraffle Pro可以创建各种类型的图表,包括流程图、组织图、UML图、网络图等等。它还支持导入和导出多种文件格式,如PDF、SVG、Vis…

怎么去掉邮件内容中的回车符

上图是Outlook 截图,可见1指向的总有回车符; 故障原因: 不小心误按了箭头4这个选项; 解决方法: 点击2箭头确保tab展开; 点击3以找到箭头4. 取消勾选或者多次点击,即可解决。

Linux - 用户级缓冲区和系统缓冲区 - 初步理解Linux当中文件系统

前言 文件系统 我们先来看两个例子: 这个程序输出: 此时的输出也满足的我们预期。 我们也可以把 程序执行结果,输出重定向到 一个文件当中: 当我们在代码的结尾处,创建了子进程,那么输出应该还是和上述是一样的&…

Vue bus事件总线的原理与使用

这里写自定义目录标题 一、 Vue Bus 总线原理二、Vue bus的使用1、创建总线: 在 Vue 应用中,可以创建一个 Vue 实例作为总线,用于管理事件。2、事件的发布与订阅: 组件通过订阅事件来监听总线上的消息,而其他组件则通过…

Azure 机器学习:使用 Azure 机器学习 CLI、SDK 和 REST API 训练模型

目录 环境准备克隆示例存储库 示例案例在云中训练1.连接到工作区PythonAzure CLIREST API 2. 创建用于训练的计算资源4. 提交训练作业PythonAzure CLIREST API 注册已训练的模型PythonAzure CLIREST API Azure 机器学习提供了多种提交 ML 训练作业的方法。 在本文中&#xff0c…

【linux】查看CPU的使用率

命令1:top top 总体系统信息 uptime:系统的运行时间和平均负载。tasks:当前运行的进程和线程数目。CPU:总体 CPU 使用率和各个核心的使用情况。内存(Memory):总体内存使用情况、可用内存和缓存…

监控直流防雷浪涌保护器综合方案

监控系统是一种广泛应用于安防、交通、工业、军事等领域的信息系统,它通过摄像机、传输线路、监控中心等设备,实现对目标区域的实时监视和控制。然而,监控系统也面临着雷电的威胁,雷电可能通过直击雷、感应雷、雷电波侵入等途径&a…

储能领域 / 通讯协议 / 技术栈 等专有名字集锦——主要收集一些储能领域的专有名词,以及相关的名词

目录 名词解释ModbusIOT设备通讯协议 CAN/ RS-485 储能术语电池管理系统BMS电池储能系统相关概念,总控,主控,从控 电池相关知识拆解电池的构成逆变器 电池核心参数SOC 电池剩余容量 名词解释 英文中文biz layer业务层与业务层通信的服务CRC循…

GAT里面的sofamax函数的实现:

1.sofamx 公式: 2. GAT里的sofamax函数的实现: 1. 因为指数在x轴正轴爆炸式地快速增长,如果zi比较大,exp⁡(zi)也会非常大,得到的数值可能会溢出。溢出又分为下溢出(Underflow)和上溢出&#x…

当攻防演练已成常态,企业应该相信西医还是老中医?

在面对疾病时,很多人常常会犹豫不决,不知道应该选择中医还是西医进行治疗。与疾病斗争的过程也是一场“战斗”,需要选择合适的“武器”和策略。有些人认为西医疗效快,能够迅速缓解症状;而另一些人则认为中医治疗更根本…

llvm源码windows编译

1.克隆llvm源码: git clone --config core.autocrlf=false https://github.com/llvm/llvm-project.git 2.创建build文件夹并生成makefile 生成前置条件: cmake ,ninja,python3要先安装 cmake -S llvm -B build -G Ninja -DCMAKE_BUILD_TYPE=Release 生成成功 3.编译 进…

如何用AB测试完善产品激励体系

更多技术交流、求职机会,欢迎关注字节跳动数据平台微信公众号,回复【1】进入官方交流群 用户激励体系,也称用户激励机制,是为了让用户持续使用产品,而设计的一套对应规则。在用户激励体系建立过程中,产品可…

linux、windows 查看java等进程占用资源情况

linux查看进程占用资源情况: top -o %MEM -b -n 1 | grep java | awk {print "PID: "$1" \t 虚拟内存: "$5" \t 物理内存: "$6" \t 共享内存: "$7" \t CPU使用率: "$9"% \t 内存使用率: "$10"%&…

护眼台灯选购注意事项?考公专用护眼台灯推荐

随着科技的发展和进步,台灯的外观也不在和以往一般笨重,而是变得越来越美观,而且也更方便了,功能也越来越多元化了。台灯作为现在我们日常学习、阅读、办公必备的一盏照明灯具,其光源的舒适度是非常重要的。那么挑选台…