JAVA环境配置与文件编译

在没有配置环境的情况下,输入java有回应,但是java -version和javac就没有回应。
配置JAVA_HOME并在此基础上配好相对路径的PATH以后,java -version有回应,javac依旧没有回应。
WIN10的PATH变量,要用jdk的绝对路径,而不能用%JAVA_HOME%的相对路径,计算机识别不了。


//注释符号是双斜线
//功能:在控制台显示“Hello, world!”


//public: 表示这个类是公共的,一个Java文件重只能有一个public类
//class : 表示这是一个类
//Hello : 类名(公共类的类名必须和文件名一致)
public class Hello
{
    //一个主函数相当于程序入口
    public static void main(String args[])
    {
        //执行语句
        System.out.println("hello!");
    }
    
}

这段代码在控制台输入javac Hello.java以后,会报错:

Hello.java:2: 错误: 编码GBK的不可映射字符

这是因为文件保存的时候编码是utf-8编码,而javac指令的默认理解方式是所以在编译之前我们要先设置文件的编码:

javac -encoding utf-8 xxx.java

中文的注释在Java语法中不起作用,但在编译Java源文件的时候,却不会因此而跳过中文字符,因此要明确文件的编码格式,尝试将源文件另存为ANSI格式。

ANSI码 ANSI编码是一种对ASCII码的拓展:ANSI编码用0x00~0x7f (即十进制下的0到127)范围的1 个字节来表示 1
个英文字符,超出一个字节的 0x80~0xFFFF
范围来表示其他语言的其他字符。也就是说,ANSI码仅在前128(0-127)个与ASCII码相同,之后的字符全是某个国家语言的所有字符。值得注意的是,两个字节最多可以存储的字符数目是2的16次方,即65536个字符,这对于一个语言的字符来说,绝对够了。还有ANSI编码其实包括很多编码:中国制定了GB2312编码,用来把中文编进去另外,日本把日文编到Shift_JIS里,韩国把韩文编到Euc-kr里,各国有各国的标准。受制于当时的条件,不同语言之间的ANSI码之间不能互相转换,这就会导致在多语言混合的文本中会有乱码。

保存为ANSI编码
直接运行
编码格式为ANSI,对于中国地区来说,即对应为GBK编码,所以javac指令在默认采用GBK识别的时候就相互吻合了。

在打开记事本文件进行代码输入的时候,可以保证的是代码在显示上和我们要的是一致的;但是内存中的二进制编码格式还没有明确指定,可能是按照A编码约定存储的,在保存的时候可以指定为某种特定编码格式B,基于显示的语句序列不改变的前提,在底层做两种编码之间的转换;最终以B编码的格式将我们需要的代码以二进制序列写入存储器,成为拥有特定编码格式的文件。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值