从零学Java,在这里记录一些意外或者之前没了解过的误区。
1.转义字符的使用,\t \n \\ \" \' \r 。
//转义字符的使用
public class changechar{
//main方法测试各种常用转义字符
public static void main(String[] argc){
// \t:制表符
System.out.println("一个制表符->\t<-长这样");
// \n:换行符
System.out.println("一个换行符->\n<-长这样");
// \\:一个\
System.out.println("一个\\->\\<-长这样");
// \":一个"
System.out.println("一个\"->\"<-长这样");
// \':一个'
System.out.println("一个\'->\'<-长这样");
// \r:一个回车(此处初学遇到不理解问题) 输出结果:<-长这样->
System.out.println("一个回车->\r<-长这样");
}
}
以上代码输出结果为:
一个制表符-> <-长这样
一个换行符->
<-长这样
一个\->\<-长这样
一个'->'<-长这样
<-长这样->
可以看到最后一行输出与我理解的"一个回车->\r<-长这样"不同。
原因为在控制台输出时:
1.先输出了"一个回车->"六个字符(由于中文占两个字节实际上是10个char类型数据)。
2.输出"\r"时,将光标移位到了"一"之前。
3.然后输出"<-长这样",五个字符(8个char型数据)取代了"一个回车"
4.所以看到结果为"<-长这样->"
2.文档注释
在写类头注释时,采用形如
/**
* 内容1
* 内容2
*/
形式来写,则可使用
javadoc -d 文件夹名 -xx -yy 文件名.java
命令生成默认代码文档。
3.vscode中代码文件中文编码不匹配导致的乱码问题。
vscode中默认使用cmd或pawershell终端输出,而这两种控制台都默认中文编码为gbk,在java规范中代码要求保存为utf-8编码格式,造成编码格式不统一导致输出乱码甚至编译报错的情况。使用code runner插件的话还会遇到插件本身输出窗口报错,乱码。
修改方式:
(1)右下角代码保存为utf-8编码格式
(2)powershell窗口执行指令
chcp 65001
修改控制台默认编码,此行为只对本次打开的控制台有效,关闭后再次打开默认编码还会恢复gbk(936)。
(3)更改code runner默认设置
打开code runner设置页面
勾选此条目
点击此条目的在settings.json中编辑
在java条目中添加如红框中语句
之后每次使用code runner执行,便可避免乱码问题。
4.dos系统
.\代指当前目录,..\代指上级目录,倒退两级进入另一目录可直接用
cd ..\..\a\b
切换到根目录
cd \
5.System.out.println()中'+'的使用
加号左右两边是数值类型的话做加法运算,左右其中一边是字符(串)类型时,做字符串拼接,生成一个新的字符串。