变量就是申请内存来存储值。也就是说,当建立变量的时候,须要在内存中申请空间。java
内存管理系统根据变量的类型为变量分配存储空间,分配的空间只能用来储存该类型数据。api
所以,经过定义不一样类型的变量,能够在内存中储存整数、小数或者字符。数组
Java 的两大数据类型:安全
Java语言提供了八种基本类型。六种数字类型(四个整数型,两个浮点型),一种字符类型,还有一种布尔型。函数
1.1.1 byte:大数据
1.1.2 short:spa
1.1.3 int:指针
1.1.4 long:code
1.1.5 float:对象
1.1.6 double:
1.1.7 boolean:
1.1.8 char:
常量是指在程序运行过程当中其值不能改变的量。
Java中常量的分类:
整数常量 : 全部整数
小数常量 : 全部小数
布尔常量 : 只有true和false
字符常量 :使用’’引发来的单个字符
字符串常量 :使用“”引发来的字符序列,“” 、“a” 、” ”
null常量 : 只有一个值null
3.2 char 类型
char类型表示的是单个字符类型,任何数据使用单引号括起来的都是表示字符。字符只能有一个字符,好比:普通的老百姓穿上军装就是军人。
注意:特殊字符的转义序列:转义字符
转义字符的概述:
特殊字符使用”\”把其转化成字符的自己输出,那么使用”\”的字符称做为转移字符。
需求:使用输出语句,打印出带引号的信息例如输出。
System.out.println("teacher said"java is fun"");编译是没法正常经过的。语法有错误,编译器读到第二个引号就认为是字符串的结束,剩余的不知道怎么处理。如何解决这个问题:java中使用转义字符来表示特殊的字符。一个转义字符以反斜杠(\)开始。
问题:想要打印带引号的字符串怎么办,就可使用反斜杠(\)后跟字符,这个反斜杠就是转义字符。
\r 表示接受键盘输入,至关于按下回车。
\n 表示换行。
\t 制表符,至关于Table键
\b 退格键,至关于Back Space
\’ 单引号
\’’ 双引号
\\ 表示一个斜跨
上述问问题解决:System.out.println("teacher said\"java is fun\"");
注意:换行符就是另起一行,回车符就是回到一行的开头,因此咱们平时编写文件的回车符应该确切来讲叫作回车换行符
Java中这8中基本数据类型都是小写的。
3.4 常量名的声明规范:
多个单词组成时,字母所有大写,多个单词之间使用_分隔(例:INTEGER_CACHE)
注意:只是为了增长规范性、可读性而作的一种约定,标识符在定义的时候最 好见名知意,提升代码阅读性。
整型、实型(常量)、字符型数据能够混合运算。运算中,不一样类型的数据先转化为同一类型,而后进行运算。
转换从低级到高级。
低 ------------------------------------> 高 byte,short,char—> int —> long—> float —> double
数据类型转换必须知足以下规则:
1. 不能对boolean类型进行类型转换。
2. 不能把对象类型转换成不相关类的对象。
3. 在把容量大的类型转换为容量小的类型时必须使用强制类型转换。
4. 转换过程当中可能致使溢出或损失精度
必须知足转换前的数据类型的位数要低于转换后的数据类型,例如: short数据类型的位数为16位,就能够自动转换位数为32的int类型,一样float数据类型的位数为32,能够自动转换为64位的double类型。
1. 条件是转换的数据类型必须是兼容的。
2. 格式:(type)value type是要强制类型转换后的数据类型
1. 整数的默认类型是 int。
2. 浮点型不存在这种状况,由于在定义 float 类型时必须在数字后面跟上 F 或者 f。
1:定义静态方法求圆的面积
2:定义静态方法求圆的周长
3:发现方法中有重复的代码,就是PI,圆周率。
1:若是须要提升计算精度,就须要修改每一个方法中圆周率。
4:描述一个变量
1:方法都是静态的,静态只能访问静态,因此变量也定义为静态的。
public static double PI=3.14;
1:若是定义为public后,新的问题,类名.PI=300; 改变了PI的值。
2:修改成private,修改成private后进行了封装,须要getset公共访问方法。
3:现有的知识不能解决这样的问题了。可使用final
5.1 使用final
1:final关键字主要用于修饰类、类成员、方法、以及方法的形参。
2:final修饰成员属性:
1:说明该成员属性是常量,不能被修改。
public static final double PI=3.14;
1:public :访问权限最大
2:static :内存中只有一份
3:final :是一个常量
4:常量名大写
5:必须初赋值。
2:使用类名.成员。修改该成员的值,报错。--常量不能被修改
1:基本数据类型,final使值不变
2:对象引用,final使其引用恒定不变,没法让其指向一个新的对象,可是对象自身却能够被修改。
3:该关键字通常和static关键字结合使用
1:常量能够优先加载,没必要等到建立对象的时候再初始化。
4:final和static能够互换位置
5:常量通常被修饰为final
3:fianl修饰类:
1:该类是最终类,不能被继承。
1:将父类加final修饰,子类继承,就会报错。
2:查看api文档发现String类是final的。Integer类也是final的
1:为了防止代码功能被重写
2:该类没有必要进行扩展
4:final修饰方法:
1:该方法是最终方法,不能被重写
2:当一个类被继承,那么全部的非私有函数都将被继承,若是函数不想被子类继承并重写能够将该函数final修饰
3:当一个类中的函数都被修饰为final时,能够将类定义为final的。
5:final关键字修饰形参
1:当形参被修饰为final,那么该形参所属的方法中不能被篡改。
2: 项目中主要用于一些只用来遍历未知数据的函数。将未知变量声明为final的。加强数据的安全性。