2020年12月4日-笔记

快捷操作

psvm
public static void main(String[] args) {
System.out.println("hello,world");
}
sout
System.out.println();

数据类型

强类型语言(要求变量使用严格符合规定,所有变量都必须先定义后使用)

  1. 数值类型
  2. boolean类型
  3. 引用类型(类,接口,数组)

八大基本类型

byte字节

char字符

short短整型

int整型

long长整型,需要加L

float浮点,需要加F

double双精度浮点

boolean布尔

整数拓展

二进制 0b 八进制 0 十进制 十六进制 0x

浮点数拓展

银行业务会使用BigDecimal数学工具类来进行,因为float类型长度有限,会有舍入误差,接近但不等于,最好完全避免浮点数的比较。

字符拓展

所有的字符本质还是数字,Unicode表。

代码

import java.math.BigDecimal;

public class HelloWorld {
    public static void main(String[] args) {
        System.out.println("hello,world");
        /*
        psvm
        public static void main(String[] args) {
            System.out.println("hello,world");
        }
        sout
        System.out.println();
        强类型语言(要求变量使用严格符合规定,所有变量都必须先定义后使用)
        基本类型
                - 数值类型
                - boolean类型
        引用类型
                - 类
                - 接口
                - 数组
         */
        //---------------------------------------------------------------------------------------------------
        //八大数据类型
        byte num2 = 10;//字节
        short num3 = 10;//短整型
        int num1 = 10;//整型
        long num4 = 10L;//长整型,long需要加L
        float num5 = 1.1F;//float需要加F
        double num6 = 3.14;
        char name1 = '国';
        String teacher = "gs";
        boolean flag = true;
        //---------------------------------------------------------------------------------------------------
        //整数拓展 进制表示 二进制0b 八进制0 十进制 十六进制 0x
        int i1 = 0b10;
        int i2 = 010;
        int i3 = 10;
        int i4 = 0x10;
        //---------------------------------------------------------------------------------------------------
        //浮点数拓展 银行业务怎么表示
        //BigDecimal 数学工具类
        //float 有限 离散 舍入误差 大约 接近但不等于
        //最好完全避免浮点数比较
        float f1 = 0.1f;
        double f2 = 1.0 / 10;
        System.out.println(f1 == f2);
        System.out.println(f1);
        System.out.println(f2);
        float f3 = 123123123f;
        float f4 = f3 + 1;
        System.out.println(f3 == f4);
        System.out.println(f3);
        System.out.println(f4);
        //---------------------------------------------------------------------------------------------------
        //字符拓展
        char c1 = 'a';
        char c2 = '中';
        System.out.println(c1);
        System.out.println(c2);
        System.out.println((int) c1);//强制转换
        System.out.println((int) c2);
        //所有的字符本质还是数字 Unicode表 \u0061
        //转义字符
        //\n 换行
    }
}

类型转换

不同类型先转换为统一类型在进行计算。

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

强制转换

高->低

自动转换

低->高

注意

  1. 不能对布尔值转换
  2. 不能转换不相干类型
  3. 高容量转换低容量使用强制转换
  4. 转换时可能存在内存溢出或精度问题

代码

public class Demo01 {
    public static void main(String[] args) {
        //强制转换(类型)变量名 高->低
        int i = 128;
        byte b = (byte) i;
        //内存溢出,byte最大127
        System.out.println(i);
        System.out.println(b);
        //自动转换 低->高
        int a = 128;
        double c = a;
        System.out.println((int) 1.1);
        char d = 'a';//char使用单引号,string使用双引号
        int e = d + 1;
        System.out.println(d);
        System.out.println((char) e);
        /*
         * 不能对布尔值转换
         * 不能把对象转换为不相干类型
         * 高容量转换低容量时使用强制转换
         * 转换的时候可能存在内存溢出或者精度问题
         * */
        //操作比较大的数时,注意溢出问题
        //jdk7新特性,数字之间可以下划线分隔
        int money = 10_0000_0000;
        int year = 20;
        long total = (long) money * year;
        System.out.println(total);
    }
}

变量

可以变化的量,声明空间(标签),但不确定里面存放的东西。

type varName ='';
//数据类型 变量名=值;

注意事项

  • 每个变量都有类型,可以是基本类型,也可以是引用类型
  • 是一个合法的标识符
  • 变量声明是一个完整短句,所以要以分号结尾

作用域

类变量

static关键词,不需要new实例化

实例变量

从属于对象,需要new实例化,如果不进行初始化,就是默认值。int:0 float:0.0

局部变量

从属于方法,只存在于方法中

常量

初始化后不能改变的值,不会变动的值。程序运行中不允许被改变,final关键字,常量名一般使用大写。

命名规则

变量名、方法名首字母小写和驼峰原则,类名首字母大写和驼峰原则,包名小写,常量名大写下划线分隔XX_XX。

运算

计算中已最高类型为准。

关系运算符返回布尔。

一元运算符

--自减

++自加

二元运算符

+

-

三元运算符

?:

posted @ 2020-12-04 18:02  丶ezio丶  阅读(65)  评论(0)    收藏  举报