文章目录
- 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 -> 必须记住