数据类型
- 强类型语言
- java的数据类型分为两大类
- 基本类型
- 引用类型
整型
八进制:0开头
十六进制:0开头
二进制:0b开头
浮点数
浮点数 是有限的 离散型 舍入误差 大约 接近但是不等于
少用浮点数进行比较
最好完全避免使用浮点数进行比较
所有的字符本质上还是数字 //编码
转义字符 \
\t 制表符 \n换行
String a2 = new String("hello world");
String a3 = new String("hello world");
System.out.println(a2 == a3);
String a4 = "hello world";
String a5 = "hello world";
System.out.println(a4 == a5);
//对象 从内存分析
//布尔值扩展
boolean flag = true;
if (flag == true){}//新手
if(flag){}//老手
//代码要精简易读
类型转换
由于Java是强类型语言,所以在进行有些运算的时候,需要用到类型转换。
转换是由低到高,运算中不同类型的数据先转换为同一类型,然后进行运算。
int i = 128;
byte b = (byte)i;//内存溢出
//强制转换 由高到低
//(类型)变量名
//自动转换 由低到高
/**
注意点:
1.不能对布尔值进行转换
2. 不能把对象类型转换为不相干的类型
3.把高容量的转换为低容量的时候,进行强制转换
4.转换的时候可能才能存在内存溢出,或者精度问题
*/
System.out.println((int)27.23);//27
System.out.println((int)-45.45f);//-45
//操作比较大的数字的时候,注意溢出的问题
//数字之间可以用下划线分割
int money = 10_0000_0000;
int years = 20;
int total = money*years;//溢出
long total2 = money*years;//在转换前就已经出现问题了
long total3 = money*((long)years);//将一个变量转为long
变量
变量:变化的量
type varName [= value] [{,varName[= value]}];
//数据类型 变量名 = 值;可以使用逗号隔开来声明多个同类型的变量 (不建议使用)
变量作用域
类变量
static int i;//在方法外类中
//可以直接使用
实例变量
//从属于对象
//如果不自行初始化,这个类型的默认值0 0.0
//布尔值:默认值为false
//除了基本类型,其余的默认值都是null
//新建new对象
局部变量
{
//局部变量 只在方法块中有效
}
常量
//初始化后不允许改变
final static int a = 1;//修饰符不存在先后顺序
包机制
java提供了包机制,用于区别类名的命名空间
本质就是文件夹
包名定义:一般运用公司域名倒置作为域名
package 文件所在文件夹
import 导包
运算符
算术运算符:+,-,*./,%,++,–
赋值运算符:=
关系运算符:>,<,>=,<=,==,!= instanceof
逻辑运算符:&&,||,!
位运算符:&,|,^,~,>>,<<,>>>
条件运算符:? :
扩展赋值运算符:+=,-+,*=,/=
idea快键键
ctrl+d复制当前行到下一行
javadoc
@author 作者名
@version 版本号
@since知名需要使用的最早jdk版本
@param 参数名
@return 返回值情况
@throws 异常抛出情况
javadoc -encoding UTF-8 -charset UTF-8 Doc.java//生成一份文档以便阅读