- 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修饰,即只可赋值一次,便不可再改变。
java基础-1----环境、八种基本类型
于 2021-03-27 10:26:51 首次发布
本文详细介绍了Java的开发环境编译和运行过程,包括Java源文件的编译生成.class字节码文件,以及JVM如何加载并运行这些文件。此外,还探讨了Java的跨平台特性。内容涵盖了JVM、JRE和JDK的区别,并讲解了变量声明、命名规范以及八种基本类型的特性和转换规则。特别强调了类型间的隐式和强制转换,以及final关键字修饰变量的影响。在代码示例中,指出了涉及final变量的运算错误情况。
摘要由CSDN通过智能技术生成