java数据类型,进制等(以及笔试小题)。
JDK(包含JRE):JDK是java development kit,JRE是java运行时环境
开发时安装JDK,项目上线运行时安装JRE
配置环境变量
JAVA_HOME (JDK安装目录,能看见bin目录的那个根目录复制到变量值)
PATH %JAVA_HOME%/bin
查看cmd 然后java -version
进制转换
Java语言基础(不同进制数据的表现形式)(掌握)
A:二进制的数据表现形式
* 由0,1组成。以0b(b可以大写也可以小写)开头(JDK1.7版本可以表示二进制了)
B:八进制的数据表现形式
* 由0,1,…7组成。以0开头
C:十进制的数据表现形式
* 由0,1,…9组成。整数默认是十进制的
D:十六进制的数据表现形式
* 由0,1,…9,a,b,c,d,e,f(大小写均可)。以0x开头
Java中的默认转换规则
* 取值范围小的数据类型与取值范围大的数据类型进行运算,会先将小的数据类型提升为大的,再运算
基本数据类型分类(4类8种)
1. 整数型
byte 占一个字节 -128到127
short 占两个字 -2^15~2^15-1
int 占四个字节 -2^31~2^31-1
long 占八个字节 -2^63~2^63-1
浮点型
float 占四个字节 -3.403E38~3.403E38 单精度
double 占八个字节-1.798E308~1.798E308 双精度
字符型
char 占两个字节 0~65535
布尔型
boolean
boolean理论上是占八分之一个字节,因为一个开关就可以决定是true和false了,
但是java中boolean类型没有明确指定他的大小
2. int x = 4;
int y = (x++)+(++x)+(x*10);//70
3.
1
面试题
byte b = 10; //Y
b++; //Y b = (byte)(b+1);
b+=1; //Y
b = b + 1; //N
问哪句会报错,为什么
2
(同类)short s=1;s = s+1;
short s=1;s+=1;
3
byte b1 = 3;
byte b2 = 4;
byte b3 = b1 + b2;
从两方面去回答这个题
b1和b2是两个变量,变量里面存储的值都是变化的,所以在程序运行中JVM是无法判断里面具体的值
byte类型的变量在进行运算的时候,会自动类型提升为int类型
byte b4 = 3 + 4;
3和4都是常量,java有常量优化机制,就是在编译的的时候直接把3和4的结果赋值给b4了
作业:1:计算出十进制46对应的二进制,八进制,十六进制的值。
至于进制的内容今天在练习一次,以后就可以不用练习了。
后面能听懂就OK了。不用浪费太多时间。
(可用计算器验证你算的是否正确)
0d101110 2#
056 8#
2E 16#
2:什么是变量?变量的定义格式?要使用变量需要注意什么?
程序执行过程中其值能在一定范围内变化的量,能用来存放常量;
数据类型 变量名 = 变量值
局部变量使用前一定要先赋值;同一个区域不能使用相同的变量名
3:Java中的数据类型分几类?基本数据类型有哪些?
四类
整形:byte(一字节) short(2) long(8) int(4)
浮点型:double(8) float(4)
字符型:char(2)
布尔型:boolean(八分之一字节)
ps:一字节有8bit;
4:数据类型转换:
隐式转换:取值范围小的数据类型与取值范围大的数据类型进行运算,会先将小的数据类型提升为大的,再运算
强制转换:
面试题:
第一题:
byte b1=3,b2=4,b;
b=b1+b2;//b1 和 b2是变量,变量中存的值是变化的,所以在程序运行中JVM是无法判断里面具体的值
b=3+4;//3和4是常量,在byte类型的范围内,不报错
哪句是编译失败的呢?为什么呢?
第二题:
byte by = 130;有没有问题?有问题如何解决?结果是多少呢?
//超过取值范围,换一种数据类型定义
第三题:
byte b = 10;
b++;//b = (byte)(b+1);
b = b + 1;//1默认为int类型,b自动转型为int与1做加法,结果是int类型的。把int类型赋给byte类型b
哪句是编译失败的呢?为什么呢?
5:常见的算术运算符有哪些?//* / + -,--,++
+运算符的作用有哪些?
答:正号,字符串连接符号,算术运算符
除法和取余的区别?//除法的结果是商,取余的结果是余数
++和--的使用规则?//a++是先执行再++,++a是先++再执行,--同理
6:常见的赋值运算符有哪些?// = +=,-=,*=,/=,%=
+=运算的作用是什么?//左边的加上右边的值赋给左边的
扩展的赋值运算符有什么特点?//简化代码
7:short s = 1; s = s + 1;有没有问题?如果有怎么解决?//有问题,1默认为int类型,s自动转型为int与1做加法,
//结果是int,把int类型赋给short不行; 应该 s = (short)s+1;进行强制类型转换
short s = 1; s += 1;有没有问题?如果有怎么解决?
// 没问题
8:常见的关系运算符有哪些//==,!=,>,>=,<,<= ?/
关系运算符的结果有什么特点?//结果为boolean类型