(一)变量
1.变量的本质是"可操作的存储空间"
2.分类:
(1)局部变量(local variable)
(2)成员变量(实例变量,member variable)类内部定义的变量,从属于对象,生命期随对象始终;可以自动被初始化;
(3)静态变量(类变量,static variable)从属于类,生命期随类始终
(二)常量(const)
1.分类
(1)包括数字 123/字符'A'/字符串"Hello"
(2)用关键字final定义的常量,(符号常量)
final 类型 常量名 =❌❌❌
(三)基本数据类型
1.分类
引用数据类型占四个字节
2. 整形的默认类型是int型,所以写long时在数字后加一个l或L
3.浮点型变量/常量
(1)浮点型的默认类型是double,变成float后面加F,float类型赋值时需要添加后缀F或f
(2)浮点数不精确不能用于比较(大于,等于,小于)
(3)如果用于比较用java.math里的两个类,BigInteger用于任意精度的整数运算和BigDecimal用于任意精度的浮点数运算
BigDecimal导入import java.math.*;
如:BigDecimal bd(变量名)=BigDecimal.valueOf(定义一个值)
bd=bd.subtract(BigDecimal.valueOf(操作方式));
4.字符型变量/常量
(1)String是字符序列
5.boolean类型变量/常量
(1)有ture和false两个常值量,在内存中占一位(不是一个字节)不可以用0/非0替代ture和false
(四)运算符
1.算数运算符
(1)整数运算如果没有long类型结果一定是int型,如果有long类型结果是long型
(2)%运算可以是浮点数,余数符号和左边操作数一致,如:-7%3=-1 7%-3=1
2.赋值运算符
3.关系运算符
(1)运算结果是ture和false
4.逻辑运算符:用于操作布尔值
(1)逻辑运算符的操作数和运算结果都是布尔型
(2)逻辑异或:相同为false,不同为ture
逻辑与(&)
逻辑或(|)
短路与(&&):只有有一个false就返回false,第一个操作数的值为false则不需要计算后面的操作数
短路或(||):只有有一个ture就返回ture,第一个操作数的值为ture则不需要计算后面的操作数
5.位运算符:进行二进制运算
(1)右移>>一位相当于除以2;左移<<一位相当于乘以2;
6.字符串连接符 “+”
(1)当左右两侧有一个是字符串(String,用双引号)加号就变为了字符串连接符
(2)
7.条件运算符(三元运算符)
(1)x?y:z 先计算x的值,如果x是ture,则运算结果为y的值,否则为z的值。x可是是一个算式
(四)类型转换
1.自动类型转换
(1)容量小的数据类型可以自动转换为容量大的,容量☞表示的范围而不是字节
(2)
可以将int类型 常量直接赋给byte/short/char类型,只要不超过表示的范围即可。
2.强制类型转换
(1)形式:(转化为的类型)变量
(五)使用Scanner获得键盘输入~1(尚学堂 JAVA 高淇 java 300 集大型基础课程_哔哩哔哩_bilibili)
1. (1)导入 import java.util.Scanner;
(2)Scanner scanner=new Scanner(System.in);
(3)输入文字 scanner.nextLine()
输入整数 scanner.nextInt()
输入小数 scanner.nextDouble()
(六)控制语句
1.顺序结构
2.选择结构
(1)分类:if单选结构、if-else双选结构、if-else if-else多选结构、switch结构
if单选结构
(1)结构:if(布尔表达式) {
语句块
}
if-else双选结构
(1)结构:if(布尔表达式){
语句块1
}else{
语句块2
}
if-else if-else多选结构
(1)结构:if(布尔表达式1){
语句块1
}else if(布尔表达式2){
语句块2
}.....else if(布尔表达式n){
语句块n
}
switch结构
(1)一般用于多值的运算
(2)结构: switch(表达式){
case 值1:
语句序列1;
[break];
case 值1:
语句序列1;
[break];
.........
[default
默认语句;]
}
3.循环结构
数组
1、数组是相同类型数据的有序集合,数组就是对象,数组中的每个元素相当于对象的成员变量,数组变量属于引用类型
2、数组声明并分配空间: eg:int[] s=new int [10];
(1)数组内存数组地址,引用 eg:User[] arr03 = new User[3]
3、数组初始化
(1)静态: 直接用{}赋值
(2)动态:通过下标赋值
(3)默认
4、for each 循环
(1)读取数组元素的值而不能修改
(2)形式:for(类型a:b){ }读取a里的数赋给b
Math类的使用
1、Math.random()该方法返回0~1之间的随机数不包含1(用于掷色子)
2. (1)常量Π Math.PI
(2)几次方 Math.pow(变量,一个数)