文章目录
- 1. 变量、数据类型转换、运算符
- 1.1 变量
- 1.2 数据类型转换
- 1.2.1强转的注意事项
 
- 1.3 进制的转换
- 1.4 位运算符
- 1.5 运算符
- 1.6 三元运算符
 
- 2. 流程控制
- 2.1 键盘录入_Scanner
- 2.2 Random随机数
- 2.3 switch(选择语句)
- 2.4 分支语句
- 2.5 循环语句
 
- 3. 数组
- 3.1 数组的定义
- 3.2 数组操作
- 3.3 一维数组内存图
- 3.4 二维数组
- 3.5 二维数组内存图
 
- 工具的使用
- 1. IDEA的创建流程
 
1. 变量、数据类型转换、运算符
1.1 变量
-  变量的数据类型: 
 基本数据类型:4类8种
 整型:byte short int long
 浮点型:float double
 字符型:char
 布尔型:boolean引用数据类型: 类 数组 接口 枚举 注解 
-  定义: 
 a.数据类型 变量名 = 值;b.数据类型 变量名; 
 变量名 = 值;c.连续定义三个相同类型的变量 
 数据类型 变量名1,变量名2,变量名3;
 变量名1 = 值;
 变量名2 = 值;
 变量名3 = 值;
-  【注】 
 字符串不属于基本数据类型,属于引用数据类型,用String表示String是一个类,只不过字符串在定义的时候可以和基本数据类型格式一样 
-  float和double的区别 
 a. float的小数位只有23位二进制,能表示的最大十进制为2的23次方(8388608),是7位数,所以float型代表的小数,小数位能表示7位b.double的小数位只有52位二进制,能表示的最大十进制为(4 503 599 627 370 496),是16位数,所以double型代表的小数,小数位能表示出16位 小数的默认类型为:double 
-  变量使用时的注意事项 
 1.变量不初始化(第一次赋值)不能直接使用2.在同一个作用域(一对大括号就是一个作用域)中不能定义重名的变量 3.不同作用域中的数据尽量不要随意互相访问 
 在小作用域中能直接访问大作用域中的变量
 在大作用域中不能直接访问小作用域中的变量
1.2 数据类型转换
a.自动类型转换
 将取值范围小的数据类型赋值给取值范围大的数据类型 -> 小自动转大
 取值范围小的数据类型和取值范围大的数据类型数据做运算 -> 小自动转大
b.强制类型转换
 当将取值范围大的数据类型赋值给取值范围小的数据类型 -> 需要强转
1.2.1强转的注意事项
-  不要随意写成强转的格式,因为会有精度损失问题以及数据溢出现象,除非没有办法 
-  byte,short定义的时候如果等号右边是整数常量,如果不超出byte和short的范围,不需要我们自己强转,jvm自动转型 byte,short如果等号右边有变量参与,byte和short自动提升为int,然后结果再次赋值给byte或者short的变量,需要我们自己手动强转 
-  char类型数据如果参与运算,会自动提升为int型,如果char类型的字符提升为int型会去ASCII码表(美国标准交换代码)范围内去查询字符对应的int值,如果在ASCII码表范围内没有对应的int值,回去unicode码表(万国码)中找 
1.3 进制的转换
- 十进制转成二进制
 辗转相除法 -> 循环除以2,取余数
  
- 二进制转成十进制
 8421规则
  
- 二进制转成八进制
 将二进制数分开 (3位为一组)
  
- 二进制转成十六进制
 将二进制数分组-> 4位为一组
  
1.4 位运算符

- 符号的介绍:
 a. &(与) -> 有假则假
 b. |(或) -> 有真则真
 c. ~(非) -> 取反
 d. ^(异或) -> 符号前后结果一样为false,不一样为true
 true ^ true -> false
 false ^ false -> false
 true ^ false -> true
 false ^ true -> true
1.5 运算符
- 算数运算符
  
 【注】+
 1.运算
 2.字符串拼接:任何类型的数据遇到字符串都会变成字符串,此时+就不再是运算了,而是字符串拼接,将内容直接往后拼接
public class Demo02Arithmetic {public static void main(String[] args) {int i = 10;int j = 3;System.out.println(i+j+"");//13System.out.println(i+j+""+1);//131System.out.println(i+""+j);//103System.out.println("i和j相加只和为:"+(i+j));}
}
1.6 三元运算符

2. 流程控制
2.1 键盘录入_Scanner
-  概述:是java定义好的一个类 
-  作用:将数据通过键盘录入的形式放到代码中参与运行 
-  位置:java.util 
-  使用: 
 a.导包:通过导包找到要使用的类 -> 导包位置:类上
 import java.util.Scanner -> 导入的是哪个包下的哪个类b.创建对象 
 Scanner 变量名 = new Scanner(System.in);c.调用方法,实现键盘录入 
 变量名.nextInt() 输入整数int型的
 变量名.next() 输入字符串 String型的
变量名.next():录入字符串 -> 遇到空格和回车就结束录入了
 变量名.nextLine():录入字符串 -> 遇到回车就结束录入了
2.2 Random随机数
-  使用: 
 a.导包:import java.util.Randomb.创建对象: 
 Random 变量名 = new Random()c.调用方法,生成随机数: 
 变量名.nextInt() -> 在int的取值范围内随机一个整数
  
2.3 switch(选择语句)
- switch基本使用
  
  
2.4 分支语句
- if的第一种格式
  
- if的第二种格式
  
- if的第三种格式
  
2.5 循环语句
- for循环
  
- while循环
  
- 循环控制关键字
  
3. 数组
3.1 数组的定义

-  动态初始化与静态初始化的区别 
 a. 动态初始化:定义的时候只指定了长度,没有存具体的数据
 当只知道长度,但不知道具体存啥数据时可以使用动态初始化b. 静态初始化:定义的时候就直接知道存啥了 //动态初始化int[] arr1 = new int[3];String[] arr2 = new String[3];//简化静态初始化int[] arr4 = {1,2,3,4,5};
3.2 数组操作
- 获取数组的长度
  
3.3 一维数组内存图

- 一个数组内存图
  
- 俩个数组内存图
  
- 两个数组指向同一片内存空间
  
3.4 二维数组
- 定义格式
- 动态初始化
 数据类型[][] 数组名 = new 数据类型[m][n]
- 简化静态初始化:
 数据类型[][] 数组名 = {{元素1,元素2…},{元素1,元素2…},{元素1,元素2…}}
3.5 二维数组内存图

工具的使用
1. IDEA的创建流程
先创建project,在project下创建module,在module下创建package -> 必须记住