JAVA - 基础篇

时隔这么久,之前学习JAVA一直没有坚持下来,这次一定要坚持啊。
是跟着 B站 尚硅谷的老师学习的!资料非常齐全,讲得也很认真仔细。

这里会记录一些简单的归纳,很全很全的在老师的资料里就有!关注公众号就能领取,尚硅谷教育。

前言

学习一门计算机语言真的是一件很奇妙的事情,单靠简单的0-1就可以呈现各种信息,处理各种问题。
学习这门语言带给我一种解构世界的感觉,真的非常美妙。你一点一点看着自己构筑的世界越来越完整,借鉴别人的世界,这简直就是我梦想做的事情。
从数据的存储到空间的分配,你自己逻辑的整理,语言真的有一种莫名其妙的魅力。
那就一起体验书从厚变薄,又从薄变厚的过程吧!

我只在这里捋一下思路,重在一些思想,具体的内容还是要看其它资料。

变量与运算符

  1. java 关键字都是小写的

  2. 标识符的命名规则就是在这里通行的依据,不要以数字开头【想想 Long】,只能出现_ 和 $ 这两种特殊符号。千万不要有空格啊,可以包含关键字,但不能相同。

  3. 变量的信息,除了常量就是变量,包括叫什么,在哪里,有什么。【名字、存储的值、类型】。

  4. 变量数据类型分类:
    基本数据类型:包括整数类型、浮点数类型、字符类型、布尔类型。
    引用数据类型:包括数组、类、接口、枚举、注解、记录。

  5. 看了数据的存储真的令我大开眼界(也有可能是我不知道的东西实在太多了)。用位数、字节表示范围,整数和小数存储规则,科学计数法,指数位数,符号位。这种想法真的很奇妙。

  6. 注意不同类型之间的运算规则,因为存储能力不同。范围小的被兼容,范围大的会损失精度。还有一些转换的默认规则(需要整理!下次复习的时候我靠自己写一遍!)
    包括但不限于Byte类型的变量不能直接做加减,因为会默认转换成int类型进行加减,接收的不是int就会报错。short char类型同理

  7. 运算符,加减乘除等算数运算符,赋值运算符,比较(关系)运算符,逻辑运算符,位运算符,条件运算符。这些运算符都比较常规,但之前就对位运算符了解比较少。
    位运算是直接对二进制进行操作,正数操作的是补码(当然正数的原码、反码和补码都是一样的),负数操作的是补码。

  8. 字符集的编码是沟通的桥梁,有了通用的规则各种数据才能在不同的设备上正确显示。

流程控制语句

  1. java中基本的循环for while do...while,if-else switch等都和C语言里的差不多。注意其中的;
    if else else if(){}
    当if-else结构是“多选一"时,最后的eLse是可选的,根据需要可以省略。
  2. 注意 switch case 的用法,循环条件必须是可以判断是不是的量,不能是一个范围。如果case里没有break,程序会一直执行。【穿透现象,也就是一旦匹配成功,不会在判断下一个case的值,直接向后运行,直到遇到break或者整个switch语句结束,执行终止。】
  3. 设置循环最重要的就是初始变量 循环条件 执行的语句 循环变量的更改。数据加结构,这是表达的不变真理。初始化部分,循环条件部分,循环体部分,迭代部分。
  4. 其中 break 和 continue 需要重点关注一下。(还有一个可以起标签的功能,这样就能明确指定结束哪个循环,还是很有意思的)
  5. Scanner 类读取键盘输入,这里的用法还需要多复习几遍。

数组

  1. 数组的要素:叫什么?存什么类型?存在哪?(因为是直接分配内存)存的数据有多少?【数组名 引用的是存储数组数据这块连续空间的首地址,下标或索引,元素,数组的长度】
  2. 数组分类:基本数据类型元素的数组:每个元素位置存储基本数据类型的值;引用数据类型元素的数组:每个元素位置存储对象(本质是存储对象的首地址)。
    按照维度分:一维数组:存储一组数据;二维数组:存储多组数据,相当于二维表,一行代表一组数据,只是这里的二维表每一行长度不要求一样。
注意:Java中声明数组时不能指定其长度(数组中元素的个数)。例如:inta[5]是非法的。
数组的初始化分为静态初始化和动态初始化,区别在于什么时候给值,是在一开始创建的时候就给,还是只知道长度就要创建。静态初始化本质是用静态数据(编译时已知)为数组初始化,此时数组的长度由静态数据的个数决定。
数组变量的初始化和数组元素的赋值操作分开进行,即为动态初始化。动态初始化只确定了元素的个数(即数组的长度),而元素值此时只是默认值,还并未真正赋自己期望的值。真正期望的数据需要后续单独一个一个赋值。
对于基本数据类型而言,默认初始化值各有不同。
对于引用数据类型而言,默认初始化值为null(注意与0不同!)

  1. new是构造引用类型对象时出现的关键字,所以记住数组是引用类型对象哦,传的是地址。地址意味着变量值相同时,地址相同,两个变量都可以对真实值进行更改。
  2. 二维数组是元素是一维数组的一维数组。需要注意的是这里每一个一维数组长度可以不相同。可以先确定行数,然后逐个确定每一行有几个元素。
  3. 这里主要应用的是逻辑,还需要复习一些常见的排序算法。【需要好好整理一遍!】
  4. 学习java.util.Arrays类的一些具体方法(用于操作数组)
  5. 常见的抛出异常是 数组越界和空指针。
posted @ 2023-04-06 14:40  芋圆院长  阅读(13)  评论(0编辑  收藏  举报