基础学习
一. 变量
1. 数据类型
1.1整型
- 整型使用细节
- Java中整型常量的默认为
int
型,声明long
型常量后面要加’l’或者’L’ - Java程序中常量常声明为
int
型,除非不足以表示大数 才用long
型
- Java中整型常量的默认为
1.2浮点型
- 浮点型使用细节
- 关于浮点型在机器中存放的的简单说明 浮点数=符好位+指数位+尾数位
- 尾数部分可能丢失,造成精度的损失
1.3 字符类型(char)
- 字符类型使用细节
- 在
java
中,char
的本质是一个整数,在输出的时候,是unicode
码对应的字符 - 可以直接给
char
赋一个整数 然后在输出的时,会按照对应的unicode
字符输出 char
类型是可以进行运算的,相当于一个整数,因为它都对应有unicode
码
- 在
1.4 布尔类型(boolean)
- 简述
- 布尔类型数据只允许取值
true
和false
无null
- 布尔类型值占一个字节
- 布尔类型适用于逻辑运算,一般用于程序流程控制
- 布尔类型数据只允许取值
2.基本数据类型转换
2.1自动类型转换
- 当
java
程序在进行赋值或者运算时,精度小的类型自动转换成精度大的数据类型,这个就是自动类型转换 - 数据类型按精度排序为:
char<int<long<float<double , byte<short<int<long<float<double
- 有多种类型混合运算的时候,系统首先自动将所有数据转换成容量大的那种数据类型,然后再进行计算
- 当我们把精度大的数据类型赋值给精度小的数据类型时,就会报错,反之就会进行自动类型转换
byte 、short
和char
之间不会相互自动转换byte
short
char
他们三者可以计算,在计算的时候首先转换为int
类型boolean
不参与转换- 自动提升原则:表达式结果的类型自动提升为操作数中最大的类型
2.2 强制类型转换
- 自动类型转换的逆过程,将容量大的数据类型转换为容量小的数据类型。使用时要加上强制转换符(),但可能造成精度的降低或者溢出
char
类型可以保存int
的常量值,但不能保存int
的变量值,需要强转
2.3 基本数据类型和String类型的转换
String
类型转基本数据类型:通过基本数据类型的包装类调用parseXx
(Xx为对应的基本数据类型,首字母大写)方法即可
二.运算符的使用
- 当一个数取余的时候 可以等价为
a%b=a-a/b*b
- 当自增或者自减当作一个独立语句使用的时候,都是一样的
++i
先加后赋值i++
先赋值在++instanceof
检查是否是类的对象&&
短路与:如果第一个条件为false
,则第二个条件不会判断,最终结果为false
,效率高&
逻辑与:不管第一个条件是否为false
,第二个条件都要判断,效率低- 开发中, 我们使用的基本是使用短路与
&&
, 效率高
三.数组
1.数组的介绍
- 数组可以存放多个同一类型的数据。数组也是一种数据类型,引用数据类型
2.数组的使用
2.1 动态初始化
- 数组的定义及使用方法
数据类型 数组名[] =new 数据类型[大小];
int a[] = new int[5];//创建一个数组 ,名字为a,存放5个int数据类型的值
- 数组的另一种使用方法
语法:
数据类型 数组名[]
也可以数据类型[] 数组名
int a[];
或者int[] a;
a=new int[10]
2.2静态初始化
- 如果知道数组有多伤个元素,同时知道具体的值就可以使用静态初始化
//语法如下 //数据类型 数组名[] = {元素值,元素值.......} int a[] = {1,2,3,333,3333,232}
3.数组使用的注意事项和细节
- 数组中放的是多个相同数据类型的元素,可以实现对这些元素的统一管理
- 数组中什么数据类型的元素都可以存放,但是只能是单一的数据类型,不能混用
- 数组在创建后,如果没有赋值,有默认的值
int 0 short 0 byte 0 long 0 float 0.0 double 0.0 char \u0000 boolean false String null
- 使用数组的步骤是:声明数组并开辟空间,给数组的各个元素赋值,使用数组
- 数组的下标是从0 开始的
- 数组属于引用类型,数组型数据是对象