• Java的标识符、关键字、 常量、变量、数据类型、 数据类型转换、字符ASCII码表(基础语法的学习)


    一、Java的关键字和标识符

    关键字

    1、定义:

    在Java程序中,已经定义好的被预先使用的一些特殊的单词称为关键字,一共有50个关键字(48+2个保留字),关键字都是小写的英文单词

    2、关键字的分类

    2.1数据类型关键字

    byte: 字节类型

    short: 短整型

    int: 整型

    long: 长整型

    float: 单精度浮点型

    double: 双精度浮点型

    char:字符型

    boolean:布尔类型

    2.2流程控制关键字

    if: 条件分支判断

    else: 条件分支

    switch: 条件分支判断

    case: 条件分支其中一种情况

    default:默认

    break: 退出条件或循环

    continue:退出当前循环,继续下一次循环

    for: 循环

    do: 循环

    while: 循环

    return: 方法的返回

    2.3面向对象的关键字

    class: 定义类

    interface: 定义接口

    extends: 继承一个类

    implements:实现一个接口

    super: 超级(用于调用父类的成员)

    this: 当前类

    instanceof: 判断一个类的类型

    import: 导入一个类

    package: 定义一个类所在的包

    new: 创建对象

    2.4修饰符关键字

    abstract: 修饰符抽象类、抽象方法

    final: 修饰常量

    native: 本地的,也用于修饰变量

    private: 私有的

    protected: 受保护的

    public: 公共的

    static: 静态的

    synchronized:修饰方法或代码块,用于线程安全的

    transient: 瞬时状态

    volatile: 瞬时状态

    2.5异常关键字

    try: 试一试

    catch: 捕获异常

    finally: 最后执行的代码块(多出的一个)

    throws: 定义需要抛出的异常

    throw: 抛出异常

    2.6其他关键字

    assert: 测试中的断言

    strictfp: 其他

    enum: 定义枚举

    2.7保留字

    const、goto

     

    标识符

    1、定义

    在Java程序中,所有由程序员自己命名的元素统称为“标识符”

    2、标识符命名规则

    • 标识符由数字、字母、下划线和$组成

    • 标识符不能以数字开头

    • 标识符区分大小写

    • 标识符不能是关键字

      注意事项:

      定义类名的标识符:首字母必须大写,后面的单词的首字母大写,遵循大驼峰命名法(例如XxxXxx , UserInfo , Student)

      定义方法标识符:首字母尽量小写,后面的单词首字母大写,遵循小驼峰命名法(例如xxxXxx,getUserName())

      定义变量标识符:单词全部小写(username)

      定义包名:按模板分层级,使用公司的域名倒写,(例如com.softeeem.xxx、com.j2008.xxx)

      定义项目名;尽量使用英文(Java项目可以使用中文,JavaWeb项目一定使用英文)

      标识符是否符合标识符是否符合
      _$abc 符合 $username 符合
      Abc 符合 USERNAME 符合
      this 不符合 #stu 符合
      1username 不符合 NULL 符合
      null 不符合 n1 符合

      二、Java的常量和变量

      常量

      1、定义

      在Java中,固定不变的数据量称为常量,常量也有内存,常量存放在被称为“常量池”的内存中

      面试题:常量池的内存有哪些?(存放常量的内存有哪些)

      2、常量的分类

      常量类型含义示例
      整数常量 所有的整数 1,10,100,-5
      小数常量 所有的小数 1.5,-3.4,3.1415926535...
      字符常量 由单引号引起来,只能写1个字符,不能为“ ‘a’,‘2’,‘ ’
      字符串常量 由双引号引起来,可以写多个字符,可以为” “ ”hello“ ” “ " "
      布尔常量 用于判断条件的,只有2个常量 true、false
      空常量 用于表示空对象 null

      常量的修饰符:final

      final int n=100;    //定义常量的语法,n的值只能为100,不能再次改变,其中n就是常量

      变量

      1、定义

      在Java中用于保存一个数据的最小内存单元称为”变量“,变量中每次只能存放一个值,变量的数值是可以被改变的。

      2、变量语法:

      数据类型 变量名=初始值;

      或者 数据类型 变量名1,变量名2;

       

    //定义一个变量 变量名是n,数据类型是int,初始值为100
    int n=100;
    //将原有变量名n中的值变更为 110
    n=110;

    变量在赋值时,值必须满足与数据类型匹配,如果不匹配可能会出现异常或丢失精度

    3、变量的分类:

    全局变量(global variables)

    在Java的类结构中,定义在类中,方法外面的变量,它的作用范围:整个类的方法中

    public class Test1{
       //定义全局变量:定义在类里面,方法的外面
       int n=100;
       
       //定义方法
       public void m(){
           //输出一句话 ”“ 表示输出的内容 + 表示连接两个字符串
           System.out.println("n:"+n);
      }
       
       //定义方法
       public void s(){
           System.out.println("n:>>>"+n);
      }
    }

    局部变量(local varbable)

    一般声明在方法或代码块(条件语句块,循环语句块,静态语句块等)中,它的作用范围只能在声明的区域中使用

    //定义run方法
    public void run(){
       //局部变量 只能在声明所在的方法中使用
       int n=200;
       int i=1;
       //当类中存在局部变量和全局变量同名时,变量的使用遵循“就近原则”
       System.out.println("局部变量n:"+n);//200
    }

    //定义eat方法
    public void eat(){
       //System.out.println("i---"+i);
    }

    调用方法的语法

    public static void mmn(String[] args){
       //如何调用这个类的方法呢? 需要创建对象
       //创建对象的语法: 类名 对象名 = new 类名();
       //调用对象的方法语法: 对象名.方法名();
       Test obj = new Test1();
       obj.m();
       obj.s();
       obj.run();
       obj.eat();
    }

    三、Java的数据类型

    Java时一门强类型的编程语言,它不同于一些弱类型的语言(JavaScript,php,python),Java在声明变量时必须显示定义变量的数据类型,变量的类型一旦定义,则不能改变。Java中数据类型分为两大类

    1、基本数据类型:包括整数、浮点、字符、布尔类型等

    2、引用数据类型:包括类,数组,集合,接口等

    1、基本数据类型

    • 整数型,默认值为0

    数据类型关键字字节长度数值范围
    字节型 byte 1个字节=8位 -128~127
    短整型 short 2个字节=16位 -32768~32767
    整型 int(默认) 4个字节=32位 -2的31次方~2的31次方-1
    长整型 long 8个字节=64位 -2的63次方~2的63次方-1
    • 浮点型,默认值为0.0

    数据类型关键字字节长度范围
    单精度 float 4个字节 1.4013E-45~3.4028E+38
    双精度 double 8个字节 4.9E-324~1.7977E+308
    • 字符型 ,默认值‘ ’

    数据类型关键字字节长度范围
    字符型 char 2个字节 0~65535
    • 布尔类型 ,默认值 flase

    数据类型关键字字节长度范围
    布尔类型 boolean 1个字节 true、false

    注意:

        //对于两个double类型/float类型的数计算,由于计算机在计算式会缺失精度,计算的结果
    //不是预期的0.3,建议对于浮点数计算式,使用java.math.BigDecimal引用数据类型计算
    double d1=0.1;
    double d2=0.2;
    //结果 0.30000000000000004
    double d3 = d1 + d2;
       System.out.println(d3);

    float f1 =0.2f;
       float f2 = 0.3f;
       float f3 = f1-f2;
    // 结果 -0.1000000000001
       System.out.println(f3);

    对于字符型中 ”“表示转义字符,不会占用内存空间

    :换行

    :一个制表符tab

    :表示退格

    :表示enter

    2、引用数据类型

        在Java中除了8个基本数据类型意外的数据类型,都是引用数据类型,常用的引用数据类型包括 类、数组、接口、String等
    以类举例
    创建一个学生类,在一个类中会包含一些变量(全局变量),还包含一些方法

    定义一个学生类,这个类就是引用数据类型
    public class Student{
       //定义一个字符串变量
       String Stuname="张三";
       char sex='男';
       int age=20;
       
       //定义一个方法
       public void showInfo(){
           System.out.println(stuname);
           System.out.println(sex);
           System.out.println(age);
      }
    }

    如何使用这个学生类型(引用数据类型)

    public static void main(String[] args){
       //定义学生类型,引用数据类型需要创建 引用的对象
       //引用数据类型 变量名 = null
       //基本数据类型 变量名 = 初始值
       //对于类的创建
       //类名 对象名 = new 类名();
       Student stu = new Strudent();
       //对象名.方法名();
       stu.showInfo();
    }

    引用数据类型与剧本数据类型的区别?

    1、创建方式不同,基本数据类型直接通过定义变量的方式创建,而引用数据类型需要new一个对象

    2、在JVM的内存分配不同,基本数据类型的内存在栈内存中直接创建,而引用数据类型是在栈内存中定义引用的地址,实际的内存分布在对内存中

    3、引用数据类型 可以调用该它的方法,而基本数据类型没有方法

    引用数据类型的内存分布图:

    基本数据类型的内存分布图

    四、Java的数据类型的转换

    为什么需要进行数据类型转换

    在Java中数据进行计算时,必须要求计算的元素的数据类型一致,如果数据类型不一致需要进行转换

    数据类型转换分类

    1、自动类型转换

    转换规则:范围小的类型向范围大的1类型转化(从小到大转换)

    byte->short->int->float->double 其中boolean类型不参与转换

    char->int

    转换原理:类型向上提升

    2、强制类型转换

    • 整数之间的强转

    //int 类型
    int i=1;
    //byte 类型
    byte j=100;
    //由于i和j不同类型,不能直接计算,程序会自动将j的类型向上提升为int
    //所以i+j之后依然是int类型
    //此时int的内存大于byte的内存,会出现数据溢出的情况,JVM不允许
    //byte s=i+j; //等号两边类型不匹配
    int y=i+j;
    System.out.println(y);

    //如果一定要使用byte赋值,还有一种办法,就是将两边类型一致
    byte s=(byte)(i+j); //两个数在相加时,会先自动提升为int 然后再相加
    • 整数与小数之间的强转

    //整数与小数之间 也会丢失精度
    int n2=100;
    double n3=3.5;;
    int n4=(int)(n2+n3);
    //相加时先提升为double,然后再相加得到double
    //double是8个字节 不能放在4个字节的长度中
    //(这里好比double为一桶水,int为一杯水,相当于将一桶水往一杯水中放)
    //只能留住一杯水的内容,所以 这里如果强转成int则小数会丢失
    System.out.println(n4);
    • 小数与小数之间的强转

    //float与double类型
    flat f1=3.14f;
    double d2=3.5;
    double dd=f1+d2;
    float ff=(float)(f1+d2);
    • 丢失精度的情况

    //强转时会丢失精度
    byte n=100;
    int m=30;
    byte mm=(byte)(n+m);//因为byte最大值为12 再往后就是从最小值-128开始
    System.out.println(mm);
    //整数与小数之间也会丢失精度
    int n2=100;
    double n3=3.5;
    int n4=(int)(n2+n3);

    五、Java的字符ASCII码表

    字符int值
    a 97
    A 65
    0 48
    依次小写字母往后对应的数字。例如b为98,c为99...  
    A:65 B:66 C:67 0:48 1:49 2:50  

    字符与数值的转换

    //int与char类型的转换
    //每一个char类型都有一个字符编码 这个编码参照ASCII码表
    char c='a';
    //自动提升:因为char类型占2个字节,int占4个字节,char自动向上提升
    int n=c;
    System.out.println(n);
    //先相加 再转换
    char c2=(char)(n+2);//需要强转
    //字符+字符 直接相加
    char c3='a'+'b';
    System.out.println((int)c3);

     

  • 相关阅读:
    文件上传中的错误文件上传及其命名
    播放音乐
    文件的读取与写入ASP.NET中常用代码之四(转载)
    Spring中文在线文档
    Css 图形
    离职进行时
    又面试了
    在Spring应用中创建全局获取ApplicationContext对象
    开始研究WEKA,一个开源java的数据挖掘工具
    收到SZ科技的录取通知,纠结是不是要去
  • 原文地址:https://www.cnblogs.com/hss945/p/13734898.html
Copyright © 2020-2023  润新知