Java 2 实用教程-基本数据类型

2.2基本数据类型

1.逻辑类型:boolean

  1. 常量:true false

  2. boolean类型的值只有true和false两种逻辑值

  3. 用boolean声明逻辑变量,声明时可以赋给初值

    列如:

    boolean male=true/*给初值*/,on=true/*给初值*/,off=false/*给初值*/,isTriangle;
            isTriangle=true;/*先声明再给值*/
            if(isTriangle==false) {
                System.out.println("小哥哥");  
            }
            else {
                System.out.println("小姐姐");
            }
            System.out.println(male);
            System.out.println(on);
            System.out.println(off);
    运行结果:
    小姐姐
    true
    true
    false

2.整数类型(int byte short long)

a.int型

  1. 分配4个字节,因此,取值范围是:-231~231-1。

  2. 用int声明int型变量,声明时可以赋给初值;声明的值可以改变,在int前加final后不能改变,因为加final后是个常量了不能改变。

    列如:

    int i=100,j=200;/*给初值i,j*/
            System.out.println(i);
            System.out.println(j);
            i=1;/*改变初值i*/
            System.out.println(i);
            System.out.println(j);
    运行结果:
    100
    200
    1
    200

b.byte型

  1. 分配1个字节,因此,取值范围是:-27~27-1。如果声明一个byte型变量大于127,则127后面是-128,-127·····,形成-128~127的周期循环

列如:

byte a=(byte)128;//由于128大于取值范围则需要加上byte进行转换
        System.out.println(a);
结果:
-128
  1. java中不存在byte型常量的表示法(不是说不能加final),但可以把一定范围的int型常量赋值给byte型常量。

c.short型

  1. 分配2个字节,取值范围:-215~215-1。

  2. java中不存在short型常量的表示法(不是说不能加final),但可以把一定范围的int型常量赋值给short型常量。

d.long型

分配8个字节,取值范围:-263~263-1

long型常量用后缀L来表示。

3.数据类型:char

  1. 分配2个字节,取值范围:0~65535。没有负数的char

  2. 对于 char x='a'; 内存x中存储的是97,97是字符a在Unicode表中的位置。

    点击了解char

    char x='b',y=67;
            System.out.println(x);
            System.out.println(y);
    结果:
    b
    C

3.特殊符号,需要通过\转译。

列如:

char x='\\',y='\"';
        System.out.println(x);
        System.out.println(y);
结果:
\
"

4.十六进制转译 需要u做前缀 格式为 :‘\u····’

列如:0041(十六进制数)=65(二进制) 65在Unicode中对应A

char x='\u0041',y='\u0061';
        System.out.println(x);
        System.out.println(y);
结果:
A
a

char举例

public class Hello2 {
    public static void main(String[] args) {
        char chinaWord='好',japanWord='あ';
        char you ='\u4F60';
        int position=20320;
        System.out.println("汉字:"+chinaWord+" 的位置:"+(int)chinaWord);
        System.out.println("日文:"+japanWord+" 的位置:"+(int)japanWord);
        System.out.println(position+" 位置上的字符是:"+(char)position);
        position=21319;
        System.out.println(position+" 位置上的字符是:"+(char)position);
        System.out.println("you: "+you);
        
    }
}

4.浮点类型:float double

a.float(单精度)

  1. 常量后面必须要有后缀 f 或 F 例如:12.123f

  2. 分配4个字节

  3. float 变量在存储float型数据时保留8位有效数字(相对double型保留的的有效数字,称之为单精度)。例如,将常量12345.123456789f 赋值给float 变量x :x=12345.123456789f。那么,x存储的实际值是:12345.123046875(8位有效数字,加粗的是有效数字)。

b.double(双精度)

  1. 常量后面有后缀d或D,可以省略

  2. 分配8个字节

  3. double 变量在存储double型数据时保留16位有效数字(相对double型保留的的有效数字,称之为双精度)

float与double

public class Hello {
​
    public static void main(String[] args) {
        float x=12345.1234567890f;
        double y=12345.102030405060708090;
        System.out.println(x);
        System.out.println(y);
​
    }
​
}
结果:
12345.123
12345.10203040506

注:float x=0.4f double y=0.4 x!=y

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值