Java基础(一)基本数据类型

基本数据类型

目录

基本数据类型

整数类型:

浮点类型:

字符类型

布尔类型 


在Java中有8中基本数据类型来储存数值:

整数类型:

 创建整型变量

byte a=12;
byte a=12,b=-13;
short a=156;
short a=156,b=-231;
int a=5454;
int a=5454,b=-5426;
int c=2+b;
long a=9876543210L;
long a=123L,b=-12655L;
long c=123L+456L;//long定义后面要加L或l;

long定义的数据整数后面要加后缀L或l,如果不加在java中默认整数为int类型;

列如:

long a=123456789*987654321;就是错误的;

 我们可以发现没加L的输出的第一行是-67153019结果明显不对,这是因为整数没有加后缀L,默认为int类型,相乘后得到的值已经溢出了,因此得到了一个错误的值。

使用不同进制给整数赋值:

public class text1 {

	public static void main(String[] args) {
		int a =33;//10进制
		int b=033;//8进制
		int c=0X33;//16进制
		System.out.println(a);
		System.out.println(b);
		System.out.println(c);
	}

}

进制转化运行(统一转化为10进制)以后会得到结果:

浮点类型:

 创建浮点变量:

float a=1.1F;
float a=1.1F,b=2.4f;

float修饰的值必须加F或f后缀。

double a=3.1415926;
double a=3.1415926,b=-123.00005;
double c=1.1D,e=1.2d,f=1.3;

double修饰的值可以加D,d后缀或者什么后缀都不加(因为double是浮点类型的默认类型)。

Java中的浮点值是近似值,不准确!

案列1   4.35*100

 发现double 4.35*100=434.999999999994,解决这个问题我们可以采用四舍五入的方法,使用Java提供的Math.round().

 这样结果就对了。

案例2    0.1==2.0-1.9

可以发现结果为false,也就是不相等,然后可以发现b的结果是0.100000000000009现实与现实不相符 。

解决办法:最小对比法,使用Java提供取绝对值方法Math.abs()与最小数“1e-6相比较。

1e-6是理论的最小数,如果两个数的差比它还小那么可以认为这两个数相等。

 最终我们得到了ture,说明相等。

字符类型

用单引号包含的可打印的单个符号

这些都是字符:

'a'  'M'  '8'  '#'  '是'  ' '

以下不是字符:

‘java'      "A"     '8'!=8

 8*2=16;

'8'*2=112;

char类型

同C和C++语言一样,Java语言也可以把字符作为整数对待。由于Unicode编码采用无符号编码,可以存储65536个字符(0x0000~0xffff),所以Java中的字符几乎可以处理所有国家的语言文字。若想得到一个0~65536的数所代表的Unicode表中相应位置上的字符,也必须使用char型显示转化。

char可以保存字符以外,还可以保存字符编码.

创建字符的例子:

 我们发现两种赋值得到的结果一样,这是因为任意一个字符都有字符编码。

比如汉的字符编码就是27721.

转义字符 :

 

布尔类型 

创建布尔类型:

boolean a;
boolean a=true;
boolean a=true,b=false;

布尔类型只有两个值ture和false. 

【编程训练】*

【训练一】统计粮仓的粮食

一个圆柱形粮仓,底面直径为10m,高为3m。该粮仓体积为多少立方米?如果每立方米屯粮750kg,该粮仓一共可储存多少千克粮食?


public class text1 {

	public static void main(String[] args) {
	double P=3.14;
	int H=3;
	int d=10;
	double V=P*(d/2)*(d/2)*H;
	System.out.println("该粮仓体积为"+V+"m³");
	System.out.println("该粮仓可以储存粮食"+V*750+"kg");
		
	}
}

 【训练二】谁该交税

员工a,员工b的月薪分别为4500元与5500元,判断哪位员工需要交税?哪位员工不需要缴纳个人所得税?(假设工资薪金所得的个税起征点为5000元)


public class text {

	
	public static void main(String[] args) {
		final int MAX=5000;
		int a=4500;
		int b=5500;
		System.out.println("员工a的工资为"+a+"元");
		System.out.println("员工b的工资为"+b+"元");
		if(a>=MAX)
		{
			System.out.println("a员工要交个人所得税!");
		}
		else {
			System.out.println("a员工不需要交税。");
		}
		if(b>=MAX)
		{
			System.out.println("b员工要交个人所得税!");
		}
		else {
			System.out.println("b员工不需要交税.");
		}

	}

}


 

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值