java学习day1
一、常用的DOS命令
1.打开cmd
窗口键+r --> 输入cmd --> 确认
2.常用的dos命令
dir:列出当前目录下的所有文件及文件夹
md:创建一个新的目录
rd:删除目录
cd:进入指定目录
cd..:退回到上一级目录
cd\:退回到根目录
del:删除文件但不删除目录
exit:退出DOS命令行
二、Java语言的运行机制
Java语言的特点:
1.面向对象
两个基本概念:类、对象
三大特性:封装、继承、多态
2.健壮性 完善性
强交互语言
3.跨平台性
jvm
4.两种核心机制
Java虚拟机(Java Virtal Machine) JVM
垃圾回收装置(Garbage Collection) GC
三、Java语言的环境搭建
1.下载安装JDK
官方网址:https://www.oracle.com/technetwork/java/javase/downloads/index.html
Oracle账号:2696671285@qq.com password:Oracle123

2.配置环境变量
1.设置JAVA_HOME
解压jdk的目录
2.设置CLASSPATH
.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar
3.在path中加入两个新的配置
%JAVA_HOME%\bin
%JAVA_HOME%\jre\bin

3.验证是否安装成功
打开cmd,使用java -version查看版本号

四、Hello World!
1.将java代码编写到扩展名为.java的文件中
public class HelloWorld {
public static void main(String[] args) {
System.out.println("Hello World");
}
}
2.通过DOS命令的javac命令对该文件进行编译(此处遇到错误1)

3.通过Java命令对生成的class文件进行运行

五、注释
单行注释 //
多行注释 /**/
文档注释 /***注释*/
小结
1.在创建java文件时,文件名需与类名一致。
2.public static void main为固定格式,main 是一个程序的入口,一个 java 程序运行必须而且有且仅有一个 main 方法。
问题:在用javac编译时遇到错误1,具体如图

自己编写hello world时,出现错误1,使用网上的代码复制粘贴时则可以正常编译。之后删除原来的HelloWorld.java后,重新新建一个,并以ANSI编码格式保存,则没有出现此问题。
通过其他博客得知,此问题的出现主要是因为在编写程序时使用了UTF-8编码格式,此格式会出现BOM头的问题(原本默认的txt编码格式应该是ANSI)。
关于文件 BOM 头的问题
当使用类似 WINDOWS 自带的记事本等软件,在保存一个以UTF-8编码的文件时,会在文件开始的地方插入三个不可见的字符(0xEF 0xBB 0xBF,即BOM)。它是一串隐藏的字符,用于让记事本等编辑器识别这个文件是否以UTF-8编码。但是java源代码中不可以由BOM,javac无法识别,会出现乱码。
//BOM(byte-order mark),即字节顺序标记,它是插入到以UTF-8、UTF16或UTF-32编码Unicode文件开头的特殊标记,用来识别Unicode文件的编码类型。对于UTF-8来说,BOM并不是必须的,因为BOM用来标记多字节编码文件的编码类型和字节顺序(big-endian或little-endian)。在绝大多数编辑器中都看不到BOM字符,因为它们能理解Unicode,去掉了读取器看不到的题头信息。若要查看某个Unicode文件是否以BOM开头,可以使用十六进制编辑器。
参考资料来源: https://blog.csdn.net/AITECH/article/details/79981091
https://blog.csdn.net/a66731167/article/details/81286537
java学习day1的更多相关文章
- day1:java学习第一天之eclipse安装
选择开发语言的学习其实不用纠结,如果你说自己是做开发的,连最流行的开发语言都不会,好像说不过去,并且最流行也说明用的人多,优秀的人也会,自己要提高要多向优秀的人学习.想明白这点其实选择就好说了,再一个 ...
- 0037 Java学习笔记-多线程-同步代码块、同步方法、同步锁
什么是同步 在上一篇0036 Java学习笔记-多线程-创建线程的三种方式示例代码中,实现Runnable创建多条线程,输出中的结果中会有错误,比如一张票卖了两次,有的票没卖的情况,因为线程对象被多条 ...
- 0035 Java学习笔记-注解
什么是注解 注解可以看作类的第6大要素(成员变量.构造器.方法.代码块.内部类) 注解有点像修饰符,可以修饰一些程序要素:类.接口.变量.方法.局部变量等等 注解要和对应的配套工具(APT:Annot ...
- 分享篇——我的Java学习路线
虽然之前我是开发出身,但是我学习的语言是Objective-c,这个语言使用起来范围比较窄,对于自动化学习来说也是无用武之地,所以我自己学习了Java,对于一个有开发经验的人来说学习一门新语言相对来说 ...
- Java学习笔记(04)
Java学习笔记(04) 如有不对或不足的地方,请给出建议,谢谢! 一.对象 面向对象的核心:找合适的对象做合适的事情 面向对象的编程思想:尽可能的用计算机语言来描述现实生活中的事物 面向对象:侧重于 ...
- Java学习心得之 HttpClient的GET和POST请求
作者:枫雪庭 出处:http://www.cnblogs.com/FengXueTing-px/ 欢迎转载 Java学习心得之 HttpClient的GET和POST请求 1. 前言2. GET请求3 ...
- 0032 Java学习笔记-类加载机制-初步
JVM虚拟机 Java虚拟机有自己完善的硬件架构(处理器.堆栈.寄存器等)和指令系统 Java虚拟机是一种能运行Java bytecode的虚拟机 JVM并非专属于Java语言,只要生成的编译文件能匹 ...
- 0030 Java学习笔记-面向对象-垃圾回收、(强、软、弱、虚)引用
垃圾回收特点 垃圾:程序运行过程中,会为对象.数组等分配内存,运行过程中或结束后,这些对象可能就没用了,没有变量再指向它们,这时候,它们就成了垃圾,等着垃圾回收程序的回收再利用 Java的垃圾回收机制 ...
- 0028 Java学习笔记-面向对象-Lambda表达式
匿名内部类与Lambda表达式示例 下面代码来源于:0027 Java学习笔记-面向对象-(非静态.静态.局部.匿名)内部类 package testpack; public class Test1{ ...
随机推荐
- 基于Ubuntu 搭建 WordPress 个人博客 - 开发者实验室 - 腾讯云
1.准备 LAMP 环境 安装 Apache2 在终端输入该命令 ,使用 apt-get 安装 Apache2: sudo apt-get install apache2 -y 安装好后,您可以通过访 ...
- 【mysql】全文索引match多列报错
表结构如下: CREATE TABLE `T` ( .... FULLTEXT KEY `title_fc` (`titleindex`), FULLTEXT KEY `shortname_fc` ( ...
- 对云信SDK的研究1
1.云信大部分用了jq 2.很多接口 3.是可以文档很健全
- git的用法的总结
git的基本用法(一) 1).git的初始化 --配置用户名和邮箱 不然后面无法提交 git config --global user.name "myname"; git con ...
- python Tkinter 编程
Tkinter 是 Python 的标准 GUI 库.Python 使用 Tkinter 可以快速的创建 GUI 应用程序. 由于 Tkinter 是内置到 python 的安装包中.只要安装好 Py ...
- BZOJ 1901 洛谷 P2617 ZOJ 2112 Dynamic Rankings
以下时空限制来自zoj Time limit 10000 ms Memory limit 32768 kB OS Linux Source Online Contest of Christopher' ...
- 《Effective Java》读书笔记 - 5.泛型
Chapter 5 Generics Item 23: Don't use raw types in new code 虽然你可以把一个List<String>传给一个List类型(raw ...
- Oracle诊断:drop table失败[转]
转: From <http://blog.csdn.net/cyxlxp8411/article/details/7775113> 今天在drop一张表的时候报ORA-00054错误 SQ ...
- vue simple框架打包遇到报错问题
问题描述:之前一个项目使用vue-simple框架 打包时老是报错 :原因是es6转化es5时候有错误: 解决: alias: { 'vue$': 'vue/dist/vue.esm.js', // ...
- Oracle JET mobile 入门使用
Oracle JET 框架能开发 window, Android, ios 的 WebApp .主要使用 Codova 来进行开发. 简单使用 Oracle JET 开发 Android webapp ...