Java学习笔记02: 基本语法数据类型

注释

Java注释的三种方式

  • 单行注释
  • 多行注释
  • 文档注释
 public class Hello {
    public static void main(String[]args){
        // 这是单行注释,可以注释一行文字
        
        /*
         这是多行注释,可以注释一段文字
         */

         /*
          *@Description Hello World
          *@Auter:wallenhuang
          */
        System.out.println("Hello World");
    }
 }

注释并不会被程序执行,注释是写给写代码的人看的;
书写注释是一个非常好的习惯,同时要注意注释的规范。

文档注释又是Javadoc

  格式:
   /*
    *@auther:xxx  作者名
    *@version:xxx 版本号
    *@since: xxx   使用JDK版本号
    *@param: xx 参数名
    *@return 返回值情况
    *@throws 异常抛出情况
   */
  

标识符

  • 关键字
    abstract、assert、boolean、break、byte、case、catch...
    Java所有的组成部分都需要名字、类名、变量名以及方法名都被称之为标识符
    所有的标识符都应该以字母美元符或者下划线开始;
    标识符是区分大小写的,可以使用中文符号作为标识符但是不推荐这样使用

强类型语言

要求变量的使用要严格符合规定,所有的变量都必须先定义后使用;

Java的数据类型分为两大类:

  • 基本类型(primitive type)
    • 数值类型(整数类型、浮点类型)、boolean类型
  • 引用类型(reference type)
    八种基本数据类型:
    short/   --2B
    int/    --4B
    byte/   --1B
    long /  --8B
    float/  --4B
    double/  --8B
    boolean/  --1B
    char/  --2B
    //需要注意的是long、float类型需要在赋值的时候结尾分别添加L、F

    进制转换:
    16进制转换位10进制:
    例如:0x10转换为10进制计算为, 1*16^1+0*16^0 = 16
    8进制转换为10进制:
    例如: 010转换为10进制计算为,1*8^1+0*8^0 = 8

float是有限的离散 有舍入的误差大约 接近但不等于

    float f =0.1f;
    double d = 1.0/10;
    System.out.println(f); //0.1
    System.out.println(d); //0.1
    System.out.println(f===d)  // false
    float  f1 = 213231321323132132313f;
    float  f2 = f1;
    System.out.println(f1===f2); //true

结论:最好避免使用浮点数进行比较

一个字节等于8位 1 B(byte,字节) = 8 bit(位)

强制类型转换:

grammer: (type)value

  • 由于Java是强类型语言,所以要进行有些运算的时、候,需要用到类型转换
低 -> 高
byte short  char  int long float double 

运算中,不同类型的数据先转化为同一种类型,然后开始进行计算;
类型转换应该遵循: 1.高精度转换为低精度的,低精度到高精度是自动转换。2.不能对boolean类型转换
转换的过程中可能会出现内存溢出,

可以把字符转换为数字

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

变量:
Java是一种强类型语言,每个变量都必须声明类型。Java变量是程序中最基本的存储单元,其要素包括变量名,变量类型作用域
注意事项:

  • 每个变量都有类型,类型可以是基本类型,也可以是引用类型
  • 变量名必须是合法的标识符
  • 变量声明是一条完整的语句,因此每一个声明都必须以分号结束

变量分为:实例变量、局部变量、类变量

    public class Hello{
        static  double salary = 25000; //类变量
        String name; //实例变量
        pubilic static void main(String[]args){
              int i =1;  //局部变量
              final double PI = 3.14;// 常量
      }
    }

对于局部变量很好理解,对于实例变量和局部变量来说,实例变量需要实例化(Hello hello =new Hello(); hello.name).而对于类变量来说可以直接使用。

转义字符:

      //     \t 制表符
     //     \n 换行
    // ...

字符串:

    String s1 = "Hello";
    String s2 = "Hello";
    System.out.println(s1===s2);  //true

    String s1 = new String("Hello");
    String s2 = new String("Hello");
    System.out.println(s1===s2)  // false

上述例子可以看出,其实对于基本数据类型来说存储的值,进行比较值相同结果就是相同的;而对于对象(new ())来说,比较的不仅仅是值还有内存地址,内存地址相同值相同才会相同;显然上述的比较两个例子的内存地址不相同;
要注意的是int类型是转化不了string类型的。

验证&&运算符的步骤:

int c = 5;
boolean d = (c<4)&&(c++<4)
System.out.println(c)

如果计算d出来的结果为5,则说明与运算符只计算了左边,没有计算右边。如果得出与运算符结果为6,说明已经计算到了右边。

包机制:

  • 为了更好的组织类,Java提供了包机制,用于区别类名的命名空间
语法格式:
    package pkg1[..pkg2[.pkg3]]

一般使用公司域名倒置来作为包名,为了更好的使用某一个包的成员,我们需要在Java程序中明确导入该包。使用import语句可以完成此功能

    import package[....]
posted @ 2020-04-29 00:20  feelonewong  阅读(123)  评论(0)    收藏  举报