本文是《凯哥陪你学系列之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
网友评论