java代码中文编译错误 java编译不了中文

java语言中什么叫做编译错误就是你用javac命令将源代码(.java)文件翻译成字节码(.class)文件时产生的错误 。
比如,变量名不符合规定 , 变量没定义,关键字拼写错误等等 。。。
java的编译器(javac)会根据java语法规定做一些检查,不符合规定的就不通过编译 。
编译错误,是相对于运行时错误而言的 。
运行时错误,是你用java命令运行时会出现的错误,一般会抛出异常 。
Java编译错误:找不到符号说明代码中有中文字符,或者是括号不是对称的导致的,可以参考下以下入门代码:
// 一个文件中只能有一个共有的类,并且与文件名称一致 , 大小写注意
public class HelloWorld{
// 程序的入口
public static void main(String args[]){
// 向控制台输出信息
System.out.println("欢迎java01班的同学");
}
}
如何解决java编译时编码问题造成的错误Java源码文件这些文件可以是任意字符编码的 , 在Java的Class文件里存储的字符串是UTF-8编码的 , 所以如果在代码中有中文字符的话,就会导致乱码 。当然,这只是众多原因中的一种,所以把编码设置统一是避免出现乱码的解决办法 。
工具:
eclipse
方法如下:
点击window--Preferences
选择General--WorkSpace , 选择Default(GBK)即可
附:也可以选择Other , 从Other中选择程序需要的编码格式 。
notepadjava编码,输出中文字符时,编译出错 , 如图,由于JDK是国际版的,在编译的时候,如果我们没有用 -encoding
参数指定我们的JAVA源程序的编码格式,则javac.exe首先获得我们操作系统默认采用的编码格式,也即在编译java程序时 , 若我们不指定源程序文件的编码格式,JDK首先获得操作系统的file.encoding参数(它保存的就是操作系统默认的编码格式 , 如WIN2k,WIN7,它的值为GBK),然后JDK就把我们的java源程序从file.encoding编码格式转化为JAVA内部默认的UNICODE格式放入内存中 。然后,javac把转换后的unicode格式的文件进行编译成.class类文件,此时.class文件是UNICODE编码的 , 它暂放在内存中,紧接着,JDK将此以UNICODE编码的编译后的class文件保存到我们的操作系统中形成我们见到的.class文件 。对我们来说 , 我们最终获得的.class文件是内容以UNICODE编码格式保存的类文件 , 它内部包含我们源程序中的中文字符串,只不过此时它己经由file.encoding格式转化为UNICODE格式了 。当我们不加设置就编译时,相当于使用了参数:javac
-encoding gbk XX.java , 当然就会出现不兼容的情况 。
解决办法是:应该使用-encoding参数指明编码方式:javac -encoding UTF-8 XX.java
获取系统默认编码:
System.out.println("Default Charset="Charset.defaultCharset());System.out.println("file.encoding="System.getProperty("file.encoding"));System.out.println("Default Charset in Use="FileTools.getDefaultCharSet());public static String getDefaultCharSet() {OutputStreamWriter writer = new OutputStreamWriter(new ByteArrayOutputStream());String enc = writer.getEncoding();try {writer.close(); } catch (IOException e) {e.printStackTrace();}return enc;}
使用的时候最好是统一的格式,比如java文件保存格式也同样为 UTF-8 格式的
在命令行的中使用时先设置一个java变量
set JAVA_TOOL_OPTIONS=-Dfile.encoding=utf-8 -Duser.language=en -Duser.country=US
通过命令行对JAVA文件进行编译
javac -d ../*.java
这样生成出来的.CLASS文件格式也同样为 UTF-8 编码的
同样在执行java或者jar包前,要设置一个临时的或者永久的变量
set JAVA_TOOL_OPTIONS=-Dfile.encoding=utf-8 -Duser.language=en -Duser.country=US
这样才可以保证你的程序在运行java时,使用的是UTF-8编码格式
java编译中总是显示中文的地方错误,文本格式是ANSI格式,不知道为啥?你初始化对象的方法写错了,构造方法里面只有一个参数name,你直接写字符串的值就行,不需要将参数名也写进去
【java代码中文编译错误 java编译不了中文】java代码中文编译错误的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于java编译不了中文、java代码中文编译错误的信息别忘了在本站进行查找喔 。

    推荐阅读