Java 简介

win10安装 JDK

下载和安装

访问 oracle 官网https://www.oracle.com/

建议下载解压版,下载完毕后,解压到一个没有中文和空格的目录即可

配置 Path

你可以选择一个喜欢的目录,我的解压目录是 d 盘根目录下,如图所示

  • 其中 bin 目录下包含的就是它所带的一些开发和运行工具
  • 像 Javac.exe 还有 Java.exe 都是较为重要的,后面都会用到


“此电脑”–》“属性”–》“高级系统设置”

把刚才 jdk 的解压目录 + bin 补充填入,我这里是 D:\jdk-17.0.3.1\bin,全部确定

cmd验证java是否正确安装

java -version

入门案例

第一行代码

System.out.println("Hello, world")

第一份源码

编写 java 源代码

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

编译 java 源代码

D:\>javac Hello.java
  • javac用来把一个.java文件编译成.class` 文件
  • *.class 就是前面提到的 class 字节码

运行 class 字节码

D:\>java Hello
hello, world

常见问题

中文输出乱码
原因在于,保存 Hello.java 文件时,选择了 UTF-8 编码,而 javac 编译时采用的是操作系统默认编码 GBK,只要两边编码不一致,就会发生上述的【乱码】问题
解决方法1
保存文件时,选择编码为 ANSI(对于记事本程序 ANSI 其实就是 GBK)
解决方法2
文件保存时,编码仍然是 UTF-8 不变,编译时改用下面的命令明确告诉编译器,编译时别用默认的 GBK,改用 UTF-8

D:\>javac -encoding utf-8 Hello.java

注释

思考-为何需要字节码

Java做的就是加入了字节码这个中间环节,不管是在Linux下的编译还是在windows下的编译,生成的字节码是所有平台都通用的,你在windows平台生成的字节码在Linux平台一样用,反之亦然。可以看到

  1. 编译只需要一次,编译时间被节省了
  2. 程序员只需要工作在自己熟悉的平台上就可以了,做到了开发与部署环境的分离

这就是 java 所宣称的 write once run anywhere,编写一次,到处运行。

字节码虽然带来了这样一些便利,但大家思考一下,有什么问题吗?

对啦,问题就是字节码不是最终的机器码

  • 需要在每个平台上安装 jvm 虚拟机,负责把字节码解释为机器码
  • 另外因为引入了把字节码解释为机器码的步骤,性能上会有一定损失,当然 jvm 为了保证性能,内部会做很多优化,这等我们讲到 jvm 时,会有更深入的认识

IDE 工具

Eclipse,Vscode,IntelliJ IDEA
IntelliJ IDEA 的配置及使用(本教程使用 IntelliJ IDEA Community 2022.1)

意思是是否导入以前的设置(settings),因为我们是第一次安装,所以就选择默认的不导入设置



推荐安装翻译插件,方便阅读文档

创建新项目(Project)

在 IDEA 中【项目】和【模块】用来组织代码

  • 一个【项目】(Project)包含多个【模块】(Module)
  • 一个【模块】(Module)包含多个【源文件】

点击【新建项目】(New Project)后出现界面



建议都点一下

  • 前者能将 IntelliJ IDEA 的菜单中文化
  • 后者能加速 IDEA 的使用速度

21天Java开发速成篇-Java从入门到大师01快速入门相关推荐

  1. idea配置jfinal_intellij idea安装与配置(Java开发配置篇)

    一.maven配置 在configure->settings的搜索框中输入maven,然后入下图所示,修改maven主目录.maven配置文件.maven本地仓库地址 二.SVN设置 在搜索框中 ...

  2. Java开发知识之Java的异常处理

    Java开发知识之Java的异常处理 一丶异常概述 在讲解异常之前,我们要搞清楚.什么是异常. 通俗理解就是我们编写的程序出问题了.进行处理的一种手段. 比如我们的QQ.有的时候就崩溃了.比如出现xx ...

  3. JAVA基础再回首(一)——基本概念、JAVA开发工具、JAVA基本语法

    JAVA基础再回首(一)--基本概念.JAVA开发工具.JAVA基本语法 学了java,做了android应用开发,现在回想起来,真的是一路坎坷..我在上章博客中提到了我以后的几个学习计划和目标就是把 ...

  4. Java开发知识之Java面相对象

    Java开发知识之Java面相对象上 一丶什么是面相对象 了解什么什么是面相对象.那么首先要了解什么是面相过程. 面相过程的意思就是. 什么事情都亲力亲为. 比如上一讲的排序算法. 我们自己写的. 这 ...

  5. Java开发知识之Java中的集合上List接口以及子类讲解.

    Java开发知识之Java中的集合类 一丶什么是集合类 如果你学习说数据结构,那么学习集合就很简单. 因为集合就是存储数据的结构. 例如 有链表结构 (list ) 还有 map结构.等等. 集合类就 ...

  6. Java开发知识之Java的包装类

    Java开发知识之Java的包装类 一丶什么是包装类 包装类的意思就是对基本数据类型封装成一个类.这些类都是Number的子类.区别就是封装数据类型不同.包含的方法基本相同. 具体可以查询JAVA A ...

  7. java开发速成班培训课程(1)

    [url=http://www.buildapp.net/java/show.asp?id=12400]jsp不能显示中文?请帮忙解决一下 <font color=#96AA82>(悬赏: ...

  8. java开发速成班培训课程(6)

    [url=http://www.buildapp.net/java/show.asp?id=16800]SCJP考试经验总结 [/url] [url=http://www.buildapp.net/j ...

  9. Java开发环境!java基础知识点总结

    一面(个人感觉回答得还不错) 1. 自我介绍 2. 说项目,项目问的非常深(本人提到之前做过的一篇关于FULL GC的问题定位和优化的项目以及一个多并发的项目) 2.1 对于自己产于过项目的系统定位是 ...

最新文章

  1. 福利 | 如何创造可信的AI?人工智能大牛盖瑞·马库斯的11条建议
  2. 读淘宝商品描述页源码delphi版
  3. 第一节 HTML DOM
  4. ubuntu下vi/vim 的基本使用法
  5. JQuery 常用积累(六)ZTree
  6. java调用gbase存储过程,GBase 8T数据库存储过程使用出参示例
  7. 语义分割深度学习方法集锦
  8. tps 交易量_交易处理系统(TPS)
  9. 【HDU5299】Circles Game,圆的扫描线+树上删边游戏
  10. Mycat - 实现数据库的读写分离与高可用
  11. python库--Numpy and pandas
  12. DB2with的定义与用法
  13. 七种方法实现单例模式
  14. HttpClient Util 工具
  15. HTML:网页设计案例1
  16. VB6 Socket编程
  17. java题目——月供计算器
  18. 【python】把Excel中的数据在页面中可视化
  19. 如何在latex中用tikz画一把“圣剑“
  20. 记一次被QQ邮箱钓鱼邮件事件

热门文章

  1. Exception in thread main java.lang.NoSuchMethodError: scala.collection.immutable.HashSet$.empty()L
  2. html会员中心源码,响应式自适应手机端会员中心(两种编码)
  3. Mysql中主键和外键和索引
  4. 无中心道路30公路40,有中心道路50公路70,这个是公路
  5. 白中英计算机组成原理第五版视频,白中英《计算机组成原理》第5版考研教材及真题视频讲解...
  6. 中国质量认证中心CQC修订便携式电子设备用电池和电池组安全认证实施规则
  7. 交通灯c51汇编语言,单片机交通灯实验汇编语言程序
  8. 有源医疗器械的开发过程和各阶段的注意事项(九)——————设计验证阶段
  9. VC6下使用dbghelp及注意事项
  10. python大数据怎么样_java大数据与python大数据如何选择?