从零学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

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 第四天 数组【悟空教程】 第04天 Java基础 第1章数组 1.1数组概念 软件的基本功能是处理数据,而在处理数...
    Java帮帮阅读 1,614评论 0 9
  • 50道经典Java编程练习题,将数学思维运用到编程中来。抱歉哈找不到文章的原贴了,有冒犯的麻烦知会声哈~ 1.指数...
    OSET我要编程阅读 7,173评论 0 9
  • 本节主要内容: 1:数据类型 java中基本类型: Java八种基本数据类型: 类型 占用字节数 说明 范围2的幂...
    凯哥Java阅读 202评论 0 0
  • mean to add the formatted="false" attribute?.[ 46% 47325/...
    ProZoom阅读 2,726评论 0 3
  • 1 顺序语句 语句:使用分号分隔的代码称作为一个语句。 注意:没有写任何代码只是一个分号的时候,也是一条语句,...
    哈哈哎呦喂阅读 408评论 0 0