一切以需求为中心:功能+性能
基本数据类型
基本数据类型:
数值型:
整形:
类型 符号 范围 所占空间
字节型 byte -128~127 1个字节
短整型 short +-3万 2个字节
整形 int +-21亿 4个字节
长整形 long 非常大 8个字节
注意:在java语言中默认数据类型是int类型当把一个超过了int类型范围的值赋值给long类型的时候需要在数值后面加上L或l,否则会报错
浮点型:
类型 符号 精准度 所占字节
双精度浮点型 double 小数点后14位 8个字节
单精度浮点型 float 小数点后7位 4个字节
注意:在java中所有小数默认数据类型是double类型双精度浮点型数值赋值单精度浮点型的时候需要在数值后面加上F或f,否会报错
逻辑型
类型 符号 所占字节
布尔类型 boolean 1个字节
注意:boolean类型的数据在java中是不允许通过0和1赋值。boolean类型可以帮助我们完成流程控制
字符型:
类型 符号 范围 所占字节
字符型 char 0~65535 2个字节
常用类型
1)、整型 int L
2)、浮点型 double D/d
3)、字符型 char ''
4)、布尔型 boolean true false
字符
1)、字符集 统一采用unicode 代号
引用类型
也可以说是自定义类型:
归类 造图纸 模子 自己根据业务需求编写的类型,不是系统提供的
编写方式 声明一个类
public class Xxx{
//声明变量 放到这里 不放到main中 →特征 属性
}
例如:
/**
卡类型 : 银行卡(账号 余额 等级)
*/
public class Card{
//---属性---
//账号
String id = "62....."
//余额
double balance = 19999999999D;
//等级
String cardLevel =””;
}
new
1.开辟大空间 + 根据图纸|类型 开辟小空间 开辟空间
2.小空间存放默认值 初始化
3.大空间位置 给 变量 返回地址给引用
错误示例:
User user1 = new User();
User user2 = user1;
user1 = null;
user2.name ="laopei";
user2.pwd = "123456";
System.out.println(user1.name+"-->"+user1.pwd);
空指针异常 Exception 只有引用没有对象
字符
字符集 统一采用unicode 代号
转义字符
转义字符: \+单个字母 转义成特殊的含义
\n 换行
\t 多行空格
\\ \
\" "
\' '
运算符
算数运算符:+ - * / % ++ --
赋值运算符:=
扩展运算符:=+ -= *= /= %=
比较运算符: > < >= <= != ==
逻辑运算符:& | ! ^ && ||
条件运算符:? :
位运算符: & | >> << >>>
算数运算符
+
求和、字符串拼接连接符不是追加符
字符串不可变。。。。。
-
减法 、负数
*
乘法
/
两个整型相除,整除没有小数点,也不会四舍五入
两个整数相除,第二个数不能为0
两个非整数相除如 小数,可以为0 ,值 Infinity
%
模 mod 余数
整数取模
余数的符号跟被除数一致
++
先导++,先自增,后表达式 b=++a;→a=a+1;b=a;
后导++,先表达式,后自增 b=a++;→b=a;a=a+1;
--
自减
赋值运算符
=
拷贝内容 拷贝值|地址值; java一切都是值传递|拷贝
扩展运算符
+- -= *= /= %=
优点:
1、简化
2、类型转换
缺点:
不便于阅读