数据相关

数据类型

📔 整型

类型 占用空间
byte 8位(1字节)
short 16位(2字节)
int 32位(4字节)
long 64位(8字节)

📔 浮点型

类型 占用空间
float 32位(4字节)
double 64位(8字节)

📔 字符型char — 2字节
📔 布尔类型**boolean**值为**true/false**


类型转换

📝 自动类型转换
Java基础知识 - 图1
📔 注意:

  1. 自动类型转换与C++中有所区别,int类型不能自动转换成boolean类型
  2. 在大小写字母转化时,也不能像C++中那样比如;Java中不允许这样的写法,因为计算过程中有数据类型转化成了int类型,int不能自动转换为char
    1. char ch = 'd';
    2. ch = ch - 'a' + 'A';

📝 强制类型转换
📃 和C++中语法类似,直接在其前面使用强制类型转换;以字母大小写转换为例,Java中可以

  1. char ch = 'd';
  2. ch = (char)(ch - 'a' + 'A');

流程控制

顺序结构

顺序结构是最简单最基本的结构,按照代码的顺序一次执行。


📔 if 语句

  1. if(关系表达式)
  2. {
  3. 语句体;
  4. }
  1. if(关系表达式){
  2. 语句体1
  3. } else (关系表达式) {
  4. 语句体2
  5. }
  1. if(关系表达式) {
  2. 语句体1
  3. } else if (关系表达式) {
  4. 语句体2
  5. }

📔 switch 语句(开关语句)

  1. switch (表达式) {
  2. case 1:语句体1;
  3. break;
  4. case 2:语句体2;
  5. break;
  6. case 3: ……
  7. ……
  8. default: 语句体;
  9. }

📃 case 穿透:case 后面没有break;发生穿透。在不判断下一个 case 的情况下,直接向下运行,直到遇到break;


循环结构

结构内语句一直被循环执行。
📔 for 循环

  1. for (int i = 0; i < n ; i++){
  2. 语句体;
  3. }

📔 while循环

  1. while(条件判断语句){
  2. 语句体;
  3. }

📔 do while循环

  1. do{
  2. 语句体;
  3. }while(条件控制语句);

📃 当在程序执行中遇到死循环时:Ctrl + C 结束死循环。


跳转控制语句

📔 continue:跳过某一次或者说当前循环体内容。
📔 break:直接跳出循环。


Java中随机数生成与使用

📔 Random

  1. import java.util.Random
  1. import java.util.*;
  2. public class LoginService {
  3. public int resultRandomInt(int value) {
  4. int ans = 0;
  5. Random r = new Random();
  6. if (value % 2 == 0) {
  7. ans = r.nextInt(10); // 生成随机数
  8. } else {
  9. ans = r.nextInt(10) + 10; // 生成随机数
  10. }
  11. return ans;
  12. }
  13. }

📝 其中 num 为一个具体数字,生成范围为 0 — num-1即**[0,num)**


数组

格式

  1. 格式一:** 数据类型[] 变量名** (推荐使用)
  2. 格式二: **数据类型 变量名[]**

数组元素访问

📔 语法:**数组名[索引];**
📑 注意:

  1. 索引从0开始
  2. 动态初始化时将由计算机赋初始值。

📄 整数默认 — 0
📄 浮点数默认 — 0.0
📄 布尔值默认 — false
📄 字符默认 — 空字符
📄 引用类型默认 — null


Java中内存分配

📔 栈内存

  1. 存储局部变量
  2. 栈内存使用完后立即消失

📔 堆内存

  1. 存储new出来的东西(实体、对象)
  2. 使用后在垃圾回收器空闲

数组初始化

📔 动态初始化 — 初始化时只指定数组长度,由系统为数组分配初始值
📝 格式:**数据类型 [] 变量名 = new 数据类型[数组长度];**

  1. int[] arr = new int[3];

📔 静态初始化
📝 格式:数据类型[] 变量名 = new 数据类型[]{ 数据1,数据2,数据3,……};

  1. int[] arr = new int[]{1,2,3};

📝 索引问题

  1. 索引越界
  2. 空指针异常 arr = null 时不能强行访问,不再指向对象。