1.(标识符命名)下面几个变量中,那些是对的?那些是错的?错的请说明理由
A. ILoveJava 可以 B. $20 可以 C. learn@java 不行 不能出现美元和下划线之外的符号 D. antony.lee 不行 不能出现点 E. Hello_World 可以 F. 2tigers 不行 数字不能出现在开头
2.(基本类型的运算)一家商场在举行打折促销,所有商品都进行8 折优惠。一 位程序员把这个逻辑写成: short price = ...; // 先计算出原价 short realPrice = price * 8 / 10; //再计算出打折之后的价格 问:这段代码是否正确?如果正确,假设price 为100,那计算之后的 realPrice值为多少?如果不正确,应该怎么改正?
不正确,short类型不能够直接计算,因为short在计算时会变成int形式,这样的结果与 short realPrice的short形式互相冲突
改正方法1
class Work1{
public static void main(String[] args){
short price = 100;
int realPrice = price*8/10;
System.out.println("折后价是"+realPrice);
}
}
改正方法2
class Work2{
public static void main(String[] args){
short price = 100;
short realPrice =(byte)(price*8/10);
System.out.println("折后价是"+realPrice);
}
}
3. 面试题: 第一题: byte b1=10,b2=20,b; b=b1+b2; b=10+20; 哪句是编译失败的呢?为什么呢?
b=b1+b2错误 因为在计算中,会强制把short类型提升为int类型计算,计算的结果也是int类型,但是把int类型赋值给short类型的b的时候,就冲突了. b=10+20是成功的 因为30的结果在short的范围内,可以正常进行short计算
第二题:(先做,明天讲,超出了byte范围,系统认为就是int-必须将数据强转为int才能计算)
byte x = 129;
class Work5{
public static void main(String[] args){
short c = (byte)(129);
System.out.println("129是"+c);
}
}
输出结果为-127
有没有问题?有问题如何解决?结果是多少呢? 写出运算过程
4:计算出十进制46对应的二进制,八进制,十六进制的值。 (可用计算器验证你算的是否正确)
46=101110 =56 =2E
5:什么是变量?变量的定义格式?要使用变量需要注意什么?
可以变化的量为变量 java要求每个变量只能保存一个数据,而且要声明变量类型
6:Java中的数据类型分几类?基本数据类型有哪些?
基本数据类型:整数 浮点数 字符 布尔 引用数据类型 类 数组 接口 数据类型 关键字 内存占用 取值范围 字节型 byte 1个字节 -128~127 短整型 short 2个字节 -32768~32767 -2^15 ~2^15-1 整型 int(默认) 4个字节 -2的31次方~2的31次方-1 长整型 long 8个字节 -2的63次方~2的63次方-1 float 4个字节 1.4013E-45~3.4028E+38 双精度浮点数 double(默认) 8个字节 4.9E-324~1.7977E+308 字符型 char 2个字节 0~65535 布尔类型 boolean 1个字节 true,false
7:Java中的显示转换和隐私转换分别是什么?为什么要使用显示转换(强转)
隐式转换就是系统默认的、不需要加以声明就可以进行的转换。 小的可以转换去大的里 byte,short,char -->int -->long -->float -->double 强制类型转换:将取值范围大的类型 强制转换成 取值范围小的类型。
8.编程题: 请将两个变量的数据值进行互相交换,例如int a =10 ;int b = 20 ;最后a是20 b是10
class Work7{
public static void main(String[] args){
int a = 10;
int b = 5;
int c =a+b;
a = c-a;
b = c-b;
System.out.println("a是"+a+"b是"+b);
}
}
9.金山打字练习(提高打英文字母速度),将今天的内容自己总结下,通过md文档
10.今日博客总结重点内容
整数常量所有的整数0,1 , 567 , -9小数常量所有的小数0.0 , -0.1 , 2.55字符常量单引号引起来,只能写一个字符,必须有内容‘a’, ' ', ' 好字符串常量双引号引起来的内容,可以写多个字符,也可以不写“A” , "hello" , " 你好 " , “”布尔常量只有两个值(流程控制中讲解)true , false空常量只有一个值(引用数据类型中讲解)null
原码就是二进制定点表示法,即最高位为符号位, “0” 表示正, “1” 表示负,其余位表示数值的大小反码正数的反码与其原码相同;负数的反码是对其原码逐位取反,但符号位除外。补码正数的补码与其原码相同;负数的补码是在其反码的末位加 1 。
数据类型字节型byte1 个字节-128~127短整型short2 个字节-32768~32767 -2^15 ~2^15-1整型int( 默认 )4 个字节-2 的 31 次方 ~2 的 31 次方 -1长整型long8 个字节-2 的 63 次方 ~2 的 63 次方 -1fl float4 个字节1.4013E-45~3.4028E+38双精度浮点数double( 默认 )8 个字节4.9E-324~1.7977E+308字符型char2 个字节0~65535布尔类型boolean1 个字节true,false
自动转换 :将取值范围小的类型自动提升为 取值类型大的范围。强制类型转换 :将取值范围大的类型 强制转换成 取值范围小的类型。