热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

最简单的Java程序编译

这是一个最最简单的HelloWorld程序,但是如果你在Windows英文版情况下就会出乱码。//文件名保存UTF-8publicclassHelloWorl

这是一个最最简单的Hello World 程序,但是如果你在Windows 英文版情况下就会出乱码。

//文件名保存UTF-8
public class HelloWorld{
public static void main(String[] args){
System.out.println("欢迎大家学习Java");
}

}

 

C:\>java HelloWorld
欢�大家学习Java

  

这个很简单吧,主要是console的 code page 不对,还有没有中文字体对吧。 

 

 最简单的Java程序编译 - 文章图片    最简单的Java程序编译 - 文章图片

 

 

C:\>chcp 65001
Active code page: 65001
C:\>java HelloWorld
欢迎大家学习Java

  

妥了。 

再来做个实验,这个又是何故呢?

 

C:\>javac -encoding utf-8 HelloWorld.java
C:\>java HelloWorld
??????Java
C:\>java -Dfile.encoding=utf-8 HelloWorld
欢迎大家学习Java

  再来一段

//测试
import java.nio.charset.Charset;
import java.io.InputStreamReader;
import java.io.FileInputStream;
public class PrintCharSets {
public static void main(String[] args) throws Exception {System.out.println("file.encoding=" + System.getProperty("file.encoding"));System.out.println("Charset.defaultCharset=" + Charset.defaultCharset());System.out.println("InputStreamReader.getEncoding=" + new InputStreamReader(new FileInputStream("./PrintCharSets.java")).getEncoding());
System.out.println("InputStreamReader.getEncoding=" + new InputStreamReader(new FileInputStream("./PrintCharSets.class")).getEncoding());
System.out.println("欢迎大家学习Java");
}
}

  

 

C:\>javac PrintCharSets.java
C:\>java PrintCharSets
file.encoding=Cp1252
Charset.defaultCharset=windows-1252
InputStreamReader.getEncoding=Cp1252
InputStreamReader.getEncoding=Cp1252
欢迎大家学习Java
C:\>java -Dfile.encoding=utf-8 PrintCharSets
file.encoding=utf-8
Charset.defaultCharset=UTF-8
InputStreamReader.getEncoding=UTF8
InputStreamReader.getEncoding=UTF8
欢�大家学习Java
C:\>javac -encoding utf-8 PrintCharSets.java
C:\>java PrintCharSets
file.encoding=Cp1252
Charset.defaultCharset=windows-1252
InputStreamReader.getEncoding=Cp1252
InputStreamReader.getEncoding=Cp1252
??????Java
C:\>java -Dfile.encoding=utf-8 PrintCharSets
file.encoding=utf-8
Charset.defaultCharset=UTF-8
InputStreamReader.getEncoding=UTF8
InputStreamReader.getEncoding=UTF8
欢迎大家学习Java

  

 好吧。就先不去想了。等过一阵,再来看,继续学习Java。

 

 

reference: 

https://www.zhihu.com/question/348139746/answer/838176150


推荐阅读
  • 本文介绍了JSP的基本概念、常用标签及其功能,并通过示例详细说明了如何在JSP页面中使用Java代码。 ... [详细]
  • 本文介绍了如何使用Java编程语言实现凯撒密码的加密与解密功能。凯撒密码是一种替换式密码,通过将字母表中的每个字母向前或向后移动固定数量的位置来实现加密。 ... [详细]
  • 本文详细介绍了使用Java语言来测量程序运行时间的方法,包括代码示例和实现步骤,旨在帮助开发者更好地理解和应用时间测量技术。 ... [详细]
  • BeautifulSoup4 是一个功能强大的HTML和XML解析库,它能够帮助开发者轻松地从网页中提取信息。本文将介绍BeautifulSoup4的基本功能、安装方法、与其他解析工具的对比以及简单的使用示例。 ... [详细]
  • 本文探讨了 Boost 库中的 Program Options 组件,这是一个强大的工具,用于解析命令行参数和配置文件。文章介绍了如何正确设置和使用该组件,包括处理复杂选项和负数值的方法。 ... [详细]
  • 深入理解Java反射机制
    本文将详细介绍Java反射的基础知识,包括如何获取Class对象、反射的基本过程、构造器、字段和方法的反射操作,以及内省机制的应用。同时,通过实例代码加深对反射的理解,并探讨其在实际开发中的应用。 ... [详细]
  • 本文详细解析了Java中流的概念,特别是OutputStream和InputStream的区别,并通过实际案例介绍了如何实现Java对象的序列化。文章不仅解释了流的基本概念,还探讨了序列化的重要性和具体实现步骤。 ... [详细]
  • 本文介绍了如何在Windows操作系统中安装FFTW库,并详细说明了使用Visual Studio 2010进行4096点快速傅里叶变换(FFT)的步骤。包括下载预编译文件、生成库文件以及配置环境等关键环节。 ... [详细]
  • 本文详细介绍了在 Windows 7 上安装和配置 PHP 5.4 的 Memcached 分布式缓存系统的方法,旨在减少数据库的频繁访问,提高应用程序的响应速度。 ... [详细]
  • javascript——对象的概念——函数 1 (函数对象的属性和方法)
    一、创建函数函数是一种对象:Function类是对象,可以通过Function实例化一个函数,不过最多的还是利用function来创建函数。方式一:利用Function类来实例化函 ... [详细]
  • 深入解析JavaScript中的this关键字
    本文详细探讨了JavaScript中this关键字的具体指向及其在不同场景下的应用,通过实例和图表帮助读者更好地理解和掌握这一核心概念。 ... [详细]
  • 本文详细介绍了如何在本地环境中安装配置Frida及其服务器组件,以及如何通过Frida进行基本的应用程序动态分析,包括获取应用版本和加载的类信息。 ... [详细]
  • Java中List的forEach方法与字符串拼接的兼容性问题
    本文深入探讨了在Java中使用List的forEach方法时遇到的字符串拼接问题,提供了有效的解决方案及背后的原理分析,旨在帮助开发者更好地理解和解决此类问题。 ... [详细]
  • 本文详细探讨了在Web开发中常见的UTF-8编码问题及其解决方案,包括HTML页面、PHP脚本、MySQL数据库以及JavaScript和Flash应用中的乱码问题。 ... [详细]
  • 本文探讨了如何选择一个合适的序列化版本ID(serialVersionUID),包括使用生成器还是简单的整数,以及在不同情况下应如何处理序列化版本ID。 ... [详细]
author-avatar
Mr-o蛋挞
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有