数据类型
-
强类型语言:要求变量的使用要严格符合规定,所有变量都必须先定义后使用。 如果不强制转换的不能使用。
-
弱类型语言:
-
Java的数据类型分为两大类
-
基本类型
-
引用类型
-
截图1
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-VharYu57-1601123871533)(C:\Users\黄松松\AppData\Roaming\Typora\typora-user-images\image-20200925102651934.png)]
Byte只占一个字节 范围:-128~127
short只占两个字节范围:-32768~32767
int占四个字节范围:-2147483648~2147483647
long 占八个字节范围:-9223372036854775808~9223372036854775807
float占四个字节
double 占八个字节
字符型char占两个字节
boolean占一个字节数值只有false和true
引用类型:数组 接口 类。
截图1 [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ie9rdKor-1601123871534)(C:\Users\黄松松\Desktop\2.PNG)]
截图2[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-g56y0K68-1601123871535)(C:\Users\黄松松\AppData\Roaming\Typora\typora-user-images\image-20200925154333634.png)]
截图3[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Whj3m3Ap-1601123871536)(C:\Users\黄松松\AppData\Roaming\Typora\typora-user-images\image-20200925160431704.png)]
//浮点数的扩展
// 银行业务怎么表示;用BigDecimal
// float 有限 离散 舍入误差
//double
//最好完全不要使用浮点数进行比较;
float n=0.1f;
double n2=1.0/10;
float d1=1233412313134f;
float d2=d1+1;
System.out.println(n==n2);
System.out.println(d1==d2);
最好完全不要使用浮点数进行比较 大数比较最好使用BigDecimal
char c1='q';
char c2= '中';
System.out.println(c1);
System.out.println(c2);
System.out.println((int)c1);
System.out.println((int)c2);
//所有的字符本质都是数字
// 编码 Unicode 2 字节 65536
// 转义字符
//\t制表符
// \n换行符
}
}
类型转换
- 由于Java是强类型语言,所有要进行有些运算的时候需要用到类型转换
- 运算中,不同类型的数据先转换为同一类型,然后进行运算。
- 强制类型转换:()加要转换的类型比如:(byte)I;注意内存溢出
- 自动类型转换 高到低
低到高
byte ,short ,char->int->long->float->double
注意点1.不能对布尔类型进行转换
2. 不能把对象类型转化为不相干的类型
3. 在把高容量转换到低容量 的时候,强制转换
4. 转换的时候可能内存溢出,或者精度问题
5. 计算之前必须提前类型转换
变量
-
变量是什么: 就是一种可以变化的量
-
Java是一种强类型语言,所以每一个变量都必须声明其类型。
-
Java变量是程序中最基本的存储单元,其要素包括变量名,变量类型和作用域
type varName [=value][{,varName=[value]}];//数据类型 变量名=值;可以使用逗号隔开来声明多个同类型的变量。
- 注意事项:
- 每个变量都有类型,类型可以是基本类型,也可以是引用类型
- 变量名必须是合法的标识符
- 变量声明是一条完整的语句,因此每一个声明都必须以分好结束。
变量的声明
/**
* @author java小白松
*/
public class Dome03 {
public static void main(String[] args) {
int a=12;
int b=11;
int c=21;
String name ="小白送";
char m ='c';
double pi=3.24;
}
}
变量的作用域
-
类变量: 必须用static来修饰,还必须有类型:比如static int a =12;从属类的;
-
实例变量:没有static,是从属对象,只能类来使用它;如果不进行 初始化,这个类型的 默认值0,0.0,字符 串默认的是0 布尔值默认值是false ;除了基本类型其他的都null.
-
局部变量:写在方法里面的变量只能够在方法中使用。只能在{}中有效
public class Variable{ static int allClick=0;//类变量 String str ="hello,word";// 实例变量 public void method(){ int i=0;//局部变量 }
类里面可以写属性就是变量,也可以写方法,只能有一个main方法 。
/** * @author java小白松 */ public class Dome04 { static double a =2500; int age; String name; public static void main(String[] args) { int i=10; Dome04 dome04=new Dome04(); System.out.println(i); System.out.println(a); System.out.println(dome04.age); System.out.println(dome04.name); } }
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-sTn0yCio-1601123871538)(C:\Users\黄松松\Desktop\1.PNG)]
常量
常量(constant):初始化(initialize)后不能再改变值,不会再变动的数值;
所谓的常量可以理解成一种特殊的变量,它的值被设定后再程序的以后运行中不能被改变。
final a=2;// final 名字=值;
变量的命名规范
-
所有的变量,方法,类名:见名知意
-
类成员变量:首字母小写和驼峰原则:monthSalary,除了第一个单词,以后的单词的首字母大写
-
局部变量:首字母小写和驼峰原则
-
常量:首字母大写和下划线:MAX_VALUE
-
类名:首字母大写和驼峰原则Man,GoodMan
方法名:首字母小写和驼峰原则
尽量遵守规范
变量的命名规范
-
所有的变量,方法,类名:见名知意
-
类成员变量:首字母小写和驼峰原则:monthSalary,除了第一个单词,以后的单词的首字母大写
-
局部变量:首字母小写和驼峰原则
-
常量:首字母大写和下划线:MAX_VALUE
-
类名:首字母大写和驼峰原则Man,GoodMan
方法名:首字母小写和驼峰原则
尽量遵守规范