21天Java开发速成篇-Java从入门到大师01快速入门
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平台一样用,反之亦然。可以看到
- 编译只需要一次,编译时间被节省了
- 程序员只需要工作在自己熟悉的平台上就可以了,做到了开发与部署环境的分离
这就是 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快速入门相关推荐
- idea配置jfinal_intellij idea安装与配置(Java开发配置篇)
一.maven配置 在configure->settings的搜索框中输入maven,然后入下图所示,修改maven主目录.maven配置文件.maven本地仓库地址 二.SVN设置 在搜索框中 ...
- Java开发知识之Java的异常处理
Java开发知识之Java的异常处理 一丶异常概述 在讲解异常之前,我们要搞清楚.什么是异常. 通俗理解就是我们编写的程序出问题了.进行处理的一种手段. 比如我们的QQ.有的时候就崩溃了.比如出现xx ...
- JAVA基础再回首(一)——基本概念、JAVA开发工具、JAVA基本语法
JAVA基础再回首(一)--基本概念.JAVA开发工具.JAVA基本语法 学了java,做了android应用开发,现在回想起来,真的是一路坎坷..我在上章博客中提到了我以后的几个学习计划和目标就是把 ...
- Java开发知识之Java面相对象
Java开发知识之Java面相对象上 一丶什么是面相对象 了解什么什么是面相对象.那么首先要了解什么是面相过程. 面相过程的意思就是. 什么事情都亲力亲为. 比如上一讲的排序算法. 我们自己写的. 这 ...
- Java开发知识之Java中的集合上List接口以及子类讲解.
Java开发知识之Java中的集合类 一丶什么是集合类 如果你学习说数据结构,那么学习集合就很简单. 因为集合就是存储数据的结构. 例如 有链表结构 (list ) 还有 map结构.等等. 集合类就 ...
- Java开发知识之Java的包装类
Java开发知识之Java的包装类 一丶什么是包装类 包装类的意思就是对基本数据类型封装成一个类.这些类都是Number的子类.区别就是封装数据类型不同.包含的方法基本相同. 具体可以查询JAVA A ...
- java开发速成班培训课程(1)
[url=http://www.buildapp.net/java/show.asp?id=12400]jsp不能显示中文?请帮忙解决一下 <font color=#96AA82>(悬赏: ...
- java开发速成班培训课程(6)
[url=http://www.buildapp.net/java/show.asp?id=16800]SCJP考试经验总结 [/url] [url=http://www.buildapp.net/j ...
- Java开发环境!java基础知识点总结
一面(个人感觉回答得还不错) 1. 自我介绍 2. 说项目,项目问的非常深(本人提到之前做过的一篇关于FULL GC的问题定位和优化的项目以及一个多并发的项目) 2.1 对于自己产于过项目的系统定位是 ...
最新文章
- 福利 | 如何创造可信的AI?人工智能大牛盖瑞·马库斯的11条建议
- 读淘宝商品描述页源码delphi版
- 第一节 HTML DOM
- ubuntu下vi/vim 的基本使用法
- JQuery 常用积累(六)ZTree
- java调用gbase存储过程,GBase 8T数据库存储过程使用出参示例
- 语义分割深度学习方法集锦
- tps 交易量_交易处理系统(TPS)
- 【HDU5299】Circles Game,圆的扫描线+树上删边游戏
- Mycat - 实现数据库的读写分离与高可用
- python库--Numpy and pandas
- DB2with的定义与用法
- 七种方法实现单例模式
- HttpClient Util 工具
- HTML:网页设计案例1
- VB6 Socket编程
- java题目——月供计算器
- 【python】把Excel中的数据在页面中可视化
- 如何在latex中用tikz画一把“圣剑“
- 记一次被QQ邮箱钓鱼邮件事件
热门文章
- Exception in thread main java.lang.NoSuchMethodError: scala.collection.immutable.HashSet$.empty()L
- html会员中心源码,响应式自适应手机端会员中心(两种编码)
- Mysql中主键和外键和索引
- 无中心道路30公路40,有中心道路50公路70,这个是公路
- 白中英计算机组成原理第五版视频,白中英《计算机组成原理》第5版考研教材及真题视频讲解...
- 中国质量认证中心CQC修订便携式电子设备用电池和电池组安全认证实施规则
- 交通灯c51汇编语言,单片机交通灯实验汇编语言程序
- 有源医疗器械的开发过程和各阶段的注意事项(九)——————设计验证阶段
- VC6下使用dbghelp及注意事项
- python大数据怎么样_java大数据与python大数据如何选择?