java基础---基本类型

1、数据类型

 java中整型默认是int类型(例如:随便写一个整数40,默认是int类型)

public class First {//First类
    //主方法
	public static void main(String[] args) {
        byte a = -128;//范围:-128~+127
        short b = 3000;//范围:-32768~32767
        int c = 563036566 ;//范围:-2^31~2^31-1
        long d = 15630365663l ;//范围:-2^63~2^63-1,注意在末尾加'L/l'代表long类型
        float f = 2.0f;//末尾加f,表示2.0不是double类型,而是浮点型

        //输入语句
        System.out.println(a);
        System.out.println(b);
        System.out.println(c);
        System.out.println(d);
        System.out.println(f);

    }
}

2、类型转换

public class HelloWorld {
	//java变量两种数据类型    基本类型 引用类型
	//基本:整型 (byte(1B) short(2B) int(4B) long(8B))浮点型 (float(4B) double默认(8B)) 字符型 布尔型
    //引用:类 (字符串)接口    数组 ...
	public static void main(String[] args) {
        //类型转换  自动类型转换 (小->大), 强制类型转换(大->小)

        //自动类型转换 (小->大)
        byte a = -128;
        short a_b = a;

        //强制类型转换(大->小),强制类型语法:(目标类型)变量
        short a = -128;
        byte a_b = (byte)a;
    }
}

强制类型转换,数值过大容易丢失数据,优化代码

public static void main(String[] args) {
		
		short c= 300;
		if(c>=-128&& c<=127) {//在一定范围内,进行强制类型转换
			byte d = (byte)c;
			System.out.println(d);
		}

float与int谁的精度更高?  int 。            

char类型

char在java中是一个16位无符号的整数。
char类型是多少字节?   如果是ACSII编码是1字节,Unicode编码是2字节。

char类型,来存放抽象符号的类型,只能放一个字符,使用单引号 '' 

char a = '1';√     char a = '11';❌(只能放一个字符)

public static void main(String[] args) {        
        //char 类型 范围:0~65535
		char a = '中';
		char a1 = '\u4e2d';//u表示Unicode编码,4e2d表示十六进制数
		char a2 = 20013;//抽象符号对应的十进制编码
		System.out.println(a);
		System.out.println(a1);
		System.out.println(a2);
        //结果 都是 中


        //找符号对应的编码
		int text = '@';
		System.out.println(text);//结果 64
}

boolean类型

boolean类型占多少字节?    单独的boolean类型变量是4字节,boolean类型数组的的每一个布尔元素是1字节。

        boolean a = true;
        boolean[] arr = {a,false,true};//只能放true ,false
        if(a) {  //boolean类型一般用于条件判断
            System.out.println("ok");
        }

转义字符    反斜杠 ' \ '

要求把数字中的"打出来,示例:1234"5678

//转义字符
    System.out.println("1234\"5678");

3、精度丢失

System.out.println((1.2-1)==0.2);输出结果为false,出现精度丢失

解决办法,使用java中的BigDecimal类

import java.math.BigDecimal;//导入BigDecimal包
public class First {
    public static void main(String[] args) {
        //解决精度丢失
        System.out.println((1.2-1)==0.2);//结果是false

        //解决办法
	    BigDecimal num1 = new BigDecimal(1.2);
        BigDecimal num2 = new BigDecimal(1);
	    BigDecimal res = num1.subtract(num2);//调用减法方法substract
	    System.out.println(res.floatValue());//输出结果0.2
    }
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值