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

本文是《凯哥陪你学系列之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篇 数据类型(二))