基本语法学习笔记-20200806

Java基础语法

注释、标识符、关键字

注释

  1. 项目结构复杂,需要用到注释

  2. 注释不执行,写给写代码的人看

  3. 保持写注释的好习惯

  4. 平时写代码,注释毕竟要规范

  5. 注释的种类:

    • 单行注释

    • 多行注释

    • 文档注释

标识符

关键字:04

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

注意点:

  • 所有标识符都因该以字母(A-Z或者a-z),美元符($)、下划线(_)开始

  • 首字符之后可以是字母、美元符、下划线或者数字的任何字符

  • 不能使用关键字作为变量名或使用方法

  • 标识符大小写敏感的

  • 可以使用中文命名,但不建议使用

数据类型

强类型语言

变量的使用严格规定,所有变量必须先定义后才能使用

String:字符串

int:数字

Java 的数据类型两大类

  1. 基本类型:04

  2. 引用类型

    reference:引用

什么是字节

  • (bit):计算机内部最小的储存单位

  • 字节(byte):数据处理的基本单位,用B表示。

  • 1B=8bit

  • 字符:计算机使用的字母、数字、字和符号。

 

数据类型拓展

  1. 整数拓展:进制

    • 二进制:0b

    • 八进制:0

    • 十进制

    • 十六进制:0x (0~9 A~F)

  2. 浮点数拓展

    • 银行业务怎么表示:(float&double有问题不能用)BIgDecimal 数学工具类

    • float f=0.1f;
      double d=1.0/10;
      System.out.println(f==d);//比较f&d是否一样
    • float d1=65623456321f;
      float d2=d1+1;
      System.out.println(d1==d2);//比d1&d2是否一样
    • 原因:float 是有限的,离散的,有一个舍入误差,大约,接近但不等于。

    • 最好完全使用浮点数进行比较。

3.字符拓展

  • char c1='a';
    char c2='中';
  • 强制转换:

    char c1='a';
    char c2='中';
    System.out.println(c1);
    System.out.println((int)c1);//强制将字符转换成数字
    System.out.println(c2);
    System.out.println((int)c2);//强制将字符转换成数字
  • 所有的字符本质还是数字

  • 编码 Unicode 表 占2字节 总共有65536(2的16次方)(Excel也是65536)

    例如:a=97 A=65

  • 范围:U0000 UFFFF

    char c3='\u0061';
    System.out.println(c3);
  • 转义字符

    • \t:制表符 \n:换行 很多,需要自学

     

  1. 布尔值扩展

    boolean flag = true;
    if(flag==true);//新手这样写
    if(flag);//老手这样写,两个意思一样。

     

类型转换

Java是强类型语言,所以进行有些运算需要类型转换

byte,short,char,int,long,float,double

低==================================高

public class Demo04 {
   public static void main(String[] args) {
       int i=128;
       byte b=(byte)i;//内存溢出情况,超出了byte的范围。
       System.out.println(i);
       System.out.println(b);
  }
}
  • 强制类型转换 需要(类型)变量名 高→低,类似于上面的程序

  • 自动转换 低到高。例如:

    public class Demo04 {
       public static void main(String[] args) {
           int i=128;
           double b=i;
           System.out.println(i);
           System.out.println(b);
      }
    }

    注意点

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

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

    3. 不能高容量转换到低容量的时候,强制转换;否则自动转换。

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

      public class Demo04 {
          public static void main(String[] args) {
             System.out.println((int)23.7);
              System.out.println((int)-45.89f);
          }
      }

5. char字符也可以自动转换,

public class Demo04 {
    public static void main(String[] args) {
        char c='a';
        int d=c+1;
       System.out.println(d);
        System.out.println((char)d);
    }
}
  1. 再次强调溢出的问题,

    public class Demo05 {
        public static void main(String[] args) {
            //操作比较大的数的时候,注意溢出问题
            //JDK7新特性,数字之间可以用_分割
            int money = 10_0000_0000;
            int years=20;
            int total=money*years;//int的范围是正负21亿,输出结果溢出
            long total2=money*years;//计算结果已经溢出,给total2转换为long也没用
            long total3=(long)money*years;//这才是正确的输出结果
            System.out.println(total);
            System.out.println(total2);
            System.out.println(total3);
    
        }
    }

     

变量、常量

运算符

 

posted @ 2020-08-06 23:36  欧荣辉  阅读(87)  评论(0)    收藏  举报