美文网首页从零学Java笔录
从零学java笔录-第8篇 数据类型(二)

从零学java笔录-第8篇 数据类型(二)

作者: 凯哥Java | 来源:发表于2016-10-12 09:15 被阅读15次

    本文是《凯哥陪你学系列之java基础篇》

    本节主要内容:

    1:变量范围

    2:字符类型运算过程

    3:类型运算的细节

    4:运算符之算术元算

    1:变量范围

    变量都有取值范围的。其范围是离其最近的一对大括号里面。

    /**

    变量范围演示:

    变量都有其运行的范围。离其最近的一对大括号就是其范围。

    **/

    class VarDemo2{

    public static void main(String[] args){

    char c ='a';

    {

    char ch = 'b';

    System.out.println( c);

    System.out.println( ch);

    }

    }

    }

    修改:

    在ch所在大括号之外输出c和ch结果会如何?

    代码:

    class VarDemo2{

    public static void main(String[] args){

    char c ='a';

    {

    char ch = 'b';

    }

    System.out.println( c);

    System.out.println( ch);

    }

    }

    分析:

    字符类型运算过程

    编写代码直接输出字符a:

    class charDemo{

    public static void main(String[] args){

    char c = 'a';

    System.out.println( c);

    }

    }

    修改输出语句为:

    System.out.println( c +1);

    完整代码:

    class charDemo{

    public static void main(String[] args){

    char c = 'a';

    System.out.println( c);

    System.out.println( c +1);

    }

    }

    查看控制台输出:

    分析原因:

    计算机发明就是为了方便人类工作的。所以,尽管无论什么数据在计算机里面都是以010101二进制形式存在的。但是为了方便和生活中常用的字母相对应(为啥是字母呢?因为计算机是美国人发明的~).于是就在计算机里面用相应的数值表示生活中对应的字母。这些对应关系最终形成了一张表 叫做ASCII。

    ASCII(American Standard Code for Information Interchange,美国信息交换标准代码)是基于拉丁字母的一套电脑编码系统,主要用于显示现代英语和其他西欧语言。

    注意:ASCII码不支持中文。

    于是中国根据自己国家实际情况也同样出了一张表GB2312。随着生活文字增加,GB2312也不断换版本。最后统称为GBK。记住:GBK是咱中国的国家标准。

    Java中还有一种编码格式是unicode。这个支持几乎全球大多数的文字

    编码输入中文字符的【你】和其对应的编码值是多少

    class charDemo{

    public static void main(String[] args){

    char c = 'a';

    System.out.println( c);

    System.out.println( c +1);

    System.out.println('你');

    System.out.println( '你'+0);

    }

    }

    如果出现如下中文乱码

    需要修改环境变量。

    可以看到中文的 【你】对应的编码是20320.

    练习:输出【我 爱 你】三个中文对应的编码

    类型运算的细节

    细节1:考察点.整数类型默认类型

    byte b=3;

    b = b+4;

    如果这个时候输入b就会报错。精度丢失。

    原因:

    b是byte类型的。而4是整数型。整数默认是int类型的。又因为byte类型范围比int范围小。所以尽管3+4在byte的范围之内。但是还是会提示有可能精度丢失。

    细节2:考察点.不同数据类型的数值范围。

    byte b1 = 100;

    byte b2 = 50;

    byte b3 = b1+b2;

    这个依然会报错的。那是因为我们知道 byte类型的范围是-128~127之间。而b1+b2已经超出了byte类型的范围。所以会报错的。

    运算符

    算术运算符:

    加、减、乘、除、取余(模运算)

    代码演示:

    /**

    算术运算符演示

    **/

    class OperatDemo{

    public static void main (String [] args){

    /**

    算术运算符:加(+)、减(-)、乘(*)、除(/)、 取余(%)也模运算

    **/

    int i = 5;

    int  x = 2;

    System.out.println(5/2);//结果是:2

    /**

    说明:

    为什么 5除以2不是2.5而是2

    因为java是强类型的。i是int类型,x也是int类型。所以相除的结果也是

    int类型

    **/

    //模运算.就是取余的。

    System.out.println(5%2);//结果是:1

    System.out.println(5%10);//结果是:5

    System.out.println(5%5);//结果是:0

    /**

    int类型下:

    如果分母小于分子。模运算后,结果就是分母。

    当分子等于分母。模运算后,结果是0.因为没余数了。

    **/

    }

    }

    运行结果:

    欢迎关注公众号:凯哥Java

    相关文章

      网友评论

        本文标题:从零学java笔录-第8篇 数据类型(二)

        本文链接:https://www.haomeiwen.com/subject/tefiyttx.html