Java中的标识符、关键字、字面值、变量、八种基本数据类型与类型转换规则

目录

 

 1.Java中的标识符

2.Java中的关键字 

3.Java中的字面值 

4.Java语言中的变量

5.Java中的数据类型 

数据类型的分类 

基本数据类型

1.char类型

2.整数类型

3.浮点类型

4.布尔类型

6.基本数据类型之间的类型转换


 1.Java中的标识符

 定义

在Java源程序中可以自己命名的单词都是标识符

 作用

用来标识类名、对象名、变量名、方法名、类型名、数组名、文件名的有效字符序列

标识符的命名规则 

  • 只能以数字、字母、下划线、$符号组成,不能含有其他符号
  • 不能以数字来头
  • 严格区分大小写(例如wy与Wy是不同的标识符)
  • 不能使用关键字做标识符

标识符的命名规范 

  • 取名做到见名知意
  • 取名采用驼峰形式:1.类名、接口名:首字母大写,后面的每个单词首字母大写
                                     2. 变量名、方法名:首字母小写,后面每个单词首字母大写
                                     3.常量名:全部大写

2.Java中的关键字 

定义

Java语言中已经赋予了特定含义的【Java中所有关键字都是小写的】

 关键字

保留字

 const、goto,Java版本中尚未使用,但以后版本可能会作为关键字使用 

3.Java中的字面值 

定义

字面值就是数据【变量的值】,也是Java源程序的组成部分

int num=100; //100是一个整数字面值

 字面值的数据类型

  • 整数字面值    【例如10、100】
  • 浮点字面值    【 例如3.14      】
  • 布尔字面值    【 例如false     】
  • 字符字面值    【 例如'A'         】
  • 字符串字面值 【 例如"abcd"  】

4.Java语言中的变量

定义

程序运行期间可以被改变的量【变量本质上说是内存中的一片空间,这块空间有数据类型、变量名、字面值,并且可以随时改变】

变量的使用 

  • 变量声明:数据类型 变量名 
  • 变量的赋值:变量名 = 数据
//先声明后赋值
int num;
num=3.14;
//声明同时赋值
int num=3.14;

以上两个效果是一样的

变量的分类

  • 类体中定义的变量为“成员变量”
  •                       -实例变量(修饰符没有static)
  •                       -静态变量(修饰符有static)
  • 方法体中定义的变量为局部变量
public class Hello{
  //这里面定义的变量为成员变量
  public static void main(String[] args){
  //这里面定义的变量为局部变量  
  }
}

变量的作用域 

定义:变量的有效范围,在有效范围内可以被访问

规则:函数作用域可以访问{ }外面作用域的变量
           { }外面作用域不可以访问局部作用域的变量

Java源文件程序的执行顺序 

方法体中的Java语句遵循上下执行顺序,类体中的方法与变量声明不遵循上下执行顺序

注意

  • 变量必须先声明再赋值才可以访问
  • 一行上可以同时声明并赋值多个变量
  • 字面值的数据类型要和变量的数据类型一致
  • 同一作用域变量名不允许同名

5.Java中的数据类型 

指导JVM为变量分配多大的内存空间

数据类型的分类 

 这里给大家提一下"字符串"属于引用数据类型

字节(byte) 

  • 1 Byte = 8 bit       【1个字节等于8个比特位】1个比特位表示一个二进制位 1/0
  • 1 KB=1024 Byte
  • 1 MB=1024 KB
  • 1 GB=1024 MB
  • 1 TB=1024 GB

 八种原始数据类型的取值范围

类型                取值范围
   ----------------------------------------------------
   byte                 【   -128~127   】
   short                【 -32768~32767 】
   int                    【-2147483648~2147483647】
   long
   double
   float
   char                   【   0~65535    】
   boolean             【  true、false 】

八种原始数据类型的默认值

类型                        默认值
   ---------------------------------------------
   byte、short、int、long    【 0 】
   double、float                    【0.0】
   char                                   【\u0000】
   boolean                             【false】

注意:Java中局部变量定义未初始化直接访问会报错,但是成员变量未初始化(static)系统会赋予默认值,直接访问不会报错【八种数据类型的默认值向0看齐】

基本数据类型

1.char类型

存储字符的容器【占用两个字节,只能存储一个中文字符和一个英文字符

       注意:单引号' '只能定义一个字符,双引号" "是字符串,二者不相兼容 

     char a='ab' //报错:a是一个字符型,无法赋值ab两个值
	 char b="a"  //报错:b是一个字符型,后面不能用双引号【类型不兼容】

注释:这里我想给大家提的是Java与C语言的区别,Java中是无法用char类型赋值字符串的,字符串
要用String类型

转义字符 \

具有转义功能,在遇到特殊字符时会将其变为普通字符【转义字符不能单独输出

public class hello {
    public static void main(String[] args) {
        System.out.println("我爱你中国");   //输出:我爱你中国
        System.out.println("我爱你\n中国"); //输出:我爱你
                                           //      中国
       char a='\\';
       char b='\'';
       System.put.println(a);  //输出\
       System.put.println(b);  //输出'
 
    }
}

//\n为换行符(\t为制表符)

注释:char类型中引号是两两配对的,即前一个引号会立即和下一个引号配对

说到这里给大家提一下println与print的区别

public class hello {
    public static void main(String[] args) {
        System.out.println("你好");      //你好
        System.out.println("我来自中国");//我来自中国

        System.out.print("你好");       //你好
        System.out.print("我来自中国"); //你好我来自中国
    }
}
 
注释:能看到print输出的结果紧跟在它上一句输出的结果后面,而println不会,因为println输出
后会默认换行

总结:print输出结果后不会自动换行,println的输出完后默认执行换行

另外还有JDK中还自带一个非常实用的命令—native2ascii.exe命令,它可以将我们输入的文字转变为对应的unicode编码, 使用方法是在dos窗口切换到JDK目录下直接使用即可

2.整数类型

整数类型的分类 

  • byte
  • short
  • int(默认)
  • long

整数类型的表达方式 

//十进制
  int a=123;
  short b=123;
  byte c=123;
  long d=123;
//八进制
  int a=012;
  .....
//十六进制
  int a=0x12;
  .....
//二进制
  int a=0110;
  .....

 Java语言中整数型字面值被默认当作int类型来处理,取值时超过int范围要加L

int a=123;//此时123是一个int类型
 System.out.println(a);//我们正常输出a没有问题,因为123没有超出int范围

long b=2147483648;//此时的2147483648仍然会被当成int类型
 System.out.println(b);//我们输出b会报错超出类型范围,因为int的范围最大值为2147483647

注释:总的来说就是我们在Java中定义的所有整数默认都为int类型,变量类型与字面值类型没有关系,
      哪怕你定义的变量是long a=123,123默认为一个int类型而不是一个long类型


那么如何才能正确的给我们其他整数类型赋值呢?这个就涉及到Java中的类型转换了

如果想让整数型字面值当作long类型来处理,需要在后面加上L

long a=2147483649;//前面我们说了整数默认类型为int,显然2147483649超出了int类型的
                 //取值范围,所以这里会报错
long a=2147483649l;//在后面加上L就不会报错了,表示2147483649是一个long类型

整数类型的类型转换

  • 自动转换:小容量转大容量
  • 强制转换:大容量转小容量,需要加强制转换符
public class hello {
    public static void main(String[] args) {
  int a=123;
  long b=a;
  short c=(short)a;
解析:我们定义了一个int类型变量a并为其赋值123,根据上面刚讲的知识可知123是一个int类型,将他赋值
      给一个int类型这里没有类型转换所以没有任何问题,第二行代码定义了一个long类型变量b为其赋值 
      变量a,a是一个int类型,小容量转大容量这里会自动转换,第三行代码定义了一个short类型c为其赋 
      值变量a,因为a为int类型,c为short类型,大容量转小容量需要加上强转符

//Java中类型转换也有一些特殊规则,比如下面

  short d=127;
解析:将一个int类型127赋值给一个short类型明显是大容量转小容量,需要强制转换,但是这里不需要加
      强转符,是因为127没有超出short的范围。
    }
}


结论:再给变量赋值时候,给定的变量默认都为int类型【注意不要超过int范围,超过需要加L】,当赋
值给一个大于int的变量时候会自动转换,复制给一个需要强制转换,但是如果赋值的数没有超过那个变
量的范围也可以不加强转符,但是不包括引用赋值,比如int a=127;short b=a;这是会报错的

 3.浮点类型

浮点型的分类

  • float
  • double(默认)

 Java语言中浮点型字面值被默认当作double类型来处理

double a=3.0;//3.0是一个double类型,将其赋值给double a不会出错

如果想让浮点型字面值当作float类型来处理,需要在后面加上F

float a=3.0F;

4.布尔类型

布尔类型只有两个值false与true,布尔类型在实际开发中非常重要,经常用于逻辑判断和控制语句当中

6.基本数据类型之间的类型转换

规则:

  • 八种基本数据类型之间除了布尔型之外剩下的7种数据类型都可以相互转换
  • 小容量向大容量转换,称为自动转换
  • 大容量向小容量转换,称为强制转换,需要加强转符号
  • 任何浮点类型的容量都大于整数类型,char与short同级【容量从小到大排序:byte<short(char)<int<long<float<double】
  • 当整数字面值没有超过byte,char,short范围,可以直接赋值给byte,char,short
  • byte,char,short混合运算时,各自先转换成int类型再运算
  • 多种数据类型混合运算时,先转换成容量最大的那种类型再运算
  • 5
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值