[Java基础]基本概念(上)(标识符,关键字,基本数据类型)

您所在的位置:网站首页 double是基本数据类型吗 [Java基础]基本概念(上)(标识符,关键字,基本数据类型)

[Java基础]基本概念(上)(标识符,关键字,基本数据类型)

2023-05-19 04:30| 来源: 网络整理| 查看: 265

       hello 大家好,计算机语言各有不同,但本质上都是操作内存和计算。这章的内容是介绍Java中的基本概念展开,包括:标识符,关键字,Java基本数据类型,运算符,表达式和语句,分支,循环,方法,变量的作用域,递归调用。这些是Java运行的基础,就像我们人体内的筋骨,肌肉,血管一样。

 

1、标识符

       Java语言中,对于变量,常量,函数,语句块也有名字,我们统统称之为Java标识符,只要可以自己起名字的,都是标识符。

       作用:标识符用来给类、对象、方法、变量、接口和自定义数据类型命名。

        Java标识符由数字,字母和下划线(_),美元符号($)或人民币符号(¥)组成。在Java中是区分大小写的,而且还要求首位不能是数字。最重要的是,Java关键字不能当作Java标识符。

        命名约定:

        1)类和接口名。每个字的首字母大写,含有大小写。例如,MyClass,HelloWorld,Time等。

        2)方法名。首字符小写,其余的首字母大写,含大小写。尽量少用下划线。例如,myName,setTime等。这种命名方法叫做驼峰式命名。

        3)常量名。基本数据类型的常量名使用全部大写字母,字与字之间用下划线分隔。对象常量可大小混写。例如,SIZE_NAME。

        4)变量名。可大小写混写,首字符小写,字间分隔符用字的首字母大写。不用下划线,少用美元符号。给变量命名是尽量做到见名知义。

2、关键字

     Java关键字是电脑语言里事先定义的,有特别意义的标识符,用做专门用途,有时又叫保留字。Java的关键字对Java的编译器有特殊的意义,他们用来表示一种数据类型,或者表示程序的结构等,关键字不能用作变量名、方法名、类名、包名和参数。

      作用:关键字是编译器和程序员的一个约定,程序员利用关键字来告诉编译器其声明的变量类型、类、方法特征等信息。

        所有的关键字都是小写。

Java共定义了下面的关键字:

abstract

assert

boolean

break

byte

case

catch

char

class

const

continue

default

do

double

else

enum

extends

final

finally

float

for

goto

if

implements

import

instanceof

int

interface

long

native

new

package

private

protected

public

return

strictfp

short

static

super

switch

synchronized

this

throw

throws

transient

try

void

volatile

while

还有些关键字没有具体含义,比如goto,const,

3、常量

      使用 final关键字修饰,表示变量只能被赋值一次,一旦被赋值不能被改变,习惯上变量名使用大写。

       我们在项目中,会使用类常量,用static修饰,使一个常量可以被类中的多个方法使用。或者再使用public修饰此时,可以被工程的其他类使用。

4、变量

       变量是程序中基本的存储单元。其实变量代表内存中一小块区域,不同类型的变量在内存中占不同的长度,通过变量名来访问这块区域。所以变量在使用时,要先声明,再赋值,才能使用。

       格式:类型 变量名 = 值;

       从内存的角度分析:在程序执行时,将执行的代码加载到内存中,操作系统找到代码的main方法后开始执行。内存分为4块存取,存储变量和运行时产生的数据:

        code segment:存放代码;

        data segment:存放静态变量,字符串常量;

        stack:存放变量;

        heep:存放new出来的对象;

        放一张马老师总结的图:

 变量有哪些类型呢? 1)按被声明的位置划分:局部变量,成员变量;

局部变量:方法,或语句块中声明的变量;

成员变量:方法外部,类的内部声明的变量;

2)按所属数据类型分为:基本数据类型,引用数据类型;

基本数据类型:4类8种;

数据类型说明

逻辑型:

boolean

用于逻辑运算,程序判断。只能取值:true或false

文本型:

char

表示通常意义上的字符;

字符常量,是用单引号括起来的单个字符,如'a','字';

Java字符,可以使用转义字符'\',将其后面的字符转变为其他的含义。利如:

char c2='\n';

整数型:

byte,short,int,long

整数类型有固定的表数范围和字段长度,不受操作系统影响;

整数类型有3种表现形式:

十进制:1,2,3,300;

八进制:以0开头,05,034;

十六进制:以0X或0x开头,如,0x12;

默认int型,声明long类型,需要在数值后面加L或l;

不同类型有不同的表数范围

 

浮点数型:

double,float

有固定的表数范围和字段长度,不受操作系统系统影响。

浮点类型有2种表现形式:

十进制:1.23,2.56;

科学计数法:3.14e2,3.14E2,3.14E-2;

小数默认double类型,声明float类型,需要在数值后面加F或f;

 

基本类型之间的转换:

1.boolean不能转换为其他数据类型;

2.整数,字符型,浮点型间转换,需要遵循以下原则:

1)容量小的自动转成容量大的,是自动转换,程序员无感知;

2)容量大的转成容量小的,需要强转;可能损失精度或溢出,是强制转换,显式,需要声明类型。

3)多种类型数据混合计算时,系统首先将数据转成最大的类型,再进行计算。

数据类型,按容量大小排序:byte,short,char—>int—>long—>float—>double

byte,short,char之间不能互相转换,需要时,要先转成int,再运算。

强制转换中,哪些场景可能引起精度损失或溢出?

1)整数之间转换,超过目标类型表数范围,对目标表数范围取余;

2)浮点数转整数,会发生截尾,把小数点后面截掉。同样此时的整数超过目标类型表数范围,也会对目标表数范围取余。

// 1.自动转换和强转 int a = 129; int a1 = -200; // 自动转换:1.23默认double类型,a自动转为double类型参与运算; double c = a * 1.23; // 强转:double类型需要强转到float类型 float e = (float) (a * 1.23); // 2.溢出和精度损失 byte b = (byte) a; //byte能接收范围是: 负128 .正127 System.out.println("b = " + b);//b = -127 结果错误 int f = (int) 158.23; System.out.println("f = " + f); // f = 158 精度损失;直接舍弃小数,不是四舍五入 // 3.声明一个float类型的变量 float h = 1.23f; // 4.如果不加f,1.23是double类型,需要强转为float类型 float j = (float) 1.23; // 5.int 类型转换成long long i = 123; // 6.声明一个long类型的变量 long k = 123l;



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3