栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

【Java】基础知识、标识符、数据类型以及类型转换

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

【Java】基础知识、标识符、数据类型以及类型转换

目录

一、基础知识部分

1.Java程序的运行

2.负责Java程序解释执行的解释器——虚拟机JVM

3.同为面向对象的编程语言,Java和C++区别

二、标识符

1.标识符的定义规则

2.驼峰命名规则

小驼峰法

大驼峰法

三、数据类型及其转换

1.整数类型

系统对于整数类型的判定:

2.字符类型

3.浮点类型

4.布尔类型

*5.基本类型之间的转换原则


一、基础知识部分

1.Java程序的运行

Java语言编写程序(*.java   Java源文件)需要经过编译(compile)步骤,编译过后不直接产生特定平台的机器码而是产生一种字节码(*.class 源文件编译生成的字节码),再经Java解释器来解释执行(Runtime)为机器可执行的特定平台的机器码。Java程序的执行必须先编译后解释,所以说Java是一种半编译半解释的语言。

2.负责Java程序解释执行的解释器——虚拟机JVM

JVM是可运行Java字节码文件的虚拟计算机,JVM在Java程序执行过程中承上启下:向Java编译器提供相同的变成接口,向下对不同的操作系统(不同平台)提供接口互不相同。对于Java编译器来说,JVM屏蔽掉了操作系统(平台)的不同,编译出来的字节码只面向JVM虚拟机,虚拟机再根据操作系统的不同解释执行成特定平台的机器码,使一段相同的Java代码,可以在不同的操作系统上执行,JVM虚拟机是Java可以跨平台的关键所在。

3.同为面向对象的编程语言,Java和C++区别

①在Java中所有的代码都必须通过类来实现,无论这个程序有多么的简单。但是C++就可以脱离类来实现。Java是一种纯粹的面向对象的语言,而C++不是。

以一个最简单的HelloWorld程序为例:

#HelloWorld Java代码
public class HelloWorld
{
     public static void main(String[] args)
     {
        System.out.println("Hello World!");
     }
}
#HelloWorld C++代码
#include
using namespace std;

int main()
{
    cout << "Hello World!" << endl;
    return 0;
]

② Java源码会先经过一次编译,成为中间码也就是字节码,中间码再被虚拟机JVM内置的解释器解释成机器码。C++源码一次编译,直接在编译的过程中链接了,形成了机器码。

③ C++比Java执行速度快,这种速度上的差异存在但是我们不容易感受到。

④Java可以利用JVM跨平台,C++不可以。

⑤ C++中有指针,Java中没有,但是有引用。

⑥ C++支持多继承,Java中类都是单继承的(父类只有一个)。但是继承都有传递性,同时Java中的接口是多继承,类对接口的实现也是多实现。

⑦C++创建对象之后,需要再使用完将其调用delete方法将其销毁;Java有垃圾回收机制,用来监视new出来的所有对象,辨别不会再被引用的对象,然后释放内存空间。

⑧ C++运算符可以重载,但是Java中不可以。同时C++中支持强制自动转型,Java中不行,会出现ClassCastException(类型不匹配)。

二、标识符

1.标识符的定义规则

标识符:给变量、常量、方法、类、对象等命名的符号,也就是程序员起名字的地方都要用到标识符。

①只能由字母、数字、_或$组成。 

②必须以字母、_或$开头。

③大小写敏感的,无长度限制。

④不能是Java的关键字和保留字。

⑤不局限于英文字母,可以包含Unicode字符集支持的字符,比如说中文、韩文。

2.驼峰命名规则

小驼峰法

除第一个单词之外,其他单词首字母大写,变量一般使用小驼峰法标识,例如 int myMathGrade。

大驼峰法

每一个单词的首字母都采用大写字母,类名、函数名、属性、命名空间一般用大驼峰法标识,例如 public calss HelloWorld。

三、数据类型及其转换

和C/C++一样Java的变量名也是先声明后使用,变量只能接受和它类型匹配的值。

1.整数类型

二进制表示:0b或0B作为前缀。

八进制:0作为前缀。

十进制:无前缀。

十六进制:0x或者0X作为前缀。

系统对于整数类型的判定:

①一个整数默认类型是int型,无论这个数多大。

②在给byte或者short在各自对应的范围内赋值,系统会将这个整数当作byte或者short类型处理。

③如果超出int型的范围的整数,系统不会自动当作long类型来处理,需要加上后缀l或者L。

2.字符类型

用单引号表示。

3.浮点类型

Java中的实数类型 float(4字节,单精度)、double(8字节,双精度) 有固定的表数范围和字段长度,字段长度、表数范围都与机器无关。

Java浮点数遵循IEEE 754标准,用二进制数据的科学计数法表示浮点数。

float:第1位是符号位,接下来8位表示指数,再下面23位表示尾数;

double:第1位是符号位,接下来8位表示指数,再下面的52位表示尾数。、

浮点数无法精确表示部分实数,例如:0.9-0.3 = 0.60000000001。

系统默认浮点数位double类型

4.布尔类型

只能用true和false赋值,不能与其他类型进行转换。

*5.基本类型之间的转换原则

①系统默认整数类型是int型。

②系统默认浮点类型位double型。

 ③表示范围小的数据类型可以直接赋值给表示范围大的数据类型,可以自动进行类型转换。表数范围大的类型向下兼容表数范围小的类型。例如:int  n = 2;long  m = n; 

④表数范围大的类型转换成表数范围小的类型时,要加强制转换符,但可能降低精度或造成溢出。

例如:long n = 2;int  m = (int)n;float n = 2.5f; long  = n;(会存在精度损失)

⑤多种类型混合运算:

1)系统自动将所有类型转换成表数范围最大的类型,再进行计算;

2)byte、short、char互相之间不转换,用时全部自动转换成int类型。

 应用一下:long l = 30000000000L;如果不加L这里就会报错,因为这个数字已经超过了int的范围,需要让他自身变成long类型,在进行赋值。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/754499.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号