通过这篇文章,你将学会:
基础数据类型与对象的区别
如何处理字符串编码
正确编写java文档注释
![入门Java必须要掌握的基本数据类型,小白必看! 入门Java必须要掌握的基本数据类型,小白必看!](https://image.shishitao.com:8440/aHR0cHM6Ly9zMi41MWN0by5jb20vaW1hZ2VzL2Jsb2cvMjAyMzAzLzE2MTUyMDU1XzY0MTJjMzU3NzJlNGY3MDE1My5qcGc%3D.jpg?w=700&webp=1)
基础数据类型与对象的区别
public class HelloWorld {
public static int i = 0;
}
这里我定义了一个全局变量i,并赋值为0,我将在下面的主函数里用到它:
public static void main(String []args) {
i = 10;
int j = 10;
System.out.println(i==j);
}
因为我以及定义 i 为全局变量了,所以第一行便不需要再定义数据类型了,直接赋值就好;而 j 是属于主函数里的新变量,因此需要给它一个数据类型,这里我们把它设置为整型int,并且把它和 i 赋一样的值10,我们来比较一下 i 和 j 的区别:
![入门Java必须要掌握的基本数据类型,小白必看! 入门Java必须要掌握的基本数据类型,小白必看!](https://image.shishitao.com:8440/aHR0cHM6Ly9zMi41MWN0by5jb20vaW1hZ2VzL2Jsb2cvMjAyMzAzLzE2MTUyMDU1XzY0MTJjMzU3YWFlOTk1NDIwNS5wbmc%3D.png?w=700&webp=1)
不用想,大家都应该知道, i 和 j 的值相同,因此返回的是True,那么,现在现在我们把 i 实例化:
public static void main(String []args) {
i = 10;
int j = 10;
System.out.println(i==j);
Integer i1 = new Integer(i);
Integer i2 = new Integer(i);
System.out.println(i1);
System.out.println(i2);
System.out.println(i1==i2);
}
现在的 i1 和 i2 还会相等吗?
![入门Java必须要掌握的基本数据类型,小白必看! 入门Java必须要掌握的基本数据类型,小白必看!](https://image.shishitao.com:8440/aHR0cHM6Ly9zMi41MWN0by5jb20vaW1hZ2VzL2Jsb2cvMjAyMzAzLzE2MTUyMDU1XzY0MTJjMzU3YzE1M2U3NjExOS5wbmc%3D.png?w=700&webp=1)
值是相同的,但是为什么不相同呢?我们来debug一下:
![入门Java必须要掌握的基本数据类型,小白必看! 入门Java必须要掌握的基本数据类型,小白必看!](https://image.shishitao.com:8440/aHR0cHM6Ly9zMi41MWN0by5jb20vaW1hZ2VzL2Jsb2cvMjAyMzAzLzE2MTUyMDU1XzY0MTJjMzU3ZGE5OWI1NTU3MC5wbmc%3D.png?w=700&webp=1)
可以发现,值确实是相同的,但是这是两个对象,内存地址不同,因此判断为False因此说,两个基本数据类型的值相同时,指向的是同一个内存地址;而两个对象即使值相同,却是两个不同的东西。再来看个例子加深印象:
![入门Java必须要掌握的基本数据类型,小白必看! 入门Java必须要掌握的基本数据类型,小白必看!](https://image.shishitao.com:8440/aHR0cHM6Ly9zMi41MWN0by5jb20vaW1hZ2VzL2Jsb2cvMjAyMzAzLzE2MTUyMDU1XzY0MTJjMzU3ZjMwMGUzNDk3MS5wbmc%3D.png?w=700&webp=1)
如何处理字符串编码
String str = "淘宝网https://mdskip.taobao.com/core/initItemDetail/id=0";
这里我们定义一串字符串,里面有中文,字母以及特殊字符,其实就是在一个网址前加了一个中文,下面我们把它转成unicode:
public static String unicode(String source) {
StringBuffer sb = new StringBuffer();
char[] source_char = source.toCharArray();
String unicode = null;
for (i = 0; i < source_char.length; i++) {
unicode = Integer.toHexString(source_char[i]);
if (unicode.length() <= 2) {
unicode = "00" + unicode;
}
sb.append("\\u" + unicode);
}
//System.out.println(sb);
return sb.toString();
}
![入门Java必须要掌握的基本数据类型,小白必看! 入门Java必须要掌握的基本数据类型,小白必看!](https://image.shishitao.com:8440/aHR0cHM6Ly9zMi41MWN0by5jb20vaW1hZ2VzL2Jsb2cvMjAyMzAzLzE2MTUyMDU2XzY0MTJjMzU4MWY2Yzk5NzI2NC5wbmc%3D.png?w=700&webp=1)
再来个解码:
private static String decodeUnicode(String unicode) {
// TODO Auto-generated method stub
StringBuffer sb = new StringBuffer();
String[] hex = unicode.split("\\\\u");
for (i = 1; i < hex.length; i++) {
int data = Integer.parseInt(hex[i], 16);
sb.append((char) data);
}
return sb.toString();
}
![入门Java必须要掌握的基本数据类型,小白必看! 入门Java必须要掌握的基本数据类型,小白必看!](https://image.shishitao.com:8440/aHR0cHM6Ly9zMi41MWN0by5jb20vaW1hZ2VzL2Jsb2cvMjAyMzAzLzE2MTUyMDU2XzY0MTJjMzU4MzUxYzY4OTUwMS5wbmc%3D.png?w=700&webp=1)
但是这种方式过于麻烦,我们来看看简单的方式:
import java.io.UnsupportedEncodingException;
public static void main(String []args) {
String str = "淘宝网https://mdskip.taobao.com/core/initItemDetail/id=0";
try {
String str2 = new String(str.getBytes("gbk"), "utf-8");
System.out.println("utf-8:" + str2);
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
}
(UTF-8编码)
![入门Java必须要掌握的基本数据类型,小白必看! 入门Java必须要掌握的基本数据类型,小白必看!](https://image.shishitao.com:8440/aHR0cHM6Ly9zMi41MWN0by5jb20vaW1hZ2VzL2Jsb2cvMjAyMzAzLzE2MTUyMDU2XzY0MTJjMzU4NGFlMzU4Njc1Ni5wbmc%3D.png?w=700&webp=1)
用内置的getBytes()函数即可搞定编码问题
那如果要对字符串拆分,怎么解决呢?别担心,split()函数帮你搞定:
import java.io.UnsupportedEncodingException;
public static void main(String []args) {
String str = "淘宝网https://mdskip.taobao.com/core/initItemDetail/id=0";
String[] str1 = str.split("\\//|\\/");
for (i = 0; i < str1.length; i++) {
System.out.println("str[" + i + "]=" + str1[i]);
}
}
![入门Java必须要掌握的基本数据类型,小白必看! 入门Java必须要掌握的基本数据类型,小白必看!](https://image.shishitao.com:8440/aHR0cHM6Ly9zMi41MWN0by5jb20vaW1hZ2VzL2Jsb2cvMjAyMzAzLzE2MTUyMDU2XzY0MTJjMzU4NjhiNTY2MDUwLnBuZw%3D%3D.png?w=700&webp=1)
在分割时有优先级,千万不要搞错了,不然就会出现这样的结果(仔细观察):
![入门Java必须要掌握的基本数据类型,小白必看! 入门Java必须要掌握的基本数据类型,小白必看!](https://image.shishitao.com:8440/aHR0cHM6Ly9zMi41MWN0by5jb20vaW1hZ2VzL2Jsb2cvMjAyMzAzLzE2MTUyMDU2XzY0MTJjMzU4N2U5ZWE5NTY1LnBuZw%3D%3D.png?w=700&webp=1)
正确编写java文档注释
Java 支持三种注释方式。前两种分别是 // 和 / * * /,第三种被称作说明注释,它以 /** 开始,以 */结束:
//Java basic data type introduction syntax demonstration
/*@author 郑博培*/
/**
*@version 2020-03-10
*/
说明注释允许你在程序中嵌入关于程序的信息。你可以使用 javadoc 工具软件来生成信息,并输出到HTML文件中:
![入门Java必须要掌握的基本数据类型,小白必看! 入门Java必须要掌握的基本数据类型,小白必看!](https://image.shishitao.com:8440/aHR0cHM6Ly9zMi41MWN0by5jb20vaW1hZ2VzL2Jsb2cvMjAyMzAzLzE2MTUyMDU2XzY0MTJjMzU4OTUxYzQ2MzYxOS5wbmc%3D.png?w=700&webp=1)
![入门Java必须要掌握的基本数据类型,小白必看! 入门Java必须要掌握的基本数据类型,小白必看!](https://image.shishitao.com:8440/aHR0cHM6Ly9zMi41MWN0by5jb20vaW1hZ2VzL2Jsb2cvMjAyMzAzLzE2MTUyMDU2XzY0MTJjMzU4YWY5ODE2MDI3Ni5wbmc%3D.png?w=700&webp=1)
这样就完成了,我们打开生成的目录:
![入门Java必须要掌握的基本数据类型,小白必看! 入门Java必须要掌握的基本数据类型,小白必看!](https://image.shishitao.com:8440/aHR0cHM6Ly9zMi41MWN0by5jb20vaW1hZ2VzL2Jsb2cvMjAyMzAzLzE2MTUyMDU2XzY0MTJjMzU4ZGI0MTk1MDgyMi5wbmc%3D.png?w=700&webp=1)
找到index.html,打开它:
![入门Java必须要掌握的基本数据类型,小白必看! 入门Java必须要掌握的基本数据类型,小白必看!](https://image.shishitao.com:8440/aHR0cHM6Ly9zMi41MWN0by5jb20vaW1hZ2VzL2Jsb2cvMjAyMzAzLzE2MTUyMDU3XzY0MTJjMzU5MDMwZWY4NjkwOC5wbmc%3D.png?w=700&webp=1)
注释最为忌讳的就是描述代码!,希望大家都能养成一个写注释的好习惯。
假设阅读代码的人比你更懂代码, 他只是不知道你的代码要做什么.