JAVA学习笔记之数据类型



在说JAVA的数据类型之前,我们来说一下关键字,标识符,变量,常量等常用术语。

标示符:就是名字或者代号,JAVA的标志符必须有字母, 下划线,$开头;其后可以跟上任意数量的字母,数字,下划线,$字符.

使用标志符必须的注意一下几点:

关键字:在程序里有特定的用途和特定的功能的字符,的所有关键字都是小写,TURE,FALSE,NULL都不是关键字以下是java的所有关键字总共48个(goto和const作为关键保留字也不能用):

变量:就是定义一个数值,可以变动.可以改变,可以是一个数字,字符,字符串

常量:就是 一旦定义,其值就不可以更改

Java语言的都是强制类型语言,所谓的强制性就是指必须的先声明后使用.(以后你们就会知道强制类型语言的好处)

Java变量按照位置可以分为局部变量(方法和语句块内部)和成员变量(方法的外部和类的内部)

局部变量(在作用域内不可以用相同的数据变量,在显示之前必须有程序员初始化) 它还可以细分为

1.方法的形参变量:方法()内的参数变量

2.方法体中的变量

3.代码块中的变量

好了,准备工作以作足,我们开始说数据类型:

JAVA的数据类型分为基本数据类型(Primary Type)和引用数据类型(Reference Type).

每种数据类型占用的字节

注意:

1.Char不管是一个字符还是一个中文都是两个字节,char是可以存中文的,因为java使用的是unicode编码,char是两个字节,16位 65565个字,能表示丰富的国际化文字.

2.定义整数的时候,系统默认的是int类型,如果要用long数据类型就必须得在数值的最面加一个L后缀.

3.定义浮点型时,系统默认的是双精度double,如果要用单精度float就得在数值后面加f后缀.

4.常量一般都是大写;并且不可改变.

宽转化时安全的自动的,就像把小桶的可乐倒在了大可乐桶里.

窄转化 相当于把大桶的可乐刀在拉小桶的可乐里,容易照成溢出(即精度缺失) 不安全不是自动的 需要程序员的强制转化.

当给char byte short是赋值时是直接赋值.但这三种类型在运算时也会转换成int 再计算,的防治宽转化和窄转化而产生精度损失.

针对数据类型常出现的面试题:

面试题1:Byte a = 127;a = a + 1;System.out.print(a);以上代码执行结果是什么?

答: 是报错:可能精度损失. 因为1是int , 在a +1 过程中,会将a 的值宽转化为int,得到的结果是int型,此时a还是byte型,这时就发生啦窄转化,因而发生精度损失.

面试题2:如何修改?

答: 如果a + 1的结果没有超过a的数据类型byte的范围,就可以使用强制类型转换进行更改, 即 a = (byte) a + 1;

面试题3:Short a = 2;a+=1;System.out.println(a);以上代码执行结果是什么?

答: 是3; 因为a+=1是相当于将1的值直接加到啦a上,a不再用经过窄转化和宽转化.

面试题4:

Byte a = 1;

Byte b = 1;

Byte c;

C = a + b;

System.out.print(c);

以上代码执行结果是什么?

答: 是报错:可能精度损失. 因为 a + b 过程中 ,会将a和b的value因宽转化为int类型,两个int类型相加得到的是int类型,但c是byte类型,这时就发生窄转化,因而发生精度损失.

面试题5:char类型能不能存在中文字符?

答:可以存在中文字符,只能是一个(字母也是),并且是两位,因为java使用的是unicode编码,这种编码能表示丰富的国际化字符.(不管是中文还是字母,都是两位)

面试题6:

Double b = 7/2;

System.out.print(b);以上代码执行结果是什么?

答:是3.0 因为7和2都是int类型,通过运算得到3.5继而窄转化为int类型的3(中间已经发生啦精度损失),3是int类型,然而b又是double类型,从而宽转化为3.0.

面试题7:long类型一定要加L后缀吗?

答:不一定,如果的事定义的数字没有超过int的数值范围,就不用加,当数值超过啦int的数值范围就得加L后缀.

顺带说一下常用的转义字符:

\r 回车 回到首字母并覆盖原来的数据

\n 换行

\r 相当于tab键


String API:charAt(int index) 第一位字符是从0开始

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值