Java数据与运算符

1.Java数据类型划分

  • 八种基本数据类型
    • 整形:byte、short、int、long(默认值为0)
    • 浮点型:double、float(默认值0.0)
    • 字符型:char(默认值为’\u000’)
    • 布尔型:boolean(默认值为false)
  • 引用型数据类型:数组、类、接口(默认值为null)

1.1 整形

1.1.1 int

  • 在Java中,任何一个整形常量都是int型,如10,100,2,5
  • int有它的最大值和最小值,在计算时,会出现溢出的问题,如下:
public class Test{
	public static void main(String[] args){
		int maxValue = Integer.MAX_VALUE;
		int minValue = Integer.MIN_VALUE;
		long num = maxValue + 1L; 	//加L进行整形提升
		System.out.println(maxValue);  	//2147483647
		System.out.println(maxValue + 1); //-2147483648
		System.out.println(num); 	//2147483648

		System.out.println(minValue);	 //-2147483648
		System.out.println(minValue - 1);
	}
}
  • 小的数据类型和大的数据类型运算,自动提升为大的数据类型
  • 大的数据类型转为小的数据类型,必须进行强转,但有时会丢失精度,如下:
long num = 2147483648L;
int a = (int)num;     //结果为 -2147483648
  • 数据类型的默认值在主方法无效
  • 只有在类中有默认值,如下:
public class Test{
	public static void main(String[] args){
		int num;     //错误,没有默认值,必须初始化
		System.out.println(num);
	}
}

1.1.2 byte

  • 将一个常量整形赋给byte,理应强转,但常量数据在byte范围内,所以不用强转
	byte num = 10;
	System.out.println(num);
  • 将一个常量整形赋给byte,如果数据类型超过byte范围,强转的时候会有精度损失
	byte num = (byte)300;
	System.out.println(num);     //输出44
  • 将一个整形变量赋给byte,必须强转
	int num = 10;
	byte num1 = (byte)num; 
	System.out.println(num1);    //10

1.2 浮点型

描述小数默认为double类型

1.2.1 double

  • double 类型数据运算时,会自动提升为double
	double num = 10.2;
	System.out.println(num * 2);   //20.4

1.2.2 float

定义float变量时,后面要加F

	float  f1 = 1.1F;
  • 用一个int / int = int ; 用一个 int /double = double
	int num1 = 10;
	int num2 = 6;
	System.out.println(num1 / num2);    //1
	System.out.println(num1 / (double)num2);     //1.666666666666667

1.3 char

  • A ~ Z (65 ~ 90)
  • a ~ z (97 ~ 122)
  • int 到char需要强制类型转换。char到int自动提升
	char c = 'A';
	int num = c;
	System.out.println(num);    //65

	int  num2 = 32 + 'A';     //int + char = int
	char c2 = (char)num2;    //a

1.4 布尔型

在java中,有Boolean类型表示真假,但在其他语言中0表示假,非0为真

1.5 String 类

用char描述单个字符,用String描述多个字符,String 不是基本数据类型,是引用数据类型

	String str = "我爱java";
  • String 中可以使用’+’,用来连接两个字符串
	int num = 10;
	double num1 = 10.2;
	System.out.println("计算结果是:"+ num + num1);     //计算结果是:1010.2
	System.out.println("计算结果是:"+(num + num1));   //计算结果是:20.2
  • 在输出语句时,有几个转义字符\n , \t , \

2.Java 运算符

2.1 基本运算符

和其他语言一样,因为存在优先级问题,所以尽量加括号

2.2 三目运算符

	int x = 3;
	int y = 4;
	int z = x>y ? x+y : x-y;
	System.out.println(z);     //-1

2.3 关系运算符

> >= < <= != == 结果返回真或假

2.4 逻辑运算符

& &&,或| ||, 非!

	if (1<2 | (10/0 == 0)){
		System.out.println("条件满足")//java.lang.ArithmeticException: / by zero
	}
	
	if (1<2 || (10/0 == 0)){
		System.out.println("条件满足")//输出条件满足
	}
  • 由以上可知,在使用|时,两个条件都得判断;在使用||时,只需要判断第一个条件,后面不判断
  • 同理,&&&是一样的

2.5 位运算符

& | ^ ~ 二进制运算

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值