随笔day05
基本类型
整数拓展:
进制:二进制(0b)、十进制、八进制(0)、十六进制(0x)
例如:
int i=10; //十进制 10
int i1=010; // 八进制 8
int i2=0x10; // 十六进制 16
int i3=0b10; //二进制 2
浮点数拓展:
float、double
//银行业务怎么表示?
//float 它是离散的,有舍入误差,接近但不等于,在实际运用在很少使用浮点数来进行银行业务的处理,而是使用BigDecimal这个数学工具
float f=0.1f; // 0.1
double f1=1/10;// 0.1
System.out.println(f==f1);// 输出结果为false
System.out.println(f);// 输出结果为0.1
System.out.println(f1); // 输出结果为0.1
float d=1211231f;
float d1=d+1;
System.out.println(d==d1);// 输出结果为true
System.out.println(d);
System.out.println(d1);
字符型拓展:
char
char c1='a';
char c2='中';
System.out.println(c1);// 输出结果为 a
System.out.println((int)c1);//强制转换 输出结果为97
System.out.println(c2); // 输出结果为 中
System.out.println((int)c2);//强制转换 输出结果为20013
//所有的字符其本质还是数字!!!
//所有的字符其本质还是数字!!!
//所有的字符其本质还是数字!!!
//采用的Unicode编码表(a=97,A=65)占两个字节 2^16=65536
//unicode编码范围为 u0000~uffff;
char c3='\u0061';
System.out.println(c3);// 输出结果为a
转义字符
\t, 制表符,类似于按下tab键
\n, 换行符,类似于按下enter键
System.out.println("Hello\tWorld");//输出结果为Hello World
System.out.println("Hello\nWorld");/*输出结果为Hello
World*/
布尔值拓展:
boolean flag=true;
if(flag){} //默认为true;等价于if (flag==true){}
System.out.println("Hello,World");
类型转换
-
由于java是强类型语言,所以要进行有些运算的时候,需要用到类型转换
低------------------------------->高
byte,short,char,int,long,float,double(小数的优先级要大于整数)
-
运算中,不同类型的数据要先转换成同一类型,在进行运算
-
强制类型转换(由高到低)(类型)变量名
-
自动类型转换(由低到高)
例:
int i=128;
byte b=(byte)i;//byte范围为-128~127 内存溢出
System.out.println(i);//输出结果为128
System.out.println(b);//输出结果为-128
int i1=128;
double b1=i;
System.out.println(i1);//输出结果为128
System.out.println(b1);//输出结果为128.0
注意点: 1.不能对布尔值进行转换 2.不能把对象类型转换为不相干的类型 3.在把高容量转换为低容量的时候,需要强制转换 4.转换的时候可能存在内存溢出,或者进度问题!
例:
System.out.println((int)23.7);//输出结果为23 存在精度丢失
System.out.println((int)-45.89f);//输出结果为-45 存在精度丢失
char d='a';
int f=d+1;
System.out.println(d);//输出结果为为a
System.out.println(f);//输出结果为98
char e='a';
int g=e+1;
System.out.println(e);//输出结果为a
System.out.println((char)g);//输出结果为b
注意点:
1.操作比较大的数的时候,注意溢出问题 2.JDK7 新特性,数字之间可以用下划线分割
int money=10_0000_0000; System.out.println(money);
int year=20;
int total=year*money;
System.out.println(total);//-1474836480 计算时溢出
long total1=year*money;
System.out.println(total1);//-1474836480 默认是int,转换之前就出了问题
long total2=(long)year*money; System.out.println(total2);//20000000000
变量
-
变量是什么?就是可以变化的量!
-
java是一种强类型语言,每个变量都必须声明其类型
-
java变量是程序中最基本的存储单元,其要素包括变量名,变量类型和作用域
例:
type name=12;
//数据类型 变量名=值;可以用逗号隔开来声明多个同类型的变量
注意事项
-
每个变量都有类型,类型可以是基本类型,也可以是引用类型
-
变量名必须是合法的标识符
-
变量声明是一条完整的语句,因此每一个声明都必须要以分号结束
变量作用域:
-
类变量
-
实例变量
-
局部变量
public calss Variable{
static int allClicks=0; //类变量
String str="Hello,World";//实例变量
public void method(){
int i=0; //局部变量
}
}
//类变量 static
static double salary=2500;
//属性:变量
//实例变量: 从属与对象;如果不进行初始化,这个类型默认值;整数类和浮点类默认为0、0.0
//布尔值的默认值为false
//除了基本类型,其他的默认值都是null;
static String name;
static int age;
//main方法
public static void main(String[] args) {
//局部变量;必须声明和初始化值
int i=10;
System.out.println(i);
Demo07 demo07=new Demo07();
//变量类型 变量名=new base.Demo07();
System.out.println(Demo07.age);
System.out.println(Demo07.name);
System.out.println(salary);
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现