Java中的数值计算

本文详细介绍了Java中的数据类型,包括布尔、字符、整数、浮点等,并讨论了运算符的使用,如短整型与字符型的转换、大数值计算(BigDecimal)、类型转换等问题。还提供了多个小测验,如寻找最大8的倍数、计算个位、十位、百位等,以及闰年判断算法,最后提到了数值运算中可能遇到的问题和解决方案。
摘要由CSDN通过智能技术生成

在这里插入图片描述
java中的数据类型:
基本数据类型
布尔类型:boolean
字符类型:char
整数类型:byte short int long
浮点类型:float double

引用数据类型
	String Student Teacher.....

	class Student{}

	Student stu = new Student();

java中的运算符:

+ - * / %
[+:当+遇到String类型时候 表示追加连接 其他的情况-》算数加法]
	'a' + 13 + 'b' = 110 + 98 = 208
	'a' + 13 + "b" = 110b

[/:整数 / 整数 = 整数]
	9 / 2 = 4
[%:求余数]
	x % 5 == 0


+= -= *= /= %=.....
[他们可以保证运算符的左边的数据类型不发生改变 -》 隐式的强转]
	
	Student stu = new Student();
	stu.name = "小丽";
	stu.age = 22;
	stu.score = 59;

	if(stu.age > 18){
		stu.score += 5;
	}


++ --[自增自减运算符]
[a:取值	b:运算		x++:ab		++x:ba]
	int x = 45;
	//y赋值:
	//x++:先取值:45	运算:x=46
	//++x:先运算:x=47	//取值:47
	int y = x++[45] + ++x[47];//92
	System.out.println(x);//47
	System.out.println(y);//92


> < >= <= ! = != ==
	> < >= <=:都是boolean类型
	!:非		!boolean	!true = false	!false = true
	
	!=:判断左右两边的值是否不相等
		System.out.println(xxx.gender != '男');

	==:判断左右两边的是是否相等
		System.out.println(xxx.age == 18);

	=:赋值语句


&& || & |[逻辑运算符]
	
	&&和&之间的区别?
	&&和&都是逻辑的与 相当于汉文中并且的意思
	需要前后两个条件都成立才能执行

	&&叫做逻辑的短路与 有短路特性

1:short类型和char类型之间永远需要强转
short属于整数类型 底层16个位,取值范围:-2(15)到2(15)-1
char属于字符类型 底层基于Unicode编码实现的 ,取值范围:0到2(16)-1

2:字符类型的赋值方式:

public class TestDataType2{
   
	public static void main(String[] args){
   
	
		//数据单位 变量名 = 值;
		char x1 = 'a';//指定字面值的赋值方式
		char x2 = '中';//指定字面值的赋值方式

		//=====================================================
		char x3 = 97;//通过ascii编码进行赋值
		char x4 = '\u4e2d';//通过Unicode编码进行赋值
		char x5 = '\t';//转义字符

		/**
			\t		\r		\b		\n
			制表符	返回行首 退格键 换行
		*/

		System.out.println(x1);//a
		System.out.println(x2);//中
		System.out.println(x3);//97
		System.out.println(x4);

		System.out.println("e\tt\no\ra\bk");
		//e	t
		//k

		System.out.println("小明\t455");
		System.out.println("赵小刚\t666");

		//打印:D:\课件\et2003\day3

		System.out.println("D:\\\\课件\\et2003\\day3");
	}
}

3:整数类型的赋值方式

public class TestDataType3{
   
	public static void main(String[] args){
   

		int num1 = 24;//通过十进制进行赋值	******

		//============================================================
		int num2 = 024;//通过八进制进行赋值
		int num3 = 0x24;//通过十六进制进行赋值
		int num4 = 0b1011;//通过二进制进行赋值

		System.out.println(num1);//24
		System.out.println(num2);//024 = 2 * 8(1) + 4 * 8(0) = 16 + 4 = 20
		System.out.println(num3);//0x24 = 2 * 16(1) + 4 * 16(0) = 322 + 4 = 36
		System.out.println(num4);//

		//81 + 8 * 8(1) + 1 * 8(0) + 8 * 16(1) + 1 * 16(0) = XXXX
		//System.out.println(81 + 081 + 0x81);

		//二进制 -》 0-1
		//八进制 -》 0-7
		//十六进制 -》 0-9 a-f

		//jdk7.0开始数值中间可以加_ -》 读
		System.out.println(4_356_548_845L);



		//byte x = 55;
		//System.out.println(x);

		//System.out.println(55);//int

		//System.out.println(30 + 3L);

		//求一年的毫秒数
		//System.out.println(365L * 24 * 60 * 60 * 1000);

		//System.out.println(2147483647 + 1);
	}
}

4:float类型 double类型 科学计数法

public class TestDataType4{
   
	public static void main(String[] args){
   

		float x = 45.5F; //float类型需要加F,还有long类型
		double y = 45.5;

		//4.5E9 -> E:科学计数法  4.5 * 10(9)
		System.out.println(4500000000.0); //4.5E9
		System.out.
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值