Java 标识符 命名规则 变量 数据类型

Java语法

关键字和保留字
关键字:被java语言赋予了特殊含义,用作专门的用途的字符串
所有关键字都是小写
*保留字:*现有的java版本尚未使用,但是以后版本可能作为关键字使用。(goto const)

标识符
标识符:java对各类变量、方法和类等要素命名时使用的字符序列成为标识符
凡是自己可以命名的地方都叫做标识符)
·由16个英文字母大小写,0-9,或者_和¥组成
·数字不可以用来开头
·不可以使用关键字和保留字,但可以包含关键字和保留字
·Java中严格区分大小写,长度度无限制
标识符不能包含空格

Java命名规则
包名:多单词组成所有字母都小写:xxxyyyzzz
类名、接口名:多单词组成时,多有单词的首字母大写:XxxYyyZzz
变量名、方法名:多单词组成时,第一个单词首字母小写,第二个单词开始每个单词首字母大写:zzzYyyZzz
常量名:所有字母都大写。多单词时每个单词都用下划线连接:zzz_yyy_zzz

变量
变量是程序中最基本的存储单元
包含变量类型、变量名、存储的值

变量的作用:
用于在内存中保存数据

使用变量注意:
Java中每个变量需要事先声明
使用变量名来访问这块区域的数据
变量的作用域:其定义所在的一对{}中
变量只有在起作用域才有效
同一个作用域内,不能定义重名的变量

java的定义格式:
数据类型 变量名 =变量值;
数据类型:
基本数据类型:数值型:整数、浮点;字符型;布尔型
引用数据类型:类;接口;数组
字符串属于类

整型:byte(一个字节=8bit)
short两个字节;int四个字节;long八个字节

long型定义时,必须以“l”或者"L"结尾
(输出结果时 l、L、不输出)
常用int

浮点型:Java的浮点型常量默认为double,声明float型变量,必须后加“f”或者“F”
单精度float四个字节但是表述的范围比long还要大
双精度double八个字节
常用double

字符型:一个字符相当于两个字节
定义char变量,通常使用一对‘ ’,单引号中只能输入一个字符
表示方法:1、声明一个字符
2、转义字符
3、直接使用Unicode值表示字符型常量(不常用)
Unicode是一种字符集(万国码),可以在网上查表

布尔型:boolean
只能取两个值之一:true、false
常在条件判断、循环结构中使用

基本数据类型之间的运算规则
(不包含布尔型)
1、自动类型提升:
当容量小的数据类型的变量与容量大的数据类型的变量做运算时,结果自动提升为容量大的数据类型。
此时的容量的大小是指表示数的范围你的大和小。比如float的容量要大于long的容量

class VariableTest{
    public static void main(String[] args){
        byte b1=2;
        int i1=129;
        //编译不通过;
        //byte b2=b1+i1; 
        int i2=b1+i1;
        long l1=b1+i1;
        System.out.printlnn(i2);
        
        folat f=b1+i1;
        System.out.println(f);
        }
    }

byte short char 相加都会转换成int
下面是测试

class VariableTest{
    public static void main(String[] args){
    char c1='a';//97
    int i3=10;
    int i4=c1+i3;
    Systrem.out.println(i4);

    short s2=10;
    //char c2=c1+s2;//编译不通过

    byte b2=10;
    //char c3=c1+b2;//编译不通过

综上所述:
byte、char、short -->short–>int–>long–>float–>double

              ***2、强制类型转换***

强制类型转换:自动类型提升运算的逆运算
需要使用强转符: ( )
注意点:强制类型转换可能导致精度损失

class VariableTest{
    public static void main(string[] args){
        double d1=12.9;
        //精度损失举例1;
        int i1=(int)di;//截断操作
        System.out.println(i1);
    
        //没有精度损失
        long l1=123;
        short s2=(short)l1;

        //精度损失2
        int i2=128;
        byte b=(byte)i2;
        System.out.println(b);//输出-128
上一篇:python特征生成中字符类型有哪些?


下一篇:刷一下leetcode算法题,寻找两个正序数组的中位数