【javaSE见面第一课】

本文介绍了Java语言的主要特性,包括简单性、面向对象、分布式、健壮性、安全性、体系结构中立、可移植性、高性能、多线程和动态性。此外,讲解了Java程序的运行机制,JDK、JRE和JVM的关系,以及程序的基本结构。文章还涉及了第一个Java程序的编写,并讨论了标识符、关键字及其规则。最后,提到了Java中的注释规范。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


前言:hello,干饭人,想必大家在学习完c语言后,一定在纠结该选择一门什么语言作为今后深入学习的方向,如果你选择了java,那恭喜你!做出了一个和我一样的明智选择,哈哈,其实如何选择一门语言主要根据自己的兴趣和适合自己的职业方向,当然对于我来说,java就是世界上最好的语言(狗头),当然这不是杠,因为只要心中有梦,那未来比会璀璨绽放,哈哈,怀着激动的心情,开始java学习之旅吧!

java语言特性

首先学习一门语言,就要知道这门语言是干嘛的,这门语言有哪些强于其他语言的特点,也就是java语言的特性,什么,你说你还不知道什么是java语言呃,百度一下就知道了,这不是重点,重点是知道java语言都有哪些突出的特点,当然这些特点可能我们还不知道是啥,所以我们先简单大概了解一下。

  1. 简单性
    Java语法是C++语法的一个“纯净版本”,相当于对C++做了一个减法。这里没有头文件、指针运算(甚至指针语法)、结构、联合、操作符重载、虚基类等等。不仅如此,Java开发环境远远超出大多数其他编程语言的开发环境。
  2. 面相对象
    什么是面向对象?
    在Java的世界里,一切皆对象。比如:人、狗、手机、电脑等都是对象。所谓面相对象,就是依靠对象之间的交互来完成事情,比如:人用手机网上购物,狗吃骨头…
    Java的面向对象特性与C++旗鼓相当,与C++的主要不同点在于多重继承。在Java中,取而代之的是更简单的接口概念。而且与C++相比,Java提供了更丰富的运行时自省功能。
  3. 分布式(微服务)
    Java有丰富的例程库,用于处理像HTTP和FTP之类的TCP/IP协议。Java应用程序能够通过URL打开和访问网络上的对象,其便捷程度就好像访问本地文件一样。
  4. 健壮性
    Java与C++最大的不同在于Java采用的指针模型可以消除重写内存和损坏数据的可能性(对于曾经花费几个小时来检查由于指针bug而引起内存冲突的人来说,一定很喜欢Java的这一特性)。不仅如此,Java编译器能够检测许多在其他语言中仅在运行时才能够检测出来的问题。
  5. 安全性
    Java适用于网络/分布式环境。为了达到这个目标,在安全性方面投入了大量的精力。使用Java可以构建防病毒、防篡改的系统,从一开始,Java就设计成能够防范常见的各种攻击:运行时堆栈溢出。蠕虫和病毒常用的攻击手段。破坏自己进程空间之外的内存。未经授权读写文件
  6. 体系结构中立
    编译器生成一个体系结构中立的目标文件格式,按照该中规范生成的文件,只要有Java运行时系统,这些编译后的代码就可以在许多处理器上运行。Java编译器通过生成与特定计算机体系结构无关的字节码指令来实现这一特性。精心设计的字节码不仅可以很容易的在任何机器上解释执行,而且还可以动态地翻译成本地机器代码。这就是为什么可以:“Wrice once,Run anywhere”。

在这里插入图片描述

  1. 可移植性
    与C/C++不同,Java规范中没有“依赖具体实现的地方”。基本数据类型的大小以及有关运算都做了明确的说明。
    例如,Java中的int永远是32位的整数,而在C/C++中,int可能是16位整数、32位整数,也可能是编译器提供商
    指定的其他大小。在Java中,数据类型具有固定的大小,这消除了代码移植时令人头疼的主要问题。
  2. 解释性
    Java为了实现与平台无关,自己维护了一套基于栈架构的指令集,Java源代码经过编译之后,字节码文件中的指
    令就是按照自己的指令集来组织的,但是在具体硬件环境中运行时,系统并不能识别,因为Java程序在执行
    时,Java解释器会逐条的将字节码文件中的指令翻译成CPU的指令集。
  3. 高性能
    边解释边执行,垃圾会说等导致了Java代码运行效率偏低,近年来JVM也在不断的优化,比如:JIT(即时编译
    器),热点代码探测,让Java程序的执行效率大幅提高,在有些场合不亚于C/C++。
  4. 多线程
    Java在当时很超前。它是第一个支持并发程序设计的主流语言。多线程可以带来更好的交互响应和实时行为。并发程
    序设计绝非易事,但是Java在这方面表现出色,可以很好的管理这个工作。
  5. 动态性
    Java与C/C++相比更加具有动态性。它能够适应不断发展的环境。库中可以自由的添加新方法和实例变量,而对
    客户端没有任何影响。在Java中找出运行时类型信息十分简单(反射的特性,后续会学到)

小结:Java不仅仅是一门编程语言,也是一个由一些列计算机软件和规范组成的技术体系。

java程序的运行

与c与语言相同,java程序的成功运行必然少不了程序员开发者工具,程序运行环境,等等,那我们一起来了解一下吧。

JDK、JRE、JVM之间的关系?
JDK(Java Development Kit):Java开发工具包,提供给Java程序员使用,包含了JRE,同时还包含了编译器
javac与自带的调试工具Jconsole、jstack等。
JRE(Java Runtime Environment):Java运行时环境,包含了JVM,Java基础类库。是使用Java语言编写程序
运行的所需环境。
JVM:Java虚拟机,运行Java代码
关系图

java程序的结构

在学习第一个java程序前,我们还需要知道java程序的基本结构,然后才能知道这个程序为什么这样写,这就好比如果你想了解一个人的基本信息,那就要知道他的身份证信息一样,如果你还想了解这个人的性格,那你就要与他交朋友,这里就相当于学习java的语法。

1.源文件(后缀名.java):源文件带有类的定义。类用来表示程序的一个组件,小程序或许只会有一个类。类的内容必须包含在花括号里面。
2.类:类中带有一个或多个方法。方法必须在类的内部声明。
3.方法:在方法的花括号中编写方法应该执行的语句。
总结一下:类存在于源文件里面;方法存在于类中;语句存在于方法中。

注意:

注意:在一个源文件中只能有一个public修饰的类,而且源文件名字必须与public修饰的类名字相同。

第一个java程序

学习语言当然就要写程序了,那我们从输出HelloWorld开始吧。

public class HelloWorld{
 	public static void main(String[] args){
  		System.out.println("Hello,world");
 }
    }

哇,不可思议java中的一个基出输出都这么复杂,其实java中的main入口方法也是所有语言中最复杂的,当然也别急,我们来一步步理解,现在只是认识一下java的基本结构,后面还会慢慢讲解,咱们现在是同一起跑线,所以一定坚持哦!

public:访问修饰限定符(类和对象章节细讲)
class:定义类的关键字(类和对象章节细讲)
HelloWorld:类的名字(即标识符)
main:作为程序入口的特殊标识符(注意不是关键字)
System.out.println():相当于c语言中的printf()

标识符

标识符:在程序中由用户给类名、方法名或者变量所取的名字。
大驼峰:标识符中每个单词首字母大写
小驼峰:标识符中除了第一个单词首字母小写其他每个单词首字母大写

硬性规则
标识符中可以包含:字母、数字以及 下划线和 $ 符号等等。
注意:标识符不能以数字开头,也不能是关键字,且严格区分大小写。
软性建议
类名:每个单词的首字母大写(大驼峰)
方法名:首字母小写,后面每个单词的首字母大写(小驼峰)
变量名:与方法名规则相同

关键字

通过观察上述程序可以发现,public、class以及static等颜色会发生变化,将这些具有特殊含义的标识符称为关键字。即:关键字是由Java语言提前定义好的,有特殊含义的标识符,或者保留字。
注意:用户不能使用关键字定义标识符。
***【48个关键字】***:abstract、assert、boolean、break、byte、case、catch、char、class、continue、default、do、double、else、enum、extends、final、finally、float、for、if、implements、import、int、interface、instanceof、long、native、new、package、private、protected、public、return、short、static、strictfp、super、switch、synchronized、this、throw、throws、transient、try、void、volatile、while。

重要关键字分类

1.用于定义访问权限修饰符的关键字
private,protected,public
2.用于定义类,函数,变量修饰符的关键字
abstract,final,static,synchronized
3.用于定义访问权限修饰符的关键字
private
protected
public
4.用于定义类,函数,变量修饰符的关键字
abstract
final
static
synchronized
5.用于定义类与类之间关系的关键字
extends
implements
6.用于定义建立实例及引用实例,判断实例的关键字
new
this
super
instanceof
7.用于异常处理的关键字
try
catch
finally
throw
throws
8.用于包的关键字
package
import
9.其他修饰符关键字
native
strictfp
transient
volatile
assert

java中注释及规范

与c语言不同的是,除了c语言中的注释方法以外,java中又有一些新的注释方法,一起来看看吧。

Java中的注释主要分为以下三种
单行注释:// 注释内容(用的最多)
多行注释:/* 注释内容*/(不推荐)
文档注释: /** 文档注释 */(常见于方法和类之上描述方法和类的作用),可以被javadoc工具解析,生成
一套以网页文件形式体现的程序说明文档

注释规范

1. 内容准确:
注释内容要和代码一致, 匹配, 并在代码修改时及时更新
2.篇幅合理:
注释既不应该太精简, 也不应该长篇大论
3.使用中文:
一般中国公司都要求使用中文写注释
4.积极向上:
注释中不要包含负能量(例如骂人等)

好的java第一节就讲解这些基础知识,你好java,我来了
在这里插入图片描述

评论 20
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值