【Java的学习2】对各类变量的整理

文章详细介绍了Java中的数据类型,包括基本数据类型如byte、short、int、long、float、double、char和boolean,以及引用数据类型如类、接口和数组。讨论了+运算符在不同类型间的使用,浮点数的表示和陷阱,以及API在编程中的作用。还提到了字符和字符串的转换,以及数据类型的强制转换规则。
摘要由CSDN通过智能技术生成
System.out.println();//输出语句
char x='';
String g="";//有点遗忘了,记录一下

Java程序中+的使用:

System.out.println(100+98);//198
System.out.println("100"+98);//10098
System.out.println(100+3+"hello");//103hello
System.out.println("hello"+100+3);//hello1003

Java数据类型:

//基本数据类型:
byte [1]字节
short [2]
int [4]
long [8]
float [4]
double [8]
char [2]
boolean [1]

//引用数据类型:class
接口interface
数组[]

对于字节:
1、byte 1字节 -128~127
2、short 2字节 -32768~32767
3、int 4字节 -2147483648~2147483647
4、long 8字节 -263~263-1。


整型的细节:
1、Java的整型常量默认为int型,声明long型常量后需要加’l’或"L"
例:long n=1L;
2、bit是计算机中最小的存储单位,byte是计算机中基本存储单元
1byte=8bit。


浮点型:
float 4字节 -3.403E38~3.403E38
double 8字节 -1.798E308~1.798E308
浮点数在机器中存放形式:符号位+指数位+尾数位
浮点型的细节:
1、Java的浮点型常量默认为double型,声明float型常量,需在后面加’f’或"F"

	float n=1.1;//会报错,因为1.1默认为double,需要加f
	//正确形式:
	float x=1.1f;
	//并且可以将float的常量放进double中:
	double a=1.1f;//是可以的

特别的浮点数表示形式:

	double a=.123;//可以运行并且a=0.123
	//5.12e2=512
	//5.12E-2=0.0512

浮点数使用陷阱:

	double a=2.7;
	double b=8.1/3;
	System.out.println(a);//2.7
	System.out.println(b);//一个接近2.7但不是2.7的小数

对于浮点数的使用陷阱问题:
应该以两个数的差值的绝对值,在某个精度范围内判断
例子:

	double a=2.7;
	double b=8.1/3;
	//(Math.abs(a-b)<0.000..001)这种方式来判断

API是Java提供的基本编程接口,提供了大量的基础类
在https://www.matools.com中可以看到在线API文档


char 2字节 存放单个字符
字符类型可以直接存放一个数字
字符类型使用细节:
1、用’ '单引号
2、char本质是一个整数,输出时是unicode码对应的字符
http://tool.chinaz.com/Tools/Unicode.aspx
3、char可以进行运算

	System.out.println('a'+10);//97+10也就是输出107

ASCII编码表 一共有128个字符
Unicode编码表 字母和汉字都是占用两个字节
utf-8编码表 大小可变的编码 字母用一个字节 汉字用三个字节
gbk编码 可表示汉字,并且范围广
gb2312 可表示汉字,gb2312<gbk
big5码 繁体中文

在桌面创建一个java文件,选择utf-8编码,然后在文件里面随便输入三个字符再加一个汉字,保存后刷新桌面查看桌面java文件的属性就能看到这个文件的大小中就能看到是六个字节,也就是三个字符的三个字节,加上一个汉字的三个字节。


Java里不能用0或非0的整数替代false和true,这点和C语言不同
自动转换:在Java程序进行赋值或者运算的时候,精度小的类型自动转换为精度大的数据类型:
char—>int—>long—>float—>double;
byte—>short—>int—>long—>float—>double

	int a='c';//这个是可以的

多种类型混合运算时,系统会自动将所有数据转换成容量最大的那种数据类型,再计算

	int n=10;
	float m=n+1.1;//错误,因为1.1会变成double类型,用float会错误

虽然byte和int相比精度小,但是把具体的数赋给byte时,会先判断这个数是否在byte范围内,如果是就可以

	byte a=10;//可以
	int x=1;
	byte y=x;//不可以

char、byte、short之间不能相互转换
但是这三者运算时会先转换成int型
boolean不参与转换

	byte a=1;
	short b=1;
	short c=a+b;//会报错,因为都变成int类型了,应该用int来接收
	byte d=1;
	byte e=a+d;//会报错,依旧会变成int
	boolean a=true;
	int b=a;//错误,boolean不参与转换

运用强制转换的方式就不会报错:

	int n=(int)1.9;
	System.out.println(n);//输出1,不会报错,精度损失
	int n=2000;
	byte x=(byte)n;
	System.out.println(x);//造成数据溢出

强转符号仅针对最近的操作数有效:

	int x=(int)10*3.5+6*1.5;//把10转换为int,*3.5后变成double,最后错误
	int y=(int)(10*3.5+6*1.5);//(int)44.0

基本数据类型和String类型的转换:

	int n1=100;
	float n2=1.1f;
	double n3=3.4;
	boolean b1=true;
	//用以下方式就能得到字符串
	String str1=n1+"";
	String str2=n2+"";
	String str3=n3+"";
	String str4=b1+"";
	//其他String类型转基本数据类型同理
	//String类型转基本数据类型:
	String n4="123";
	int n5=Integer.parseInt(n4);
	//转换成Boolean类型:
	boolean n6=Boolean.parseBoolean("true");

以上就是关于一些Java各类变量的学习整理

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值