Java笔记2(关键字,数据类型,类型转换,变量)

Java基础

注释、标识符、关键字

注释

注释不会执行,用来解释代码;书写注释是非常好的习惯

  1. 单行注释:用‘//注释'来编写

  2. 多行注释:用'/* 注释*/'来编写,可以注释一段文字

  3. 文档注释

标识符和关键字

  • Java所有的组成部分都需要名字。类名、变量名以及方法名都被成为标识符。

  • 标识符注意点

    1. 所有的标识符都应该以字母,美元符或者下划线开始

    2. 首字母之后可以是字母,美元符,下划线以及数字的任何字符组合

    3. 不能使用关键字作为变量名或者方法名

    4. 标识符是大小写敏感

    5. 可以使用中文,但是不建议使用,要使用英文来命名

数据类型

  1. 语言类型:

    • 强类型语言:要求变量的使用要严格符合规定,所有变量都必须先定义后才能使用。(好处:安全性高;坏处:处理速度慢)

    • 弱类型语言:要求变量的使用不必严格符合规定。

  2. Java的数据类型:

    • 基本类型

      • 布尔类型

        boolean:只有true和false两个取值。

         

      • 字符

        char:16位,存储Unicode码,用单引号赋值。

         

      • 小数(浮点数)

        float:32位,数据范围在3.4e-45~1.4e38,直接赋值时必须在数字后加上f或F。

        double:64位,数据范围在4.9e-324~1.8e308,赋值时可以加d或D也可以不加。

         

      • 整数

        byte:8位,最大存储数据量是255,存放的数据范围是-128~127之间。

        short:16位,最大数据存储量是65536,数据范围是-32768~32767之间。

        int:32位,最大数据存储容量是2的32次方减1,数据范围是负的2的31次方到正的2的31次方减1。

        long:64位,最大数据存储容量是2的64次方减1,数据范围为负的2的63次方到正的
    • 引用类型

      • 接口

      • 数组

数据类型拓展及面试题

  1. 整数拓展:进制分为二进制0b、十进制、八进制0、十六进制0x

    public class demo01 {
      public static void main(String[] args) {
          String teacher = "guojian";
          int i=10;
          int i2=010;
          int i3=0x10;
          System.out.println(i);
          System.out.println(i2);
          System.out.println(i3);
      }
    }

     

     

  2. 浮点数拓展:浮点数的表现的字长是有限的,所以表现出来的数字都是离散的,因此存在舍入误差,只能是大约相同,即接近但是不等于;在比较时最好完全使用浮点数进行比较(BigDecimal,数学工具类)

  3. 字符拓展:所有的字符本质还是数字;Unicode编码表范围是0-65536,如97代表a

            char c1='a';
          char c2='中';
          System.out.println(c1);
          System.out.println(c2);
          System.out.println((int)c1);
          System.out.println((int)c2);

     

     

  4. 关于Java中的对象比较要从对象的内存来进行分析

类型转换

  • 由于Java是强类型语言,所以要进行有些运算的时候,需要用到类型转换;

  • 运算中,不同类型的数据先转化为同一类型,然后进行运算。

    由低到高:
    byte,short,char——>int——>long——>float——>double
  • 强制类型转换:(类型)变量名 由高到低

  • 自动类型转换:由低到高

  • 注意点:

    1. 不能对布尔值进行转换

    2. 不能把对象类型转换为不相干的类型

    3. 在把高容量转换到低容量的时候,需要强制转换

    4. 转换的时候可能存在内存溢出,或者精度的问题

public class demo03 {
   public static void main(String[] args) {
       int money=10_0000_0000;//jdk新特性,数字之间可以用下划线分割
       int years=20;
       int total=money*years;//出现负数是因为计算的时候发生了溢出
       long total1=money*years;//仍然是负数,是因为这两个数的类型是int,转换之前已经存在问题
       long total2=((long)money)*years;//先把一个数转换成long
       System.out.println(total);
       System.out.println(total1);
       System.out.println(total2);
  }
}

 

 

 

变量

  • 变量就是可以变换的量(内存位置是确定的,存储的东西是不确定的),Java是强类型的语言,每个变量都必须声明其类型.

  • Java变量;是程序中的最基本的存储单元,其要素包括变量名,变量类型和作用域.

    type varname [=value][{,varname[=value]}];
    //数据类型 变量名=值;可以用逗号隔开来声明多个同类型变量.
  • 注意事项:

    1. 每个变量都有类型,类型可以是基本类型,也可以是引用类型\

    2. 变量名必须是合法的标识符

    3. 变量声明是一条完整的语句,因此每一个声明都必须以分号结束

    4. 变量类型也可以是自己所写的类

 

变量作用域

  • 类变量:在类里面,声明时比实例变量多一个static,随类的出现和消失而出现和消失

  • 实例变量:从属于对象,可以不用初始化值,此时引用会变成默认值(0,0.0,false,除了基本类型其余的默认值都是null)

  • 局部变量:在方法里面,声明周期在大括号里,必须声明和初始化值

常量

  • 常量(Constant):初始化后不能再改值,是不会变动的值

  • 常量可以理解为一种特殊的变量,它的值被设定后,在程序运行的过程中不允许被改变.

    final 常量名=值;
    final double PI=3.14;
    static final double PI=3.14;
    final static double PI=3.14;//修饰符不存在先后顺序
  • 常量名一般使用大写字符

变量的命名规范

  • 所有的变量,方法,类名:见名知意

  • 类成员变量:首字母小写和驼峰原则:monthSalary

  • 局部变量:首字母小写和驼峰原则

  • 常量:大写字母和下划线:MAX VALUE

  • 类名:首字母大写和驼峰原则:Man, GoodMan

  • 方法名:首字母小写和驼峰原则:run0.runRun0

posted @ 2022-01-22 17:31  牛13plus  阅读(61)  评论(0)    收藏  举报