java基础-1----环境、八种基本类型

  • java开发环境
  • 编译和运行过程:
  • 编译期:java源文件经过编译生成 .class字节码文件 
  • 运行期:JVM加载 .class,并运行 .class文件   运行的是(0/1)
  • 特点:跨平台,一次编译,到处使用
  • JVM、JRE、JDK
  • JVM:java虚拟机,加载 .class文件,并运行 .class文件
  • JRE:java最小的运行环境,JVM+Java类库
  • JDK:java最小的开发环境,JRE+Java编译、运行等命令工具
  • 变量:变量在使用之前必须声明并且初始化,基本类型变量在声明的时候,java就给了默认值(成员变量有默认值,局部变量没有默认值)
  • 命名:字母、数字、下划线 和$符号,不能以数字开头
  • 类命名:第一个字母全都大写方法命名;驼峰法,第二个字母开始,首字母大写
  • 八种基本类型
    • byte ........1个字节.........8位......-128~127
    • short........2个字节
    • int............4个字节......................-214783678~2147483647,是一个圈,溢出会循环走,不是错,需避免
    • long.........8个字节..............L
    • float.........4个字节..............F
    • double.....8个字节......................小数不加F默认为double类型,float和double类型有计算舍入误差,精度不够
      • float f =1.1 ;//错误  1.1是double类型

    • char.........2个字节......................0~65535
    • boolean...1个字节......................true/false
  • 整数直接量默认都为int类型。
  • char类型:2个字节表示一个字符,是Unicode编码(万国码)的一种表现形式,本质上是码int;
  • 码int('a'--97,'A'--65,‘0’--48;
  • 字符型直接量必须放到单引号中,有且仅有一个,特殊符号需要反义;
  •  eg:’ \’ ‘  ,‘ \ \ ’  输出  '   ,和 \ , 反义是用反斜杠
    • eg:char a = 'a';----------a;
    • char a = 97;---------a;
    • int a = 97;------------97;
    • int a = 'a';------------97;
    • char a = ‘0’;---------0;
    • char a = '女';----------女;
    • char a = '3';------------3;
    • int a = '0';---------48;//0的unicode编码是48
    • 看是什么类型,就是什么值
  • 类型间的转换:从小到大--------byte→short(char)→int→long→float→double
    • 隐式类型转换是由按优先关系从低到高的顺序
    • 自动类型转换:小转大
    • 强制类型转换:大转小。强转可能溢出,丢失精度
    • 规则:整数直接量可以直接赋值给byte、short、char(不超范围就可以)
    • 注意:byte、short、char参与运算时,java会自动转成int类型,在计算 eg:‘2’+‘2’=100;2+‘2’=52;
    • eg:byte3 = byte2+byte1;// 错误示例,需要强转,计算自动转int,需要强转为byte
  • 面试题:注意:final所修饰的变量不可改变,编译器会把final修饰的变量用它的字面量替换
  • 被final修饰的变量为常量
    • (多选题)byte b1=1,b2=2,b3,b6,b8;
    • final byte b4=4,b5=6,b7;
    • b3=(b1+b2); /*语句1*/
    • b6=b4+b5; /*语句2*/
    • b8=(b1+b4); /*语句3*/
    • b7=(b2+b5); /*语句4*/
    • System.out.println(b3+b6);
    • 下列代码片段中,存在编辑错误的语句是()
    • 【正确答案】B,C,D

    • 【答案解析】语句1错误:b3=(b1+b2);自动转为int,所以正确写法为b3=(byte)(b1+b2);或者将b3定义为int;

    • 语句2正确:b6=b4+b5;b4、b5为final类型,不会自动提升,所以和的类型视左边变量类型而定,即b6可以是任意数值类型;

    • 语句3错误:b8=(b1+b4);虽然b4不会自动提升,但b1仍会自动提升,所以结果需要强转,b8=(byte)(b1+b4);

    • 语句4错误:b7=(b2+b5); 同上。同时注意b7是final修饰,即只可赋值一次,便不可再改变。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值