作业+总结 0506

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
数据类型
字节型
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
fl float
4 个字节
1.4013E-45~3.4028E+38
双精度浮点数
double( 默认 )
8 个字节
4.9E-324~1.7977E+308
字符型
char
2 个字节
0~65535
布尔类型
boolean
1 个字节
true,false
自动转换 :将取值范围小的类型自动提升为 取值类型大的范围。
强制类型转换 :将取值范围大的类型 强制转换成 取值范围小的类型。
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值