01.windows下JDK安装配置

1.打开http://www.oracle.com网站,找到下载处,选择版本下载

下载后的JDK安装包:

点击安装JDK,记住默认或定义的安装的路径(用于等下配置环境):

2.配置环境变量:

2.1先找到window配置环境变量处

2.2开始配置环境

3.测试环境变量是否配置好(win+R并输入cmd打开)

输入java和javac,看是否有对应的帮助提示,若是在之前打开的窗口输入还是错误,则关闭窗口重新输入或小等一会(具体原理我也不清楚,了解一下windows系统原理?),若还是提示没有此命令则是环境配置错误或版本下载错误

4.可以自己尝试一下编译一下HelloWorld

4.1新建txt,写上以下代码

4.2另存为java文件,注意编码,否则运行时就要指定编码,默认是同本机编码一致

这里的编码要注意一下

(1.如果直接那eclipse下的java文件等下去编译的话等下会报编码错误的,因为开发时eclipse环境下一般设置utf-8。简单的解决方法就是记事本方式打开后另存为和系统默认的编码一致。cmd解决方式就是javac -encoding utf-8 HelloWorld.java

2.关于用windows自带的编辑器另存为utf-8格式的文本,在编译.java文件时,会出现非法字符:'\ufeff',这个是关于windows保存utf-8的时候添加的叫字节顺序的一个东西)

4.3编译并且运行class文件。

跳转至java文件对应的目录(可以在文件夹对应目录,直接按住shift右键打开cmd)

查看文件夹,看看是否有没有生成编译好的.class文件

在cmd里面使用命令执行该.class看是否打印出我们要的内容(输出的内容回看第4点),注意执行命令不要加.class(java HelloWorld.class),不然会报错误:找不到或无法加载主类HelloWorld.class

成功!!!

编译错误可能:

文件名和代码的名称不一致

https://www.cnblogs.com/chongzi1990/p/8694883.html

关于 \ufeff 的一些资料(引自维基百科):

字节顺序标记(英语:byte-order mark,BOM)是位于码点U+FEFF的统一码字符的名称。当以UTF-16或UTF-32来将UCS/统一码字符所组成的字符串编码时,这个字符被用来标示其字节序。它常被用来当做标示文件是以UTF-8、UTF-16或UTF-32编码的记号。

  字符U+FEFF如果出现在字节流的开头,则用来标识该字节流的字节序,是高位在前还是低位在前。如果它出现在字节流的中间,则表达零宽度非换行空格的意义,用户看起来就是一个空格。从Unicode3.2开始,U+FEFF只能出现在字节流的开头,只能用于标识字节序,就如它的名称——字节序标记——所表示的一样;除此以外的用法已被舍弃。取而代之的是,使用U+2060来表达零宽度无断空白。

在UTF-16中,字节顺序标记被放置为文件或字符串流的第一个字符,以标示在此文件或字符串流中,以所有十六比特为单位的字码的尾序(字节顺序)。

  1. 如果十六比特单位被表示成大尾序,这字节顺序标记字符在序列中将呈现0xFE,其后跟着0xFF(其中的0x用来标示十六进制)。
  2. 如果十六比特单位使用小尾序,这个字节序列为0xFF,其后接着0xFE。

而统一码中,值为U+FFFE的码位被保证将不会被指定成一个统一码字符。这意味着0xFF、0xFE将只能被解释成小尾序中的U+FEFF(因为不可能是大尾序中的U+FFFE)。

UTF-8则没有字节顺序的议题。UTF-8编码过的字节顺序标记则被用来标示它是UTF-8的文件。它只用来标示一个UTF-8的文件,而不用来说明字节顺序。[1]许多视窗程序(包含记事本)会添加字节顺序标记到UTF-8文件。然而,在类Unix系统(大量使用文本文件,用于文件格式,用于进程间通信)中,这种做法则不被建议采用。因为它会妨碍到如解译器脚本开头的Shebang等的一些重要的码的正确处理。它亦会影响到无法识别它的编程语言。如gcc会报告源码档开头有无法识别的字符。而在PHP中,如果没有激活输出缓冲(output buffering),它会使得页面内容开始被送往浏览器(即:用户头文件已被提交),这使PHP脚本无法指定用户头文件(HTTP Header)。字节顺序标记在UTF-8中被表示为序列EF BB BF,对大部分未准备好处理UTF-8的文本编辑器及网页浏览器而言,在ISO-8859-1的环境中则会显示。

虽然字节顺序标记亦可以用于UTF-32,但这个编码很少用于传输,其规则如同UTF-16。对于已于IANA注册的字符集UTF-16BE、UTF-16LE、UTF-32BE和UTF-32LE等来说,不可使用字节顺序标记。文档开头的U+FEFF会被解释成一个(已舍弃的)"零宽度无断空白",因为这些字符集的名字已决定了其字节顺序。对于已注册字符集UTF-16和UTF-32来说,一个开头的U+FEFF则用来表示字节顺序。

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值