三、Java入门

Java的特性和优势

​ 简单

​ 面对对象

​ 可移植性

​ 性能高

​ 分布式(跨平台:Write Once 、Run Anywhere)

​ 动态性(反射)

​ 多线程(现在边上QQ,边打游戏,就是一种多线程)

​ 安全性

​ 健壮性

Java三大版本

JavaSE:标准版(桌面程序,控制台开发……)(我们首先学这个,先打好基础)

JavaME:嵌入式开发(手机,小家电……)(知道有这个东西就好,现在几乎没人学了)

JavaEE:E企业级开发(web端,服务器开发……) (Java领域应用最广泛的,后学)

JDK、JRE、JVM

JDK:Java Development Kit(包含了JRE、JVM和开一些开发工具,我们要安装的)

JRE:Java Runtime Environment(运行环境,包含了JVM)

JVM:Java Virtual Machine(Java虚拟机,相当于在操作系统上面模拟了一个cpu去处理java相关的东西)(Jvm是Java跨平台的核心)

搭建开发环境(Windows操作系统)

在学习安装之前先学习一下卸载,因为我电脑上之前就装过了

JDK卸载

​ 我的电脑属性–>高级系统设置–>环境变量里的系统变量有一个JAVA_HOME,这个就是我们放java的地方打开这个目录,去把他咔嚓掉;

​ 然后把系统变量那里的JAVA_HOME也删除掉;

​ 系统变量中的Path点击编辑,其中有两个%JAVA_HOME开头的删掉;(吊毛别删错了,不然就凉凉了)

​ 有的人系统变量中会添加一个CLASSPATH变量,有的也删了。

​ 删除ok之后三连确定即可

​ 最后我们确认一下:打开一个Dos窗口输入java -version;显示不是内外部命令就说明卸载成功了

JDK下载与安装

​ 我们安装JDK8,虽然现在都已经更新到了17,但是在企业中使用比较多的还是7和8,JDK8是主流

​ 浏览器搜索JKD8,找到与操作系统相符的64位进行下载,是一个exe程序

​ 双击安装,下一步,路径建议安装到容易找到的路径(等一会要用到这个路径)

​ !若其中出现报错,就结束掉报错的对应进程号

​ 打开资源管理器,选择详细信息找对与报错提示的pid对应的程序结束进程,然后选择重试

​ 如果又提示了一遍选择安装目录,这一遍是安装jre,虽然jdk中带jre但是还是得装,以后如果有安装Eclipse会用到,不然可能报错,在jdk的安装目录下新建一个带jre的目录,选择这个目录,选择下一步进行安装,安装完成后会提示,直接关闭即可

配置环境变量

​ 我的电脑属性–>高级系统设置–>环境变量里的系统变量

​ 新建一个系统变量

​ 变量名:JAVA_HOME

​ 变量值:jdk的安装路径(我让你记住那个)例如我的:E:\Java\JDK-8u231

​ 确定

​ 配置path变量

​ 在系统变量那里选择Path

​ 点击编辑,新建,内容为:%JAVA_HOME%\bin

​ 说明一下:%JAVA_HOME的意思是引用%JAVA_hOME的地址

​ 再新建一个,内容为:%JAVA_HOME%\jre\bin

​ 然后在系统变量那里再新建一个变量(类路径)

​ 变量名:CLASSPATH

​ 变量值:.;%JAVA_HOME%\lib;%JAVA_HOME%\lib\tools.jar

​ 最后就是确定三连

​ 检测:

​ 打开Dos窗口输入java -version,有回显java的版本就安装成功了

JDK目录介绍

​ bin目录:就是用于放一些可执行的程序

​ include目录:因为我们java是居于c和c++进行编写的,所以需要去引用c语言的一些投文件

​ jre目录:java的运行环境

​ lib目录:放了一些java的类库文件

文本编辑器Notepad++的安装

​ 比我们普通的文本编辑器好用

​ 直接百度搜索notepad++,找到官网下载,安装的话也是exe程序。

编写第一个JAVA程

Hello,World!

public class Hello{
    public static void main(String[] args){
        System.out.print("Hello,World!");
    }
}

注意:

1. 代码不要写错,使用notepad++书写代码 比如public,如果没有变色那么就证明你写错了
1. Hello这个名字要跟文件名一样
1. 第三行语句结束要使用分号结尾
1. 所有符号都是英文的,注意大小写

运行我们的第一个个程序

首先我们第一件事情要做的就是把java文件编译成字节码文件,因为java文件是给人看的,我们要进行编译这样机器才能读懂你的意思。

C:\Users\Administrator\Desktop\code>javac Hello.java

接下来我们来运行这个编译文件

1. 在Dos窗口的命令行输入:java Hello 回车即可

注意:

​ 因为我们运行的是class文件,所以这个后缀他会自己去匹配

C:\Users\Administrator\Desktop\code>java Hello
Hello,World!

Dos窗口就会返回指令的结果

输出:Hello,World!

这就是我们迈向java第一个简单的程序,向编程世界问好!

Hello,World详解

首先你要知道每个括号都是成对出现的

​ 首先:第一行的public class是创建一个类的意思,Hello是类的名字;

​ 然后:第二行的public static void 是一些关键字和修饰符,main是一个方法()里面的是参数

​ 最后System.out.print(“Hello,World!”),是输出括号和分号里的内容,也就是Hello,World!

Java程序运行机制

首先我们来了解两个知识点

编译型和解释型:在计算机高级编程语言类型中分为两种,就是编译型和解释型;

​ 编译型语言:将我们的源代码转换成计算机可以执行的代码;优点:执行速度快,消耗资源低;缺点:如果代码更新了,不能实时解读;常用于开发:操作系统;编译型语言有:C、C++等

​ 解释型:计算机每次执行,都需要一个程序来给机器解释;优点:代码一更新,即可实时解读;缺点:消耗资源相对较高,执行速度相对较慢;常用于开发:网站;解释型语言有:JavaScript、Python等

Java程序运行机制(简单步骤)

​ java文件(源程序)—>通过Java编译器—>编译成class文件(字节码)—>送到类装载器(JVM虚拟机)—>通过字节码校验器检查代码是否正确—>通过解释器解释给—>操着系统

​ 我们所学习的Java具有编译型的特点也有解释型的特点;随着我们技术的发展和硬件的发展这个编译型和解释型的界限慢慢变的越来越模糊了;但是你需要知道Java是先编译,最后到操作系统了才解释

IDEA安装和介绍

IDEA相对记事本的优点:

​ 记事本:每次有报错都是在编译完运行时才能看见,这样我们调试不方便

​ IDE:编写代码后,能及时看到我们的错误,方便调试

中文官方网站下载地址:

​ 下载免费版就够了(我的版本2021.3.2)

Original: https://www.cnblogs.com/xiaodi-CISP-PTE/p/15938098.html
Author: XiaoDi_CISP-PTE
Title: 三、Java入门

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/580992/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

  • 七、注释、标识符、数据类型与类型转换

    书写注释是一个好习惯 public class Comment { public static void main(String[] args) { //单&…

    Java 2023年6月5日
    071
  • 数字加密

    java中使用数组对数字进行简单的加密。 数字加密 需求: 某系统的数字密码:比如1983,采用加密方式进行传输,规则如下:先得到每位数,然后每位数都加上5,再对10取余,最后将所…

    Java 2023年6月6日
    067
  • OptaPlanner将弃用DRL(Drools)评分方式!!!

    本来这段时间一直都在加紧我家”三胎”(易排通用智能规划平台)建设,毕竟我们的通用规划平台原定6月初就能上线,但因为其中遇到的各种技术问题及其它项目的突发情况…

    Java 2023年6月16日
    073
  • 第三篇-用Flutter手撸一个抖音国内版,看看有多炫

    前言 前一篇已经开发了大部分框架,包含视频上下滑动播放,这次将上次未完成的数据显示友好显示,以及底部音乐走马灯特效,另外优化了加载数据的bug,在dart语言里 & 会自动…

    Java 2023年6月7日
    094
  • springboot打包war部署到weblogic,涉及Filter以及Filter中的@Value处理

    基于Maven构建。 1:修改pom.xml配置文件 <packaging>warpackaging> <dependency> <groupI…

    Java 2023年5月30日
    096
  • Spring事务调用类自己方法失效解决办法和原因

    正常情况下,我们都是在controller里调用service里的方法,这个方法如果需要加事务,就在方法上加上@Transactional,这样是没问题的,事务会生效。 可是如果像…

    Java 2023年5月30日
    068
  • Java new Date() 获取的时间不正确 【已解决】

    ▌问题描述new Date()获取正确,使用TimeUtils.timeInUTC()转换日期格式后,时间早了比北京时间晚了8小时 ▌原因分析时区不正确,TimeUtils默认使用…

    Java 2023年5月29日
    0102
  • java读取文本文件的方法

    文本文件是我们日常开发中,常用的简单存储载体,那么如何读取文本文件呢? 下文笔者将通过示例的方式讲述读取文本文件的方法分享,如下所示: 文本文件是最常用的文件格式之一, 下文是笔者…

    Java 2023年6月15日
    071
  • Collectors.reducing总结

    Collectors.reducing总结 1. 方法签名 一个参数 public static Collector> reducing(BinaryOperator op)…

    Java 2023年6月13日
    076
  • spring mvc通过客户端传值,controller获取Sort对象

    之前客户端需要根据需求按不同的排序方式查看数据,按照一种约定排序,比如1代表时间升序,2代表时间降序,3,4这种形式,然后后台根据这些值创建Sort对象。 后来发现完全多此一举,可…

    Java 2023年6月7日
    075
  • 戏说领域驱动设计(十二)——服务

    上一章讲解了软件设计中主要用到的三个设计模型,本节讲解三个服务。等咱们这次都讲完了再最后进行一次归纳,即:系统开发流程中的三模型、软件设计中的三模型和三个服务,我习惯管这个叫333…

    Java 2023年6月7日
    066
  • Spring Boot + Mybatis 实现动态数据源

    动态数据源 在很多具体应用场景的时候,我们需要用到动态数据源的情况,比如多租户的场景,系统登录时需要根据用户信息切换到用户对应的数据库。又比如业务A要访问A数据库,业务B要访问B数…

    Java 2023年5月30日
    075
  • axios的封装

    Vue中axios的封装 request.js请求封装、 import axios from ‘axios’ import { getToken } from ‘@/utils’ …

    Java 2023年6月5日
    081
  • java类库

    Java的应用程序接口(API)以包的形式来组织,每个包提供大量的相关类、接口和异常处理类,这些包的集合就是Java的类库。 Java类库可以分为两种 包名以java开始的包是Ja…

    Java 2023年6月7日
    072
  • 干货分享之Spring框架源码解析01-(xml配置解析)

    记录并分享一下本人学习spring源码的过程,有什么问题或者补充会持续更新。欢迎大家指正! 环境: spring5.X + idea Spring 是一个工厂,是一个负责对象的创建…

    Java 2023年6月5日
    093
  • validform学习

    1 说明 validform非常实用,可以用来进行表单验证,是基于jquery框架的,一共就导出两个文件,一个css文件,一个js文件。启动也只需一句js语句即可,相当方便。 可以…

    Java 2023年6月7日
    046
亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球