javaHelloWorld

news2025/1/11 8:05:24

java语言介绍

​ 目前大系统开发中,很少使用单一语言进行开发,现有语言也十分发达,包含Java\C\C++\PHP\Python等等。通常情况下,一个大系统底层驱动部分都是使用C语言开发,而在上层用户交互层使用java语言开发。因此,最近10年以来,java和C语言都保持全球语言排行榜第一、第二的位置。可见java语言在目前各种语言的使用度中是非常高的。

java发展历程

  1. java语言的开创者:James Gosling(詹姆斯·高斯林);最初于贝尔实验室开发;
  2. java语言的前身是Oak语言,是基于C++语言改造出的一个轻量级的开发语言;
  3. java语言早起隶属于Sun(1982年成立);2009年4月20日,被Oracle公司(甲骨文)收购;
  4. java语言第一版(JDK1.0)是Sun公司在1996年发布的;
  5. 1999年6月,第二代Java发布3个版本:
    • JavaSe(J2SE):Java标准版,
    • 定位于个人计算机应用,允许开发和部署在桌面、服务器、嵌入式环境和实时环境中使用的 Java 应用程序。Java SE是基础包,但是也包含了支持 Java Web 服务开发的类;
    • JavaEE(J2EE):Java企业版,定位于服务器端,主要用于企业级的应用开发;
    • JavaME(J2ME):java移动版或者微型版,主要是嵌入式开发或者移动应用开发,比如手机端,目前基本已不再使用;
  6. java发展史上的又一是JDK1.5版本,增加了泛型、foreach循环、可变参数、自动拆装包、枚举、静态导入等新特性;至此之后,J2SE1.5变更名称为JavaSE5.0,通常为我们称呼JDK1.5或者JDK5.0都表示一个版本,后面JDK版本受此历史原因影响,均存在两个称呼;
序号java版本发布日期备注
1JDK1.01996年1月23日
2jdk1.11997年2月18日
3JDK1.21998年12月8日
4JDK1.32000年5月8日
5JDK1.42002年5月29日
6JDK1.52004年9月30开始更名JavaSe5.0名称
7JDK1.62006年12月9日jdk6.0
8JDK1.72011年7月29日jdk7.0
9JDK1.82014年3月18日jdk8.0 , 目前较为常用版本
10JDK9.02017年9月22日

Java语言特点

  1. 简单性:
    • Java发展是由C++衍生而来,许多语言与C和C++类似;
    • Java删除了C++中如指针、头文件等不必要的东西,同时自身具备了丰富的类库;
  2. 强类型语言
    • Java语言具有强制约束,保证开发语言的稳定性;
  3. 面向对象语言(OO)
    • 面向对象是以对象作为基本程序结构单位的程序设计语言,程序运行以对象为基本单位,包括继承、封装、多态等特性;
      OO:面向对象(Object Oriented)
      OOP:面向对象编程(Object Oriented Programming)
      OOA:面向对象分析(Object Oriented Analysis)
      OOD:面向对象设计(Object Oriented Design)
  4. 一种于平台无关的语言
    • Java源文件通过编译后的字节码文件(.class文件)能够跨平台使用;
    • 通过不同平台版本的java虚拟机(JVM)来保证"一次编译,随处运行";
  5. 健壮性和安全性
    • java删除了指针和释放内存等功能,避免非法内存操作;
    • java语言强壮性体现在自身把很多的语法错误甚至警告抛出给程序员,让程序员开发时就快速定位语法错误,
    • java是一种安全性强的语言,它基于一个动态、可扩展、基于标准、可互操作的安全架构;
    • java的强类型机制、异常处理及垃圾自动回收,也保证语言的健壮性和安全性;
    • java由于编译后执行字节码文件,在自身内核中与其余语言是隔离的,因此,不会受到病毒感染,这也是java安全性的体现;
  6. 多线程
    • java语言原生支持多线程服务,相对于其他语言,具有独特的优势;
    • 多线程特点是能够同时运行多项任务;

Java集成开发环境

  1. JDK:java开发环境+技术工具包;是java语言软件开发工具包,属于开发者必须安装的组件,主要用于java应用程序开发,包含java运行环境(JVM+JRE+java系统类库)以及java开发工具;
  2. JRE:java运行环境+基础类库;是java代码执行的必备条件,里面包含java虚拟机以及一些标准类库;
  3. JVM:java虚拟机,属于一个虚构的计算机,通过在实际计算机上仿真模拟各种计算机功能来实现。通过JVM,java语言实现在跨平台运行,也就是常说的"一次编译,随处运行";

JDK安装与环境变量配置

  1. JDK 在oracle官网下载后,直接双击进行安装;安装过程中可以自己定义安装路径,一般默认安装与C盘下;

  2. 安装完成后需要配置Java运行环境,主要是为了实现我们在任意磁盘下创建的java文件都可以正常运行;

  3. 配置步骤包括:

    • 右键我的电脑,点击【属性】 ,进入系统信息界面:

    • 点击【高级系统设置】 ,进入系统属性界面,点击【环境变量】进入环境配置界面

    • 在【系统变量】中寻找"Path"变量,点击编辑,然后将 第一步中java安装路径中bin文件夹额路径增加到里面,点击确认即可;:--


      ​ 备注:此方法属于比较简单的配置,基本满足日常使用,网上还有另一种配置方法,使用增加classpath变量的方式,此处不再赘述

    • 环境变量配置完成后,输入 windows + R 键,在弹出的运行窗口中输入”cmd" , 进入Dos窗口;

    • 在Dos窗口输入java -version \ javac -version ,分别输出当前版本,要求两个版本信息一致如果不能输出,说明环境配置不正确,如果不一致,检查JDK 是否安装多个。

windows系统常用快捷键命令

  1. Dos窗口相关命令

    相关命令可以输入help进行查找;

序号作用命令
1进入Dos窗口windows + R 命令行输入:cmd;
2进入磁盘盘符: 比如:D:
3进入某个目录cd + “目录” 比如:cd D:\ziliao
4返回当前的上一级cd…
5返回根目录cd \
6清除屏幕cls
7浏览目录下的子文件和目录dir 注意:后面可以跟相关目录
8获取帮助,输出所有的命令符help
  1. 常用文本编辑快捷键
序号作用命令
1剪切ctrl + x
2粘贴crtl + v
3拷贝crtl + c
4全选ctrl + a
5保存ctrl + s
6撤销ctrl + z
7取消撤销ctrl + y
8查找ctrl + f
9替换ctrl + h
10加粗ctrl + b

第一个程序 HelloWorld

​ HelloWorld程序编写几乎是每一中语言入门都会编写的一个程序,主要就是实现一个“HelloWorld"语句打印输出,java编程的步骤主要包括:

  1. 创建一个java 源文件;

  2. 在文件中创建一个类,以class定义;

  3. 在类里面创建以个主方法(main方法);

  4. 在main方法中书写执行内容,本例中打印输出”HelloWorld“

程序代码如下:

public class HelloWorld{

public static void main(String[] args){

System.out.println("HelloWorld!!");
}
}
  • java代码注释:
    • 代码中public属于修饰符,表示这个类是公共的,都可以访问;
    • 注意public修饰的类(class),必须与Java源文件名称保持一致,所以一个java文件只能有一个public修饰的类;但java文件中可以有多个class类;
    • static 表示该方法是静态的,不可被修改;
    • System.out.println()表示打印输出语句,完成后换行;
    • System.out.print()表示打印后不换行,下次打印时,在后面继续打印;

  1. ​记事本直接javac编译java文件时,如果java代码中包括中文字符,则常出现"编码GBK的不可映射字符"问题,这是由于使用CMD运行java程序的时候,系统默认的编码格式是gbk。而包含中文字符的代码一般是UNICODE格式,所以直接运行含有中文字符的代码就很容易出现编码错误。
  • 记事本编译时可使用-endcoding指定文件编码格式进行编译,比如:
javac -encoding UTF-8 HelloWorld.java

  • 保存记事本时修改保存文件的编码格式,使用ANSI编码,这样保存后可以直接进行javac编译;

标识符以及java关键字

  1. 标识符:

    在java中所有可以起的名字,例如:类名、包名、变量名、方法名、接口名…

    • 标识符的规则:字母+数字+$+_ 组成;
    • 不能以数字开头;
    • 不能是关键字(关键字指java中有特殊含义的单词,或者是被保留的单词(const、goto));
    • 没有字数限制
    • 严格区分大小写
  2. java关键字

abstract(抽象)default(默认)if(如果)private(私有的)this(当前对象)
boolean(布尔)do(做)implements(实现接口)protected(受保护的)throw(抛出异常)
break(结束\中断)double(双精度)import(导入)public(公共的)throws(声明异常)
byte(字节)else(否则)instanceof(比较类型)return(返回)transient(不在线程保护中(短暂的))
case(事件)extends(继承)int(整型)short(短整型)try(捕获)
catch(捕获到处理)final(常量)interface(接口)static(静态)void(无返回值)
char(字符)finally(最终)long(长整型)strictfp(严格的)volatile(指令,不稳定)
class(类)float(单精度)native(原生)super(当前对象的父类对象)while(循环)
const(保留字)for(循环)new(实例化)switch(选择)null(空)
continue(略过)goto(保留字)package(包)svnchronized(同步)
  1. java特殊符号

    java中的"\"具有属于一个特殊字符,在后面跟部份字符表示特殊的意义:

    • " \n ":换行符;
    • " \t ":制表符;
  2. java注释

    • 单行注释: “//” 后面跟注释内容,只能有一行
    • 多行注释:"/* */" 两个符号之间跟注释内容,可以多行;
    • 文本注释:"/** */" 两个符号之间跟注释内容,可以多行;一般在类前和方法前注释,可以跟类或方法的说明、作者名称、版本、JDK使用版本的信息
// 单行注释内容;
/* 多行注释 */
/** * 文本注释 * @author ShuiRon * @version 1.0 */

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

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

相关文章

新型材料厂电动葫芦PLC无线通讯应用方案详解

一.应用背景 电动葫芦是一种安装在天车、龙门吊之上的特种起重设备,具有体积小,自重轻,操作简单,使用方便等特点,是起升搬运物品,最理想的起重设备之一。目前电动葫芦的控制部分都是由PLC完成的…

【Spring Cloud】Ribbon负载均衡原理与实战(源码级讲解)

本期目录1. 负载均衡原理1.1 总体流程1.2 源码解析2. 负载均衡策略2.1 负载均衡策略继承关系2.2 负载均衡策略描述1)ZoneAvoidanceRule2)AvailabilityFilteringRule2.3 修改负载均衡策略方式1)全局修改2)局部修改3. 饥饿加载3.1 背…

使用VackBAS攻击模拟平台对抗勒索病毒

勒索病毒是一种恶意软件,它可以从一台主机直接感染到整个网络(包括服务器)并加密磁盘上的任何文件和文档,勒索软件会要求受害者缴纳赎金以取回对电脑的控制权,或取回受害者根本无从自行获取的密钥去解密文件。勒索病毒…

jsp+ssm计算机毕业设计宠物店管理系统【附源码】

项目运行 环境配置: Jdk1.8 Tomcat7.0 Mysql HBuilderX(Webstorm也行) Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)。 项目技术: JSPSSM mybatis Maven等等组成,B/S模式 Mave…

数论的一些小小的性质总结

gcd的一些套路: 1.设一些未知数,设gcd为k,换个角度去看问题,比如去枚举倍数 2.一堆数的gcd为1,等价于它们所有数的因子重合小于n;两个数的gcd1,它们的因子之间没有重合 3.相邻两数之间gcd1&a…

SpringMVC:SpringMVC请求映射路径(3)

SpringMvc请求路径1. 环境准备2. 问题提出3. 设置映射路径3.1 方法一:修改Controller3.2 方法二:优化路径配置1. 环境准备 项目结构 BookController类 public class BookController {RequestMapping("/save")ResponseBodypublic String save…

告别XML,Android新声明式UI框架《Jetpack Compose入门到精通》最全开发指南

什么是Jetpack Compose? Jetpack Compose是Android的新声明式UI框架。长期以来, Android 开发人员习惯于使用带有状态视图的xml编写UI,这些状态视图通过逐步浏览视图层次结构进行更新。使用Jetpack Compose, UI 是通过使用KotinQ 函数以无状态方式编写的。 可组合函数使用注…

大一学生HTML期末作业 【html体育排球5页面带注册】学生网页设计作业源码

🎉精彩专栏推荐 💭文末获取联系 ✍️ 作者简介: 一个热爱把逻辑思维转变为代码的技术博主 💂 作者主页: 【主页——🚀获取更多优质源码】 🎓 web前端期末大作业: 【📚毕设项目精品实战案例 (10…

RT-Thread Studio创建STM32WB55工程

STM32WB是ST推出的物联网标准无线连接SoC芯片,可支持BLE、ZigBee等标准协议,内置M4F和M0双内核,其中M0主要运行底层协议栈,而M4F则可以用于应用的开发。 RT-Thread是国内目前比较成熟、比较成熟的物联网操作系统了,有…

C++ Reference: Standard C++ Library reference: Containers: map: map: crend

C官网参考链接&#xff1a;https://cplusplus.com/reference/map/map/crend/ 公有成员函数 <map> std::map::crend const_reverse_iterator crend() const noexcept;返回指向反向结束的const_reverse_iterator 返回一个const_reverse_iterator&#xff0c;指向容器中第…

CentOS 8 桌面版右上角网络图标消失的解决办法

我们在手动修改网络连接的配置文件后&#xff0c;桌面右上角的网络连接图标可能会消失。 正常显示的网络图标&#xff1a; 网络图标消失后的样子&#xff1a; CentOS 的网络连接由网络管理工具 NetworkManager 负责&#xff0c; 这个问题多半与其有关。 可能的原因 1&#xf…

音视频Media内核学习——OpenMax浅析

一、OpenMax简介&#xff08;缩写为&#xff1a;OMX&#xff09; OpenMAX是一个多媒体应用程序的标准。由NVIDIA公司和Khronos™在2006年推出。 它是无授权费的、跨平台的C语言程序接口序列&#xff0c;这些接口对音频、视频、静态图片的常用操作进行封装。 它包括三层&…

[激光原理与应用-57]:激光器 - 光学 - 常见光学镜片介绍

目录 第1章 光学镜片和普通镜片 1.1 光学镜片和普通镜片的区别 1.2 什么是光学镜片 1.3 反射镜 1.4 透镜 1.5 镜片镀膜 第2章 光学镜片的类型 2.1 半透镜 2.2 半透半反反射镜 - 分束镜 2.3 凸透镜 2.4 凹透镜 2.5 准直镜 2.6 偏振镜片 2.7 分色镜与分色反射镜 2…

【SAP ABAP】SAP Webservice RESTful 接口服务发布教程

SAP Webservice & RESTful 接口服务发布教程1、SAP Webservice 类型2、SAP Webservice 服务发布2.1、准备 RFC2.2、通过 RFC 创建服务2.3、查看 WSDL2.4、访问服务2.5、删除服务3、SAP RESTful 服务发布3.1、创建数据服务类3.2、维护服务3.3、访问服务3.4、删除服务4、SAP …

Ajax(五) Ajax加强

1. 模板引擎的实现原理 1.1 正则与字符串操作 exec() 函数用于检索字符串中的正则表达式的匹配。 如果字符串中有匹配的值&#xff0c;则返回该匹配值&#xff0c;否则返回 null。 1.基本语法&#xff1a;正则表达式 2.分组 正则表达式中 ( ) 包起来的内容表示一个分组&#…

【AIOT】QT样式QSS

使用桌面的PyQt或者web的flaskweb方便快捷的部署搭建可视化AI应用演示Demo&#xff0c;这里记录使用PyQt搭建基于Mediapipe和MixMLP网络的识别控制系统QSS样式代码。 Styles sheets are textual specifications that can be set on the whole application using QApplication::…

基于MOdel的自治交通模拟框架,用于故障-错误-故障链分析(Matlab代码实现)

&#x1f468;‍&#x1f393;个人主页&#xff1a;研学社的博客 &#x1f4a5;&#x1f4a5;&#x1f49e;&#x1f49e;欢迎来到本博客❤️❤️&#x1f4a5;&#x1f4a5; &#x1f3c6;博主优势&#xff1a;&#x1f31e;&#x1f31e;&#x1f31e;博客内容尽量做到思维缜…

二叠氮聚乙二醇,N3-PEG-N3,点击化学试剂简介 CAS 82055-94-5, Azide-PEG-Azide双边活性PEG衍生物

名称 二叠氮聚乙二醇 N3-PEG-N3 中文名称 叠氮PEG叠氮 聚乙二醇二叠氮 二叠氮聚乙二醇 英文名称 N3-PEG-N3 Azide-PEG-Azide CAS 82055-94-5 溶剂 溶于水和大部分有机溶剂 存储条件 -20读冷冻保存&#xff0c;惰性气体保护 N3-PEG-N3是一种双边活性PEG衍生物&#xff0c;可…

Ubuntu服务器Docker及常用库件安装

wshanshi&#xff1a;嗯…是从有道云笔记里弄出来的… 一、安装步骤 1.1、 检查并卸载已安装的docker $ sudo apt-get remove docker docker-engine docker.io containerd runc1.2、使用存储库安装 $ sudo apt-get update$ sudo apt-get install \apt-transport-https \ca-c…

[SCTF2019]Flag Shop (RUBY模板注入)

打开界面发现一个通过金钱来获得flag的&#xff0c;然后点击work或增加金钱但都是个位数 首先想了一下如果做一个脚本一直点击work不就好了吗&#xff0c;但是又想了一下服务器响应太快也不行&#xff0c;如果设置sleep那时间太长了 然后换一个思路&#xff0c;burp抓包看了一…