📢博客主页:🏀傻根根呀🏀
📢欢迎点赞 👍 收藏 ⭐留言 📝 欢迎讨论!👏
📢本文由 【傻根根呀】 原创,首发于 CSDN🙉🙉🙉
📢由于博主是在学小白一枚,难免会有错误,有任何问题欢迎评论区留言指出,感激不尽!✨个人主页
📖精品专栏(不定时更新)【JavaSE】 【MySQL】【LeetCode】【Web】【操作系统】
⭐一、前言
书写博客的目的,不是为了出书立传,那是恐怖如斯的强者对各种知识点手到擒来,手拿把掐之后给我这种小菜鸡的福利,而我这种摸鱼划水平平无奇的小菜鸡则是站在巨人的肩膀上提升自己!~(白嫖doge)
众所周知互联网时代下各种优质的系统学习资源已经比比皆是,小破站的诸多视频大佬们无微不至的系统性的教学,以及各种优质书籍都是经过时间检验,收获用户的肯定的。
如果我再去花费大量的时间精力从头到尾覆盖弄一遍,那就是本末倒置。参看一篇思维导图,就是如获至宝,可以参照导图复习裨补阙漏,巩固强化,参照导图将一开始就掌握的不太好,或者是较难的知识点整理出来以备后用。系列文章,欢迎点赞查看一键三连嗷友友们~:
【Java基础总结】HelloWorld【一】_m0_56164356的博客-CSDN博客
【Java基础总结】类加载顺序,new关键字,访问权限修饰符与方法重载等【二】_m0_56164356的博客-CSDN博客
舍友给我带饭,请我给他讲明白Java中的引用,对象,和空指针异常~听完直呼值了,问我下顿想吃啥~_m0_56164356的博客-CSDN博客
⭐二、思维导图
CSDN这是狂神说Java老哥的视频跟着手敲出来的,高清版嗷!~
还有二哥等诸多大佬的思维导图,巨佬们太多啦,兄弟们去查一下就有呀!
⭐三、基础语法
3.1:标识符
标识符标分为两类:分别为关键字和用户自定义标识符
/Java 中标识符是为方法、变量或其他用户定义项所定义的名称。 标识符可以有一个或多个字符。 在 Java 语言中,标识符的构成规则如下。 标识符由数字(09)和字母(AZ 和 a~z)、美元符号($)、下划线(_)以及 Unicode 字符集中符号大于 0xC0 的所有符号组合构成(各符号之间没有空格)。 标识符的第一个符号为字母、下划线和美元符号,后面可以是任何字母、数字、美元符号或下划线。 另外, Java 区分大小写 ,因此 myvar 和 MyVar 是两个不同的标识符。 提示:标识符命名时,切记不能以数字开头,也不能使用任何 Java 关键字作为标识符,而且不能赋予标识符任何标准的方法名。 标识符分为两类,分别为关键字和用户自定义标识符。
标识符切记不能以数字开头
标识符切记不能以数字开头
标识符切记不能以数字开头
这是命名规则,是必须遵循的,不遵循会报错
我们通常说的命名规范是规范 最好遵循
⭐四:类型
通常我们深刻贯彻学习一个知识点,要从三个层面来剖析了解他
概念层面 |
抽象层面 |
物理层面 |
我们从数据类型来看,Java中的数据类型包括
基本数据类型 primitive type 和 引用类型 reference type
4.1 字面量
在Java中,字面量(literal)指人类可以阅读的固定值的表示。 例如,数100是字面量
上一张Java中各个数据类型具体的正确字面量的表:
数据类型 | 直接量描述 | 举例 |
int | 整数直接量(可用二、十、八、十六进制表示) | 12 |
-12 | ||
12 | ||
0b12 | ||
12 | ||
0x12 | ||
long | 在整数直接量(也就是int型)后面,加上字母l或L | 12l |
-12L | ||
float | 在数字(包括整数和小数)后面,加上字母f或F | 3f |
-3.14F | ||
3.14e5F | ||
-3.14E-5f | ||
.5f | ||
double | 1.浮点数直接量 2.科学计数法直接量 3.在数字(包括整数和小数)后面加上字母d或D | 3d |
3.14E-05 | ||
-0.5 | ||
boolean | 布尔直接量true、false | TRUE |
FALSE | ||
char | 1.单引号内的单个字符 2.单引号内的转义字符 | ‘a’ |
‘中’ | ||
‘\n’ | ||
‘\u0000’ | ||
String | 双引号内的字符序列 | “abc” |
“中国” | ||
null | 引用类型的空指向 | null |
字符补充
public class TestCharDemo {
public static void main(String[] args) {
char nnn='\n';
char ttt='\t';
char rrr='\r';
System.out.println("nnn = " + nnn);
System.out.println("nnn = " + nnn);
System.out.println("nnn = " + nnn);
System.out.println("12345"+ttt);
System.out.println("12345678");
int anInt=1024;
System.out.println(anInt+"\t"+"nbnb");
System.out.println("10241024nbnb");
System.out.println("rrr = " + rrr);
char a1='\u0001';
char a2='\u0033';
char a3='\u0066';
char a4='\u0043';
char a5='\u0099';
System.out.println("a1 = " + a1);
System.out.println("a2 = " + a2);
System.out.println("a3 = " + a3);
System.out.println("a4 = " + a4);
System.out.println("a5 = " + a5);
}
}
上述字符可能较难理解,请粘贴代码去运行测试
运行结果如下
nnn =
nnn =
nnn =
//换行符,输出三次,换了三次行
//n是换行符,这并不是java中的规定,而是更广泛的计算机领域中均为此含义。
12345 //这里数字之后还有空格,补足了八位,因为是\t转义字符
12345678
1024 nbnb//这里空着几位更能显示
10241024nbnb
rrr = //r是换行符
a1 =
a2 = 3
a3 = f
a4 = C
a5 =
关于Java中的字符,详情参考上文
上面的字符和转换符可不是一个东西嗷,老铁们
类似%d的格式化format占位符请参考如下
再上一个思维导图
4.2 基本数据类型
4.3 引用数据类型
各种类型之间少不了相互转换
4.4 类型转换
自动类型转换
低转高
强制类型转换
高转低,父类转子类
概念层面。尼古拉斯·沃斯(Niklaus Wirth,1934年2月15日—)瑞士计算机科学家 Winterthur提出过: 程序=算法+数据结构
而老陈哥哥在复习时,喂了一句崭新的概念:程序=数据+语句
下面我们来看一看数据都存储在哪里!~
众所周知,针对一个Java进程,内存主要分为,栈区,堆区,方法区等等,此处可以参看我之前的该篇文章,对Java中的JVM有过浅显的探讨。【Java】面向对象之类和对象,浅谈static修饰符和this关键字,初识JVM_m0_56164356的博客-CSDN博客
我们的引用数据类型分为三种,其中数组比较特殊,而接口引用类型又用的比较少,三种只剩下一种类Class引用类型。反观我们的引用类型中的类,直接上图
常用类虽然列举了这么多,但是主要是String类和Arrays类常用(至少你刷力扣就知道啦,hxdm)。String类是尤其常用的常用类,他有多常用?50%左右的对象都是String对象。
从侧面给大家举例一下,通常在Web开发中,从你登陆注册填数据(账号密码等等)那一刻就在前端页面Post裹挟着你所输入的字符串以name=?&value=?格式向后端发送了请求,服务器解析出来,拿出来传到后端的字符串,request.getParameter()处理之后,比如split()方法按照&号分隔开,然后从数据库参照ID和PassWord对其equals()处理。好兄弟们,String真的太重要了,这个后续我会专门更新系列文章深度剖析Java中的常用类String!
但是我们知道用对象是类的具体,类是对象的抽象,我们啪的一下就能new出来一个对象在堆(heap)上,new出来的对象必在堆上,这个是老陈哥哥打了包票的。但是你的引用可就不一定在栈区上了,It is not sure。需要其他条件来明确。
这就对我们探索数据类型的存储造成了极大困扰!~~~
举例说明:弗拉基米尔普京老大有雄兵两百万,分为海陆空等等多个兵种,这就像是我们的按照数据类型分类。我们想知道每个海军攻打哪个位置,哪个陆军攻打哪个位置,这是不对的,因为都是多军种配合的。 所以我们从变量和常量的角度进行分析,攻克一个地方(内存上的一个存储位置)包含哪些混合兵种(变量和常量)。
这时候我们不如换个角度:
下篇文章,变量和常量是如何存储的,如何分类的
变量和常量横空出世!~
⭐五、总结
本文从Java的基础知识点重点开始总结,其实初识Java还应该有注释:
以及JavaDoc命令,默认好兄弟们都会了嗷
还有兄弟们都知道了JAVA的前世今生,初识Java了
也看过我系列文章的第一篇啦:
【Java基础总结】HelloWorld【一】_m0_56164356的博客-CSDN博客
对HelloWorld的psvm和java还有Javac命令也都了如指掌啦。
所以本篇文章我们探究了Java中的数据:
数据分为基本数据类型和引用数据类型
基本数据类型中可以互相转换,无非是高转低强制类型转换,低转高的自动转换。
但是在基本数据类型中之前我不太熟悉的一个地方就是ASCII、Unicode、GBK、UTF-8之间的关系_change the world by python-CSDN博客_gbk与ascii
这些弄明白之后我们在char的字面量中
就不难发现,你在代码中是单引号引起来\u0000,但是实际上他就是Unicode码对应的啦。
\n则是一个命令字符。换行符。
从C语言就开始困惑我的那一堆带%的难兄难弟属于是用在格式化中的格式化占位符,举例就是打印九九乘法表,正序,倒序输出你都需要对齐,那个printf就可以,还有Date输出日期的时候,去年蓝桥杯B组第一题日期题目,格式要求,QwQ.所以遇到问题一定要尽早解决啊兄弟们!~他们和字符没有鸟关系。
顺道还埋了两个坑呀,就是数据类型我们理清了却发现从数据类型角度理清数据的存储,所以我们需要换个角度,再给变量和常量开个帖子啦!~这是后话,看到这里了,觉得有帮助的好兄弟还请支持一下吧!~创作不易,你的支持就是我的动力!~